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>
vscode json files allow comments, but check-json only allows regular
json. the check now ignores settings.json
moves inherit for outputs to the let, as it was attempting to output the
outputs variable.
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
migrates pre-commit to cachix's pre-commit-hooks
adds a ton of new hooks:
- check-added-large-files
- check-case-conflicts
- check-json
- check-merge-conflicts
- detect-private-keys
- fmt-check
- nil
- no-commit-to-branch
- statix (disabled for now)
migrates devshell to new devshells, set up modularly to have separate
functionality for sops, pre-commit-hooks, and our custom packages
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>
nom.patch gets pulled in to the modules unless filtering is set up, but
we're not building custom nixos-rebuild anymore (and haven't for a
while)
migrates to builtins.path over builtins.filterSource since the semantics
seem a bit nicer
Removes all the filtering on the directory as we likely don't need it
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>
artemision is currently having some really weird issues whenever its
using the local unbound DNS, so this is demoting the local DNS and
adding some public networks
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>