This core will be used as the new base for the reuse branch, which is
essentiall the same as the existing template branch, except that it is
rebased from this core, simplifying future rebasing.
* 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.
* Build a nixos configuration with all profiles available as part of ci
pipeline.
* Remove darwin packages as we do not have a ci agent for them.
* Build shell as part of ci
* 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.