* Move extern lists to their own folder
* Move unstable package and module imports to their own folder
* Create a genPkgs function to avoid using legacyPackages for the whole
package set
* Move hmActivationPackages to legacyPackages
* Import attrs of profiles automatically with `defaultImport`.
* Refactor profiles to ensure all are functions returning a module.
* Add a suites.nix with collections of profiles.
* Add suites as `specialArgs` to modules.
* Add suite import to NixOS host.
* fix nixos-option
* use flake-compat for all backward compat concerns
* rebuild devshell after any nix file changes
* reexport system pkgs as legacyPackages
* provide lib flake output
* provide flake lib to nixos configs via `lib.flk`
* clean up flake.nix
- add nixos-hardware flake.
- configuration in hosts/default.nix to be able to include hardware
specifics per host.
- add corresponding documentation in readme
In some occasions the module path was renamed.
To avoid conflicts, the old path must be disabled manually.
E.g.
```nix
{
unstableModules = [
"services/ttys/getty.nix"
];
addToDisabledModules = [
"services/ttys/agetty.nix"
];
}
```
home-manager's readme specifies that, at a bare minimum,
`useUserPackages` should be used in addition to `useGlobalPkgs`, when
using a flakes configuration.
Now you can add packages to the list in pkgs/override.nix and they will
be pulled in from nixpkgs master instead of the default NixOS flake
when installed.
The `specialArgs` defined in `hosts` has kept some modules from working
in external flakes. Instead, we simply enumerate packages in `hosts`
which should be pulled from `unstablePkgs`.
Keep the README.md lean and use DOC.md for more detailed explanations. While
revising user documentation, a default `nixos` user profile was created, which
serves as a goood base example.