Allows home-manager configs to be done on a server/non-server basis
Provides an example config by moving emacs to its own space (behind a
lib.optionals so only non-server machines accept it)
marks artemision and rhapsody-in-green as explicitly non-server machines
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
empty_pattern forces {...} to be converted to {_}, which breaks
situations where an import is done multiple ways with the same
attributes, and only some of the imported files use those
attributes (ex. systems/<host>/default.nix)
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
Additionally:
- fix a typo in lib/default with the type hinting
- fix a likely breaking change with lib.rad-dev.genNonX86, as it was
returning an attrset instead of a list of attrsets
- rename var to cond in lib.rad-dev.genWrapper, to make it clearer that
a condition is expected
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
migrates the bulk of constructSystem to lib/ and splits out the largest
chunks into individual functions (namely SOPS, home-manager, and user creation);
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>