Anthony Rodriguez
6ab835555c
As my NixOS configuration kept growing, I noticed that I don't need home-manager as much as I did before. A lot of what I need is just a way to map nix attrsets to the program's respective configuration format, which is something that I can now do myself, as my nix knowledge got more extensive. After all of this, I decided to completely get rid of home-manager, and switch to a simpler solution called hjem, which just lets me write files to my home directory that are automatically symlinked using `systemd-tmpfiles`. This allows me to simplify my configuration, remove the separation between NixOS and home-manager modules, and cut my eval times by quite a lot (which allows for faster `nixos-rebuild switch`!). |
||
---|---|---|
.. | ||
anastacia | ||
solaire | ||
vamos | ||
default.nix | ||
README.md |
💻 Hosts
This directory contains the entry points for different NixOS system configurations. Each host represents a complete system configuration, combining NixOS system settings and Home Manager configurations.
Components
default.nix
The default.nix
file in each host directory serves as the main entry point for the system configuration. It:
- Sets up NixOS configurations
- Sets up Home Manager configurations
- References host-specific module declarations
modules/
The modules/
directory contains host-specific declarations for custom modules that are defined in the flake's nixosModules
output. This so far only includes global theme / style related declarations.
Adding a New Host
- Create a new directory for the host
- Add a
hardware-configuration.nix
generated withnixos-generate-config
- Add a
default.nix
that imports the desired configurations - Create host-specific module declarations in the
modules/
subdirectory to customize the global modules as needed - Reference the new host in
hosts/default.nix