while this could be considered a change in digga's api, flake-utils-plus
wouldn't allow duplicate hostnames either, because its `hosts` option
does not separate nixos or darwin hosts -- both live at `hosts.<hostname>`.
most of the `globalDefaults` module's definitions are not present in
nix-darwin, so they need to move into nixos-specific modules.
at this time, darwin does not yet have its own host-type-specific
defaults module, but there are probably some defs worth adding to such a
module.
Type-check such configs as modules ("moduleType") rather than as
functions evaluating to attribute sets ("functionTo attrs"). This
ensures that they get invoked with all expected module arguments
("pkgs", "lib", etc.).
Update ./examples/hmOnly so that the testuser config references the pkgs
module arg, thus testing that the switch to moduleType works as
intended.
Closes#119
After nixpkgs pr #140284, attrset outputs of functions of type
`anything` are now processed as modules.
This is not the expected behavior for overlays, devshell modules, and
nixos tests. Use new option types instead of `anything`, fixing this
issue.
now that we have per-host custom tests, it does not make sense anymore
to have magic lumpsum tests.
users are encouraged to use the new digga.lib.allProfilesTest standard
test and add it to a host's test like so:
`nixos.<host>.tests = [ digga.lib.allPrefilesTest ];`
this allow users to specifiy per hosts tests in the host api container
under `.test`.
test must be an attrs or a function that is invoked as a package and
that returns an attrs which can be consumed by nixos' `mkTest`.
tests must have a name, so that they can be told apart in the
flake's check attribue.
`self` and `inputs` might have library functions or other features that
users want to use within the module system.
To avoid infinite recursion when used within the context of `imports`
statements, make them `sepcialArgs`.