diff options
| -rw-r--r-- | legacy.nix | 132 | ||||
| -rw-r--r-- | systems/au/spec.nix | 3 | ||||
| -rw-r--r-- | systems/bu/spec.nix | 3 | ||||
| -rw-r--r-- | systems/mu/spec.nix | 3 | ||||
| -rw-r--r-- | systems/nomic/spec.nix | 3 | ||||
| -rw-r--r-- | systems/oai/spec.nix | 3 | ||||
| -rw-r--r-- | systems/querel/spec.nix | 3 | ||||
| -rw-r--r-- | systems/ru/spec.nix | 3 | ||||
| -rw-r--r-- | systems/xu/spec.nix | 3 | ||||
| -rw-r--r-- | systems/zu/spec.nix | 3 |
10 files changed, 159 insertions, 0 deletions
diff --git a/legacy.nix b/legacy.nix new file mode 100644 index 0000000..270edff --- /dev/null +++ b/legacy.nix @@ -0,0 +1,132 @@ +{ inputs ? rec { + nixpkgs.lib = import <nixpkgs/lib> // { + nixosSystem = import <nixpkgs/nixos/lib/eval-config.nix>; + }; + + stockholm.overlays.default = import <stockholm/krebs/5pkgs>; + stockholm.inputs.nix-writers = <stockholm/submodules/nix-writers>; + stockholm.nixosModules = + let + inherit (nixpkgs) lib; + in builtins.listToAttrs + (map + # to preserve the file name for debugability, don't import here + (name: {name = lib.removeSuffix ".nix" name; value = (<stockholm/krebs/3modules> + "/${name}");}) + (lib.filter + (name: name != "default.nix" && !lib.hasPrefix "." name) + (lib.attrNames (builtins.readDir <stockholm/krebs/3modules>)))); + } +, extraModules ? [] +}: { + nixosConfigurations = + inputs.nixpkgs.lib.mapAttrs + (name: _: let + minimal.enable = + name == "oai"; + + system = (import ./systems/${name}/spec.nix).system; + in + inputs.nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = rec { + inherit inputs; + + lib = inputs.nixpkgs.lib // { + # for stockholm. + # without it krebs.hosts.*.nets.*.prefix breaks for ne + # due to patched types. + slib = mylib; + }; + + mylib = (import ./. { inherit lib; }).mylib // { + importSecret = + p: _: {}; + }; + }; + modules = [ + ({ lib, ... }: { + _file = "${toString ./legacy.nix} #1"; + imports = lib.optionals minimal.enable [ + (./systems + "/${name}/config.nix") + ]; + }) + ({ lib, mylib, ... }: { + _file = "${toString ./legacy.nix} #2"; + imports = lib.optionals (!minimal.enable) [ + (./systems + "/${name}/config.nix") + (let dirt = ./systems + "/${name}/dirt"; in + if builtins.pathExists dirt then dirt else {}) + { + _file = "${toString ./legacy.nix} #2.1"; + imports = [ + inputs.stockholm.nixosModules.build + inputs.stockholm.nixosModules.dns + inputs.stockholm.nixosModules.exim + inputs.stockholm.nixosModules.exim-retiolum + inputs.stockholm.nixosModules.exim-smarthost + inputs.stockholm.nixosModules.github + inputs.stockholm.nixosModules.hosts + inputs.stockholm.nixosModules.htgen + inputs.stockholm.nixosModules.kartei + inputs.stockholm.nixosModules.krebs + inputs.stockholm.nixosModules.nixpkgs + inputs.stockholm.nixosModules.on-failure + inputs.stockholm.nixosModules.iana-etc + inputs.stockholm.nixosModules.per-user + inputs.stockholm.nixosModules.permown + inputs.stockholm.nixosModules.repo-sync + inputs.stockholm.nixosModules.secret + inputs.stockholm.nixosModules.setuid + inputs.stockholm.nixosModules.shadow + inputs.stockholm.nixosModules.sitemap + inputs.stockholm.nixosModules.ssh + inputs.stockholm.nixosModules.systemd + inputs.stockholm.nixosModules.tinc + inputs.stockholm.nixosModules.users + inputs.stockholm.nixosModules.zones + ]; + nixpkgs.overlays = [ + (import (inputs.stockholm.inputs.nix-writers + "/pkgs")) + (self: super: { + stockholm.lib.types = lib.types // { + inherit (mylib.types) + hostname + secret-file + ; + }; + inherit (inputs.stockholm.overlays.default self super) + brain + cgit-clear-cache + git-hooks + htgen + htgen-imgur + htgen-paste + irc-announce + painload + repo-sync + ; + }) + ]; + } + ./configs + ./modules + { imports = extraModules; } + # This must come before <stockholm/krebs>. And before means after, `imports`-wise. + ({ inputs, mylib, ... }: { + nixpkgs.overlays = [ + (self: super: { + inherit mylib; + }) + + (import (inputs.stockholm.inputs.nix-writers + "/pkgs")) + + (import ./pkgs) + ]; + }) + ]; + }) + ]; + } + ) + (builtins.readDir ./systems); +} diff --git a/systems/au/spec.nix b/systems/au/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/au/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/bu/spec.nix b/systems/bu/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/bu/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/mu/spec.nix b/systems/mu/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/mu/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/nomic/spec.nix b/systems/nomic/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/nomic/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/oai/spec.nix b/systems/oai/spec.nix new file mode 100644 index 0000000..38187ab --- /dev/null +++ b/systems/oai/spec.nix @@ -0,0 +1,3 @@ +{ + system = "aarch64-linux"; +} diff --git a/systems/querel/spec.nix b/systems/querel/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/querel/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/ru/spec.nix b/systems/ru/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/ru/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/xu/spec.nix b/systems/xu/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/xu/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} diff --git a/systems/zu/spec.nix b/systems/zu/spec.nix new file mode 100644 index 0000000..efab059 --- /dev/null +++ b/systems/zu/spec.nix @@ -0,0 +1,3 @@ +{ + system = "x86_64-linux"; +} |
