my flkae <3
flake.nix automatically detects all directories under ./host and creates a NixOS system with the directory name as the host name for each. There are four special names under each host directory:
default.nixcan receiveinputs(or not) and is fed into custom [#mkHost](mkHostfunction) outlined belowconfiguration.nixis imported as a NixOS modulehardware-configuration.nixis imported as a NixOS modulehome.nixis imported as a Home Manager module
This is a custom function designed to set defaults and automatically assume modules and configuration for every NixOS system. It takes an attribute set of attribut sets; the names are hostnames, and the nested attributes are as follows:
modules ? [ ]: passed directly tonixosSystem; includes default module,configuration.nix,hardware-configuration.nix, and some Home Manager configurationhome-modules ? [ ]: imported as shared modules innixosSystem; includes default Home Manager module andhome.nixsystem ? "x86_64-linux": passed directly tonixosSystemspecialArgs ? { inherit inputs; }passed directly tonixosSystem