diff options
author | Karel Kočí <cynerd@email.cz> | 2024-03-15 09:13:05 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2024-03-15 16:57:21 +0100 |
commit | a48d057700c636666a5e835cbcb0b667848008c2 (patch) | |
tree | 6e6dc0b9fcf2e85415c2f66b2beb567403be73ca /nixos/configurations/default.nix | |
parent | 422ef34e58bc8a187594779d95ef8d74e8332a47 (diff) | |
download | nixos-personal-a48d057700c636666a5e835cbcb0b667848008c2.tar.gz nixos-personal-a48d057700c636666a5e835cbcb0b667848008c2.tar.bz2 nixos-personal-a48d057700c636666a5e835cbcb0b667848008c2.zip |
nixos: rework configurations management
Diffstat (limited to 'nixos/configurations/default.nix')
-rw-r--r-- | nixos/configurations/default.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/nixos/configurations/default.nix b/nixos/configurations/default.nix new file mode 100644 index 0000000..497c0fb --- /dev/null +++ b/nixos/configurations/default.nix @@ -0,0 +1,42 @@ +self: let + inherit (builtins) readDir; + inherit (self.inputs) nixpkgs nixturris; + inherit + (nixpkgs.lib) + filterAttrs + composeManyExtensions + hasSuffix + nameValuePair + nixosSystem + removeSuffix + mapAttrs + mapAttrs' + ; +in + mapAttrs' ( + fname: _: let + name = removeSuffix ".nix" fname; + in + nameValuePair name (nixosSystem { + modules = [ + (./. + ("/" + fname)) + {networking.hostName = name;} + self.nixosModules.default + ]; + specialArgs = { + inputModules = + mapAttrs (v: v.nixosModules) self.inputs + // { + vpsadminos = self.inputs.vpsadminos.nixosConfigurations.container; + }; + lib = nixpkgs.lib.extend (composeManyExtensions [ + nixturris.overlays.lib + self.overlays.lib + ]); + }; + }) + ) + (filterAttrs ( + n: v: + v == "regular" && n != "default.nix" && hasSuffix ".nix" n + ) (readDir ./.)) |