The declarative NixOS configuration of my personal home lab.
The configuration of the system and services are exposed as custom options from each module in config/system and config/service respectively.
These options abstract the implementation details of setting up each service; consequently, this system is intended to be configured by setting said options in configuration.nix only.
- Place the SSH keys for your GitHub in
~/.ssh - Clone this repository into
/etc/nixosas root user - On any configuration change, run
sudo nixos-rebuild switch --flake /etc/nixos
To create a virtual machine with this configuration, simply run:
nix runEnsure your GitHub SSH keys are in ~/.ssh, otherwise this command will fail.