flocon/hosts
Anthony Rodriguez 6ab835555c
treewide: remove home-manager (switch to hjem)
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`!).
2025-01-27 23:57:47 +01:00
..
anastacia treewide: huge refactor, move everything into modules 2025-01-15 23:00:13 +01:00
solaire treewide: huge refactor, move everything into modules 2025-01-15 23:00:13 +01:00
vamos treewide: remove home-manager (switch to hjem) 2025-01-27 23:57:47 +01:00
default.nix treewide: remove home-manager (switch to hjem) 2025-01-27 23:57:47 +01:00
README.md hosts: add README 2024-10-22 15:08:40 +02:00

💻 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

  1. Create a new directory for the host
  2. Add a hardware-configuration.nix generated with nixos-generate-config
  3. Add a default.nix that imports the desired configurations
  4. Create host-specific module declarations in the modules/ subdirectory to customize the global modules as needed
  5. Reference the new host in hosts/default.nix