42 lines
906 B
Nix
42 lines
906 B
Nix
{
|
|
inputs,
|
|
self,
|
|
...
|
|
}:
|
|
|
|
/*
|
|
|
|
nixfiles.lib.nixosSystem, like nixpkgs.lib.nixosSystem but
|
|
with nixfiles overlays and modules already populated
|
|
|
|
*/
|
|
{
|
|
system ? null,
|
|
pkgs ? null,
|
|
modules ? [],
|
|
...
|
|
}@args:
|
|
|
|
let
|
|
localNixpkgs = import ../flake/nixpkgs.nix inputs;
|
|
in inputs.nixpkgs.lib.nixosSystem ({
|
|
system = system;
|
|
pkgs = if pkgs != null then pkgs else localNixpkgs.${system};
|
|
modules = [
|
|
self.nixosModules.nixfilesInputs
|
|
self.nixosModules.clerie
|
|
self.nixosModules.profiles
|
|
({ config, lib, ... }: {
|
|
/*
|
|
Make the contents of the flake availiable to modules.
|
|
Useful for having the monitoring server scraping the
|
|
target config from all other servers automatically.
|
|
*/
|
|
_module.args = {
|
|
inputs = inputs;
|
|
_nixfiles = self;
|
|
};
|
|
})
|
|
] ++ modules;
|
|
} // builtins.removeAttrs args [ "system" "pkgs" "modules" ] )
|