mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-10 04:49:19 -08:00
74 lines
1.4 KiB
Nix
74 lines
1.4 KiB
Nix
{
|
|
inputs,
|
|
system ? builtins.currentSystem or "x86_64-linux",
|
|
...
|
|
}: let
|
|
patchedInputs = import ./patchedInputs.nix {inherit inputs system;};
|
|
pkgs = import ./overlays {
|
|
inherit system;
|
|
inputs = patchedInputs;
|
|
};
|
|
inherit (pkgs) lib;
|
|
tree = import ./tree.nix {
|
|
inherit lib;
|
|
inputs = patchedInputs;
|
|
};
|
|
root = ./.; # Required for modules/meta/imports.nix to find hosts
|
|
nixfiles = tree.impure;
|
|
|
|
eval = let
|
|
nixosNodes = [
|
|
{
|
|
network.nodes.tewi = {
|
|
imports = [
|
|
./tewi/nixos.nix
|
|
nixfiles.nixos.base
|
|
];
|
|
networking = {
|
|
hostName = "tewi";
|
|
};
|
|
};
|
|
network.nodes.mew = {
|
|
imports = [
|
|
./mew/nixos.nix
|
|
nixfiles.nixos.base
|
|
];
|
|
};
|
|
network.nodes.reisen-ct = {
|
|
imports = [
|
|
./ct/nixos.nix
|
|
nixfiles.nixos.base
|
|
];
|
|
};
|
|
}
|
|
];
|
|
in
|
|
lib.evalModules {
|
|
modules =
|
|
[
|
|
nixfiles.modules.meta
|
|
{
|
|
_module.args.pkgs = lib.mkDefault pkgs;
|
|
}
|
|
]
|
|
++ nixosNodes;
|
|
|
|
specialArgs =
|
|
{
|
|
inherit root tree;
|
|
inputs = patchedInputs;
|
|
meta = self;
|
|
}
|
|
// nixfiles;
|
|
};
|
|
|
|
inherit (eval) config;
|
|
self =
|
|
config
|
|
// {
|
|
inherit pkgs lib tree;
|
|
inputs = patchedInputs;
|
|
}
|
|
// nixfiles;
|
|
in
|
|
self
|