From 9407534cd3f2818235c8296172df1575348e1304 Mon Sep 17 00:00:00 2001
From: Julien Malka <julien@malka.sh>
Date: Wed, 14 Aug 2024 13:31:35 +0200
Subject: [PATCH] chore: decomission luj lib

---
 default.nix       |   2 -
 lib/luj.nix       | 172 ----------------------------------------------
 lib/snowfield.nix | 117 +++++++++++++++++++++++++++++++
 3 files changed, 117 insertions(+), 174 deletions(-)
 delete mode 100644 lib/luj.nix
 create mode 100644 lib/snowfield.nix

diff --git a/default.nix b/default.nix
index bb3f44a..d55d620 100644
--- a/default.nix
+++ b/default.nix
@@ -82,8 +82,6 @@ let
       }) machines_plats
     );
 
-    inherit (lib.luj) machines;
-
     checks = {
       inherit packages;
       machines = lib.mapAttrs (_: v: v.config.system.build.toplevel) nixosConfigurations;
diff --git a/lib/luj.nix b/lib/luj.nix
deleted file mode 100644
index 3e471cc..0000000
--- a/lib/luj.nix
+++ /dev/null
@@ -1,172 +0,0 @@
-lib:
-with lib;
-let
-  modules = [
-    {
-      options.machines = mkOption {
-        description = "My machines";
-        type =
-          with types;
-          attrsOf (
-            submodule (
-              { name, ... }:
-              {
-                freeformType = attrs;
-                options = {
-                  hostname = mkOption {
-                    description = "The machine's hostname";
-                    type = str;
-                    default = name;
-                    readOnly = true;
-                  };
-                  sshPort = mkOption {
-                    description = "The port for the ssh server of the machine";
-                    type = int;
-                    default = 45;
-                  };
-                  sshUser = mkOption {
-                    description = "The user for ssh connection to the machine";
-                    default = "julien";
-                  };
-                };
-              }
-            )
-          );
-        default = { };
-      };
-
-      config = rec {
-        _module.freeformType = with types; attrs;
-
-        domain = "julienmalka.me";
-        internalDomain = "luj";
-        tld = "luj";
-
-        machines = {
-
-          doma-backups = {
-            inherit tld;
-            subdomains = [ "doma-backups.julienmalka.me" ];
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.0.250";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:6b86:c2c:2141:6702";
-            };
-          };
-
-          proxmox-nixos-infra = {
-            inherit tld;
-            subdomains = [ "proxmox-nixos-update-logs.saumon.network" ];
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.0.177";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:eb2:caa1::78";
-            };
-          };
-
-          doma-zulip = {
-            inherit tld;
-            subdomains = [ "zulip.julienmalka.me" ];
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.0.187";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:6830:ddff:fe52:a444";
-            };
-          };
-
-          pve1 = {
-            inherit tld;
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.1.1";
-              vpn = "100.100.45.3";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:d250:99ff:fefa:b62";
-              vpn = "fd7a:115c:a1e0::3";
-            };
-            sshPort = 22;
-            sshUser = "root";
-          };
-          pve2 = {
-            inherit tld;
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.1.2";
-              vpn = "100.100.45.15";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:aaa1:59ff:fec7:1d6";
-              vpn = "fd7a:115c:a1e0::f";
-            };
-            sshPort = 22;
-            sshUser = "root";
-          };
-          pve3 = {
-            inherit tld;
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.1.3";
-              vpn = "100.100.45.16";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:aaa1:59ff:fec1:aa10";
-              vpn = "fd7a:115c:a1e0::10";
-            };
-            sshPort = 22;
-            sshUser = "root";
-          };
-          pve4 = {
-            inherit tld;
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.1.4";
-              vpn = "100.100.45.17";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:d250:99ff:fefa:b76";
-              vpn = "fd7a:115c:a1e0::11";
-            };
-            sshPort = 22;
-            sshUser = "root";
-          };
-          saves-paris = {
-            inherit tld;
-            subdomains = [ "saves-paris.luj" ];
-            ipv4 = {
-              public = "82.67.34.230";
-              local = "192.168.4.5";
-              vpn = "100.100.45.4";
-            };
-            ipv6 = {
-              public = "2a01:e0a:de4:a0e1:3af3:abff:fe6a:1f54";
-              vpn = "fd7a:115c:a1e0::4";
-            };
-            sshPort = 22;
-            sshUser = "root";
-          };
-
-          saves-lyon = {
-            inherit tld;
-            subdomains = [ "saves-lyon.luj" ];
-            ipv4 = {
-              vpn = "100.100.45.20";
-            };
-            ipv6 = {
-              vpn = "fd7a:115c:a1e0::14";
-            };
-            sshPort = 22;
-            sshUser = "root";
-          };
-        };
-      };
-    }
-  ];
-in
-(evalModules { inherit modules; }).config
diff --git a/lib/snowfield.nix b/lib/snowfield.nix
new file mode 100644
index 0000000..7c72ed8
--- /dev/null
+++ b/lib/snowfield.nix
@@ -0,0 +1,117 @@
+{
+
+  machines = {
+
+    doma-backups = {
+      subdomains = [ "doma-backups.julienmalka.me" ];
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.0.250";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:6b86:c2c:2141:6702";
+      };
+    };
+
+    proxmox-nixos-infra = {
+      subdomains = [ "proxmox-nixos-update-logs.saumon.network" ];
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.0.177";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:eb2:caa1::78";
+      };
+    };
+
+    doma-zulip = {
+      subdomains = [ "zulip.julienmalka.me" ];
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.0.187";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:6830:ddff:fe52:a444";
+      };
+    };
+
+    pve1 = {
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.1.1";
+        vpn = "100.100.45.3";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:d250:99ff:fefa:b62";
+        vpn = "fd7a:115c:a1e0::3";
+      };
+      sshPort = 22;
+      sshUser = "root";
+    };
+    pve2 = {
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.1.2";
+        vpn = "100.100.45.15";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:aaa1:59ff:fec7:1d6";
+        vpn = "fd7a:115c:a1e0::f";
+      };
+      sshPort = 22;
+      sshUser = "root";
+    };
+    pve3 = {
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.1.3";
+        vpn = "100.100.45.16";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:aaa1:59ff:fec1:aa10";
+        vpn = "fd7a:115c:a1e0::10";
+      };
+      sshPort = 22;
+      sshUser = "root";
+    };
+    pve4 = {
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.1.4";
+        vpn = "100.100.45.17";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:d250:99ff:fefa:b76";
+        vpn = "fd7a:115c:a1e0::11";
+      };
+      sshPort = 22;
+      sshUser = "root";
+    };
+    saves-paris = {
+      subdomains = [ "saves-paris.luj" ];
+      ipv4 = {
+        public = "82.67.34.230";
+        local = "192.168.4.5";
+        vpn = "100.100.45.4";
+      };
+      ipv6 = {
+        public = "2a01:e0a:de4:a0e1:3af3:abff:fe6a:1f54";
+        vpn = "fd7a:115c:a1e0::4";
+      };
+      sshPort = 22;
+      sshUser = "root";
+    };
+
+    saves-lyon = {
+      subdomains = [ "saves-lyon.luj" ];
+      ipv4 = {
+        vpn = "100.100.45.20";
+      };
+      ipv6 = {
+        vpn = "fd7a:115c:a1e0::14";
+      };
+      sshPort = 22;
+      sshUser = "root";
+    };
+  };
+}