This repo contains the NixOS and Home Manager configurations for my workstations and servers.
NixOS and Home Manager allow me to declaratively configure my machines — enabling reusable and reproducible configurations, and easy rollbacks.
The following instructions assume you're using NixOS. You can still use the home-manager configurations if you're using a different OS — instructions for this use case will be added below in the future.
- clone this repo
- symlink your
/etc/nixos/
folder to the cloned repo - run
sudo nixos-rebuild test --flake .#<hostname>
— where<hostname>
is the name of the host configuration you'd like to apply — from the root of the cloned repo to temporarily apply the configurations - once happy with the changes, use
sudo nixos-rebuild switch --flake .#<hostname>
to apply the configurations as a new system generation
Afterward, you won't need to include --flake .#<hostname>
in the nixos-rebuild
commands (unless you want to use a different <hostname>
).
See this repo's issues for plans on improvements to the configurations.
"no space left on device"
If you get a "no space left on device" error message indicating a full boot drive when attempting to run a nixos-rebuild switch
command, you may need to remove old/unused linux kernels from /boot/EFI/nixos
. Make sure to leave the kernel used by the current system generation intact.