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 ];`
prior to this commit the bootstrapping iso deactivated _all_ profiles
that were somehow contained in a suite.
that is an error, since it deactivates all profiles, even the most basic
and desired ones.
the impetus had been to prevent unwantes systemd services from launching
however, there seems no reliable approach to achieve that.
the now proposed alternative model is to add a bootsrap host akin to
the followint config:
```nix
# os/hosts/bootstrap.nix
{ profiles, ... }:
{
imports = [
profiles.networking
profiles.users.root
profiles.users.nixos
];
}
```
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.
portable home manager configs are derived from the default channel's
`pkgs`, however host speific home manager configs, obviously remain
derived from the respective host's `pkgs`, which can be based on a
different channel.
There was never an intention to setup the registry with aliases, which
would not avoid a network call ayhow if an input is not specified as an
registry-resolvable input.
At the same time, this clarification also eliniates an error that is
addressed upstream via https://github.com/NixOS/nixpkgs/pull/131814
---
work-around: for spurious reasons w.r.t. functor attrs in module system
Without any obvious reason, the module system appears to substitute
attrs that contain a `__functor` with the value of that functor.
for example: error: Package ‘zfs-kernel-2.0.5-5.13.4’ in /nix/store/jbch90yqx6gg1h3fq30jjj2b6h6jfjgs-source/pkgs/os-specific/linux/zfs/default.nix:175 is marked as broken, refusing to evaluate.
`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`.