- Mount partitions at
/mnt
nixos-generate-config --root /mnt
cp /mnt/etc/nixos/hardware-configuration.nix /etc/nixos/
nix-shell -p git
git clone <THIS_REPO_URL>
replace<THIS_REPO_URL>
with URL to this repositorycd
into repository directory cloned in previous stepsudo nixos-install --flake './#local-hardware-config' --impure
- reboot
https://search.nixos.org/packages?channel=unstable
https://search.nixos.org/options?channel=unstable
https://home-manager-options.extranix.com/?query=&release=master
https://nixpk.gs/pr-tracker.html
Nix command and flakes support has to be enabled.
mkdir -p ~/.config/nix
echo 'experimental-features = nix-command flakes' >> ~/.config/nix/nix.conf
Nix home-manager config provides cli part of config only. As gui has host system dependencies and workarounds. For GUI configuration use stow-able dotfiles.
nix run home-manager/master -- switch --flake .
In dotfiles
directory run stow -t ~ -v *
which means: Stow to ~
verbose so that you can see what happens *
glob to everything in current directory
./dotfiles regular stow-able dot files
./home nix home-manager home configuration. It is split into two main files home-cli and home-gui. Which are responsible for command-line-interface and graphical user interface respectively.
By default home.nix should be used which imports both. If host systems has GUI dependencies, otherwise CLI only config should be used.
/hosts Contains host specific configurations.
./lib Contains function used to define nixOS systems outside of main flake module.
./modules Modules which could be called workflows.
./pkgs Custom pkgs.