about summary refs log tree commit diff
path: root/lib/system.nix
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2023-03-29 20:54:19 +0900
committersefidel <contact@sefidel.net>2023-04-03 18:32:29 +0900
commitce06f43476863da90dc60dcee606d2b6c5a89a8e (patch)
tree5d14946330cb09ff0ebd97bee59407fccee4d860 /lib/system.nix
downloadinfra-ce06f43476863da90dc60dcee606d2b6c5a89a8e.tar.gz
infra-ce06f43476863da90dc60dcee606d2b6c5a89a8e.zip
project: initial commit
Diffstat (limited to 'lib/system.nix')
-rw-r--r--lib/system.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/system.nix b/lib/system.nix
new file mode 100644
index 0000000..8fc4dce
--- /dev/null
+++ b/lib/system.nix
@@ -0,0 +1,22 @@
+{ self, inputs, lib, pkgs, ... }:
+
+with lib;
+with lib.my;
+{
+  mkSystem = path: attrs @ { ... }: {
+    imports = [
+      {
+        networking.hostName = mkDefault
+          (removeSuffix ".nix" (baseNameOf path));
+        system.configurationRevision = self.rev or "dirty";
+      }
+      ../. # /default.nix
+      (import path)
+    ];
+  };
+
+  mapSystems = dir: attrs @ { system ? system, ... }:
+    mapModules dir
+      (hostPath: mkSystem hostPath attrs);
+}
+