-
Run update as root to allow nixos-rebuild to work:
sudo nix-channel --update
-
Update configuration in
/etc/nixos/configuration.nix
:wsl.defaultUser = "jsonnull"; nix.extraOptions = '' experimental-features = nix-command flakes '';
-
Clone the repo to
~/configuration
:git clone --recurse-submodules [email protected]:jsonnull/configuration.git ~/configuration
-
Depending on which system is being managed, install the configuration.
NixOS:
sudo mv /etc/nixos /etc/nixos.bak sudo ln -s /home/json/configuration/ /etc/nixos sudo nixos-rebuild switch --impure # Impure required for private configs for now
WSL:
nix run --impure ~/configuration/#homeConfigurations.wsl.activationPackage # Afterwards, update /etc/nixos/configuration.nix: # users.defaultUserShell = "/home/jsonnull/.nix-profile/bin/zsh";
MacBook:
nix run --impure ~/configuration/#homeConfigurations.macbook.activationPackage
-
Install neovim plugins:
vim +PackerSync
-
When making updates to configs, switch to the new system.
WSL:
home-manager switch --impure --flake ~/configuration#wsl
MacBook:
home-manager switch --impure --flake ~/configuration#macbook