aboutsummaryrefslogtreecommitdiff
path: root/nixos/configurations/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/configurations/default.nix')
-rw-r--r--nixos/configurations/default.nix42
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 ./.))