This repository hosts my dotfiles and configs for various applications on NixOS. Heavily WIP and continually evolving.
I will try to remember to give credits and links where possible but I'll probably forget.
TBD
This structure was heavily inspired, and was based on Misterio77's nix-starter-configs. This was extremely helpful in getting me to have a refactored and cleaner NixOS setup.
.
├── hm/
│ ├── common/
│ │ ├── packages/
│ │ │ └── # A set of common packages I share across my users where no configuration is required
│ │ └── modules/
│ │ └── # A set of common configurations for programs I share across my users
│ ├── chunix/
│ ├── home.nix
│ └── ...
│
├── overlays # a set of overlays
├── system/
│ ├── common/
│ │ └── # A set of common packages/configurations I share across my systems
│ ├── yoga # configuration for my Yoga C940
│ └── legion # Configuration for my Legion 5 Pro Gen 7 (WIP)
├── docs/
│ └── ... # website for dotfiles
├── Pictures/
│ └── ...
├── flake.nix
├── flake.lock
└── install.sh # OBSOLETE
This NixOS setup integrates home-manager into the system configuration so that all users can simply be updated with sudo nixos-rebuild switch .#<hostname>.
Whether you're booting from scratch or not, you need
git(or just have the repo locally). If you don't have git, you can temporarily invoke it withnix-shell -p git --run "git clone https://github.com/chpxu/dotfiles"and it will clone the repo into a folder calleddotfilesin your present working directory.Make any necessary changes to the configuration. For example:
- Secrets and networking. These will be invalid since they depend on SSH keys, so you will want to remove it and the configuration in
system/common/modules/networking.nix. - Hostnames and usernames.
- Installed programs and their settings.
- Secrets and networking. These will be invalid since they depend on SSH keys, so you will want to remove it and the configuration in
Make sure everything is saved. If you are intending to push to a git repo, make sure to
git add .first. Then you can runsudo nixos-rebuild switch .#<hostname>or some variation to build.
You will be successful if everything you wanted installed, installs and is configured appropriately. The home-manager configuration will also be successfully built if you see home-manager.<user>.service was successfully (re)started. You can check its status with systemctl status home-manager.<user>.service.
These dotfiles uses the Nord theme.
- The Nord colour palette.
- The GTK theme Nordic by @EliverLara. Follow the instructions on the page to use the GTK3/4 theme.
- I use the Fira Code Retina Nerd and Source Code Pro fonts. Both are TTFs.
- I use the Nordzy icon theme.
- I use Nordzy-cursors as my cursor theme.
These are the main applications and programs I use. Everything has been
installed from nixos-unstable by default unless mentioned otherwise. WIP.
- firefox-dev-edition
- gimp 3.x
- inkscape
- vscode-fhs
- discord-canary
- mpv
- imv
- rnote
- zathura
- libreoffice-fresh
- zotero
- logseq
- pdfarranger
- thunderbird
- bitwarden
- yazi
- steam
- Mullvad
Applications or programs which affect my workspace