diff --git a/configuration/proxmox-vm/default.nix b/configuration/proxmox-vm/default.nix
deleted file mode 100644
index 6195642..0000000
--- a/configuration/proxmox-vm/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ ... }:
-
-{
-  services.qemuGuest.enable = true;
-}
diff --git a/flake.lock b/flake.lock
index 4d2f255..e7345fc 100644
--- a/flake.lock
+++ b/flake.lock
@@ -201,11 +201,11 @@
         "systems": "systems_2"
       },
       "locked": {
-        "lastModified": 1726560853,
-        "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
+        "lastModified": 1731533236,
+        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
         "owner": "numtide",
         "repo": "flake-utils",
-        "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
+        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
         "type": "github"
       },
       "original": {
@@ -254,22 +254,25 @@
     },
     "hydra": {
       "inputs": {
-        "lix": "lix",
+        "lix": [
+          "lix"
+        ],
         "nix-eval-jobs": "nix-eval-jobs",
         "nixpkgs": [
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1733503045,
-        "narHash": "sha256-VoMam8Zzbk+X6dIYwH2f9NqItL6g9YDhQvGybzSl8xQ=",
-        "ref": "refs/heads/main",
-        "rev": "eccf01d4fef67f87b6383f96c73781bd08b686ac",
-        "revCount": 4230,
+        "lastModified": 1737885770,
+        "narHash": "sha256-neRDOoeJj4svdSAxXW8ZJOYWQzzOCRYppkaLaHPfs3A=",
+        "ref": "lix-2.92",
+        "rev": "7b3d065a13b21ec8109a250ac6148553bda52d5e",
+        "revCount": 4233,
         "type": "git",
         "url": "https://git.lix.systems/lix-project/hydra.git"
       },
       "original": {
+        "ref": "lix-2.92",
         "type": "git",
         "url": "https://git.lix.systems/lix-project/hydra.git"
       }
@@ -279,64 +282,52 @@
         "flake-compat": "flake-compat",
         "nix2container": "nix2container",
         "nixpkgs": [
-          "hydra",
           "nixpkgs"
         ],
         "nixpkgs-regression": "nixpkgs-regression",
         "pre-commit-hooks": "pre-commit-hooks"
       },
       "locked": {
-        "lastModified": 1732112222,
-        "narHash": "sha256-H7GN4++a4vE49SUNojZx+FSk4mmpb2ifJUtJMJHProI=",
-        "ref": "refs/heads/main",
-        "rev": "66f6dbda32959dd5cf3a9aaba15af72d037ab7ff",
-        "revCount": 16513,
+        "lastModified": 1741509550,
+        "narHash": "sha256-O7+c7MYOvKnGhE5qwRqV+q0NePEtiz6spM1Mfu/Heck=",
+        "ref": "release-2.92",
+        "rev": "0d1f794178d42bfa1ef40ecb80be514139779184",
+        "revCount": 16641,
         "type": "git",
-        "url": "https://git.lix.systems/lix-project/lix"
+        "url": "https://git.lix.systems/lix-project/lix.git"
       },
       "original": {
+        "ref": "release-2.92",
         "type": "git",
-        "url": "https://git.lix.systems/lix-project/lix"
+        "url": "https://git.lix.systems/lix-project/lix.git"
       }
     },
     "lix-module": {
       "inputs": {
         "flake-utils": "flake-utils_2",
         "flakey-profile": "flakey-profile",
-        "lix": "lix_2",
+        "lix": [
+          "lix"
+        ],
         "nixpkgs": [
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1732605668,
-        "narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=",
-        "ref": "stable",
-        "rev": "96824d606a6656650bbe436366bc89d5ee3a6573",
-        "revCount": 113,
+        "lastModified": 1741892773,
+        "narHash": "sha256-8oUT6D7VlsuLkms3zBsUaPBUoxucmFq62QdtyVpjq0Y=",
+        "ref": "release-2.92",
+        "rev": "ed7a2fa83145868ecb830d6b3c73ebfd81a9e911",
+        "revCount": 130,
         "type": "git",
         "url": "https://git.lix.systems/lix-project/nixos-module.git"
       },
       "original": {
-        "ref": "stable",
+        "ref": "release-2.92",
         "type": "git",
         "url": "https://git.lix.systems/lix-project/nixos-module.git"
       }
     },
-    "lix_2": {
-      "flake": false,
-      "locked": {
-        "lastModified": 1729298361,
-        "narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
-        "rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
-        "type": "tarball",
-        "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
-      },
-      "original": {
-        "type": "tarball",
-        "url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
-      }
-    },
     "mitel-ommclient2": {
       "inputs": {
         "nixpkgs": [
@@ -373,11 +364,11 @@
         "treefmt-nix": "treefmt-nix_2"
       },
       "locked": {
-        "lastModified": 1732351635,
-        "narHash": "sha256-H94CcQ3yamG5+RMxtxXllR02YIlxQ5WD/8PcolO9yEA=",
+        "lastModified": 1737237917,
+        "narHash": "sha256-xd3/Wr4aPc2MY61qyQ6qQ8AGoG3H/DDcJWziP4EhhXY=",
         "ref": "refs/heads/main",
-        "rev": "dfc286ca3dc49118c30d8d6205d6d6af76c62b7a",
-        "revCount": 617,
+        "rev": "6482bee40b89ab2c28d2e988848aa9ae0429d78c",
+        "revCount": 621,
         "type": "git",
         "url": "https://git.lix.systems/lix-project/nix-eval-jobs"
       },
@@ -542,11 +533,11 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1741851582,
-        "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
+        "lastModified": 1742069588,
+        "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
+        "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5",
         "type": "github"
       },
       "original": {
@@ -579,11 +570,11 @@
     "pre-commit-hooks": {
       "flake": false,
       "locked": {
-        "lastModified": 1726745158,
-        "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=",
+        "lastModified": 1733318908,
+        "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74",
+        "rev": "6f4e2a2112050951a314d2733a994fbab94864c6",
         "type": "github"
       },
       "original": {
@@ -621,6 +612,7 @@
         "fieldpoc": "fieldpoc",
         "harmonia": "harmonia",
         "hydra": "hydra",
+        "lix": "lix",
         "lix-module": "lix-module",
         "nixos-exporter": "nixos-exporter",
         "nixos-hardware": "nixos-hardware",
diff --git a/flake.nix b/flake.nix
index 0a2791a..9525d32 100644
--- a/flake.nix
+++ b/flake.nix
@@ -25,11 +25,17 @@
       inputs.nixpkgs.follows = "nixpkgs";
     };
     hydra = {
-      url = "git+https://git.lix.systems/lix-project/hydra.git";
+      url = "git+https://git.lix.systems/lix-project/hydra.git?ref=lix-2.92";
+      inputs.lix.follows = "lix";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
+    lix = {
+      url = "git+https://git.lix.systems/lix-project/lix.git?ref=release-2.92";
       inputs.nixpkgs.follows = "nixpkgs";
     };
     lix-module = {
-      url = "git+https://git.lix.systems/lix-project/nixos-module.git?ref=stable";
+      url = "git+https://git.lix.systems/lix-project/nixos-module.git?ref=release-2.92";
+      inputs.lix.follows = "lix";
       inputs.nixpkgs.follows = "nixpkgs";
     };
     fieldpoc.url = "git+https://git.clerie.de/clerie/fieldpoc.git";
diff --git a/hosts/backup-4/configuration.nix b/hosts/backup-4/configuration.nix
index 8f6dc42..2200526 100644
--- a/hosts/backup-4/configuration.nix
+++ b/hosts/backup-4/configuration.nix
@@ -4,19 +4,29 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
 
       ./backup.nix
       ./restic-server.nix
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
   networking.useDHCP = false;
-  networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffcb::c"; prefixLength = 64; } ];
-  networking.defaultGateway6 = { address = "2001:638:904:ffcb::1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "2001:638:904:ffcb::c/64"
+    ];
+    routes = [
+      { Gateway = "2001:638:904:ffcb::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   services.nginx.enable = true;
 
diff --git a/hosts/clerie-backup/configuration.nix b/hosts/clerie-backup/configuration.nix
index 9a18baa..bca9dd8 100644
--- a/hosts/clerie-backup/configuration.nix
+++ b/hosts/clerie-backup/configuration.nix
@@ -4,20 +4,28 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
 
       ./restic-server.nix
     ];
 
+  profiles.clerie.cybercluster-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
-  boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
-
   networking.useDHCP = false;
-  networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc1::6"; prefixLength = 64; } ];
-  networking.defaultGateway6 = { address = "2001:638:904:ffc1::1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "2001:638:904:ffc1::6/64"
+    ];
+    routes = [
+      { Gateway ="2001:638:904:ffc1::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   services.nginx.enable = true;
 
@@ -28,10 +36,6 @@
       authorizedKeys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiUWufpvAj/Rdxt/frAjs5Q4+/lzaN2jmf5+W3Gazjzw+CH+Agplux6op+LlzF7kAA32yP+lwQto8Rz92NzReDssXd+0JhgAAHrSMrPOPnQbZrierKOfVvDOteklEM4k5JXqZ+xHIMtNomuMV3wCFc18nvwc8t95pDBOI/HwzAwn2mGhVBod0CNXZs8EyMeQJNKLCRwpUrddOX6fz5x/fbPYO4KB3iPkC0X+e/d5SuBvrmwFdnpr2RkCboMPdd6i/0AsY4MLdMV54arS9Ed2jaFKqYCQR5wRdLxndn+aByyVQHQxVU0gVfO9+53NOgiVzhOFzXm6K2KcC/HZR5uj1r ceea@olbers.uberspace.de" ];
       path = "/mnt/clerie-backup/uberspace-ceea";
     };
-    uberspace-cleriewi = {
-      authorizedKeys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAeU+YezmGNNnntAkOL143NlkADi6ekEcaW9yf9yegdkDxwyIyxaWC89B110kRkNe+6KP+LDwrp9vnFJZjst8Gv+dMs0h9U0IdUafhO7TcbbkqynqmtzIwiSGsLby2K9XOYTMlAa2JOfeNScPWccZ8KgXsIBqRGjo3yQfCHXZu9U/8CGXvYPsTGY5QYNeAw5Uaikuf565GHy4ROx2BN7LGug9lK42Hfv8i1lhCLi7wkhQ0EPGBRPkscjz/0Kb2iABMzyUf6uMrDJX/usKrChxkLfidIM9C5YR1E+wXlmy9lijuNP85NpXUEyVTAp9/XLCp1vskfCjsBLO0l+40XNIt cleriewi@biela.uberspace.de" ];
-      path = "/mnt/clerie-backup/uberspace-cleriewi";
-    };
   };
 
   # fix borgbackup primary grouping
@@ -51,62 +55,6 @@
       compression = "auto,lzma";
       startAt = "*-*-* 04:07:00";
     };
-    backup-replication-palladium = {
-      paths = [
-        "/mnt/clerie-backup"
-      ];
-      doInit = true;
-      repo =  "borg@palladium.net.clerie.de:." ;
-      encryption = {
-        mode = "none";
-      };
-      environment = { BORG_RSH = "ssh -i /var/src/secrets/ssh/borg-backup-replication-palladium"; };
-      compression = "auto,lzma";
-      startAt = "*-*-* 06:23:00";
-    };
-    backup-replication-external-drive = {
-      paths = [
-        "/mnt/clerie-backup"
-      ];
-      doInit = true;
-      repo =  "borg@palladium.net.clerie.de:." ;
-      encryption = {
-        mode = "none";
-      };
-      environment = {
-        BORG_RSH = "ssh -i /var/src/secrets/ssh/borg-backup-replication-external-drive";
-        BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK = "yes";
-        BORG_RELOCATED_REPO_ACCESS_IS_OK = "yes";
-      };
-      compression = "auto,lzma";
-      startAt = "*-*-* 08:37:00";
-    };
-  };
-
-  users.users.backup-replication = {
-    isNormalUser = true;
-    group = "backup-replication";
-    openssh.authorizedKeys.keys = [
-      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC8kCLiDfVFKgoNvEoMb34jp2n1lQG+k7wigzc4qGmrROlWkJ46/Ym4UrSeQJAd6hwHTcKTZkeOrqDAjZZ+jlidpncJHT5VMW5Ah965pxbBq6Qh1Yz5tKj7nLAQ/+bwEH4qqBFNd796876n3pY/FqhwAHWONqWhLKzMXpFursMSITUPmRXcaPwJrgS9DIYspZ9bBhhRSdQ5N1SiGtaszOQwdevLnNYqdtFOBG4rt9SO6IBIHtaiTIHrrMGS2Lt3NMwkq+O+N+TGaKLjbwqtfUPfPOCmY0XH12OawjxHP9hZ+WH3dPtcu5p+VORciSybPvyh9qzXUrDeO4HDuii2GEFU8JFELYXdT/qBwdIMp82tkgww0zKbTJuc0y/9eR7LCXop4OALhR8+8xWDI9c1ccxu3T7S7zUI1OmTlR9i8rx85D4sz2dtp1jirDoW2KVuIdwe6G3NLfTL95FZRmveEQM3MO8MPpfzZ4EvaMbiQQd/c4VAmGovtSLQhySTpT6qSv0= root@backup-4"
-      #"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDRANmJ2LYUr0Mavz/JJ7j+7p1zkqvizf6ZLt5XOJ2fj0enDuK7Dc5fxiESLGYTsLRVWuY4hNXVIL7aeJUj1LPf6LEX87APP4hb95t+TFxcES87tFfnFO48eiBbSd25Av2jmHGb6/wY2viYBxfk/vrLjPR6RgICqFsWFcz20bsWmc48FdzXYJCGJfKjHiW+Ut95VL+M/AlGBQHo33FNDyPXV4zh+MeWVkOFicwfh0k+4NH7Psj5n93m9szAlz306t5YZ32HnhSlvObkMk1Ugy6AzPKXrgKBu11pmatf7sFRx1ikYGUiKiezGjatt/8lYZfE8rQKQjwH+6LPt3ZPv06ncfKpH2vbZfonM0KhSsm1OIhJTse+X7ZMxizO6QqYM+BRJJGMbhH1g+6kFRsdlwakHNPE9YvG4NxZ1NxWTUr6F0gPhUEy61LkTnznt3ct1hgQR02KDQ+9i8PvaYeIIzZzRKufv4tV7OZkDLbN97tvAMkgpLjF+8fCg3qjn2Lckzc= root@palladium"
-    ];
-  };
-
-  users.groups.backup-replication = {};
-
-  environment.systemPackages = with pkgs; [
-    bindfs
-  ];
-
-  fileSystems."/clerie-backup-replication" = {
-    device = "/mnt/clerie-backup";
-    fsType = "fuse.bindfs";
-    options = [
-      "ro"
-      "force-user=backup-replication"
-      "force-group=backup-replication"
-      "perms=0000:ug=rD"
-    ];
   };
 
   clerie.monitoring = {
diff --git a/hosts/dn42-il-gw1/configuration.nix b/hosts/dn42-il-gw1/configuration.nix
index 962dc65..47da03f 100644
--- a/hosts/dn42-il-gw1/configuration.nix
+++ b/hosts/dn42-il-gw1/configuration.nix
@@ -4,10 +4,11 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ../../configuration/dn42
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
@@ -22,7 +23,6 @@
 
   networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
   networking.defaultGateway6 = { address = "2001:638:904:ffc9::1"; interface = "ens20"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
 
   networking.wireguard.enable = true;
   networking.wireguard.interfaces = {
diff --git a/hosts/dn42-il-gw5/configuration.nix b/hosts/dn42-il-gw5/configuration.nix
index 1e38648..7bad687 100644
--- a/hosts/dn42-il-gw5/configuration.nix
+++ b/hosts/dn42-il-gw5/configuration.nix
@@ -4,10 +4,11 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ../../configuration/dn42
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
@@ -25,7 +26,6 @@
 
   networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
   networking.defaultGateway6 = { address = "2001:638:904:ffc9::1"; interface = "ens21"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
 
   petabyte.policyrouting = {
     enable = true;
diff --git a/hosts/dn42-il-gw6/configuration.nix b/hosts/dn42-il-gw6/configuration.nix
index 69acba4..1eb5193 100644
--- a/hosts/dn42-il-gw6/configuration.nix
+++ b/hosts/dn42-il-gw6/configuration.nix
@@ -4,10 +4,11 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ../../configuration/dn42
     ];
 
+  profiles.clerie.cybercluster-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
@@ -25,7 +26,6 @@
 
   networking.defaultGateway = { address = "192.168.10.1"; interface = "ens20"; };
   networking.defaultGateway6 = { address = "2001:638:904:ffc9::1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
 
   petabyte.policyrouting = {
     enable = true;
diff --git a/hosts/dn42-ildix-clerie/configuration.nix b/hosts/dn42-ildix-clerie/configuration.nix
index e8f4f36..ff718c0 100644
--- a/hosts/dn42-ildix-clerie/configuration.nix
+++ b/hosts/dn42-ildix-clerie/configuration.nix
@@ -4,9 +4,10 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
@@ -23,7 +24,6 @@
 
   networking.defaultGateway6 = { address = "2001:638:904:ffcb::1"; interface = "ens20"; };
   networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
 
   # Open Firewall for BGP
   networking.firewall.allowedTCPPorts = [ 179 ];
diff --git a/hosts/dn42-ildix-service/configuration.nix b/hosts/dn42-ildix-service/configuration.nix
index b9093de..344fef9 100644
--- a/hosts/dn42-ildix-service/configuration.nix
+++ b/hosts/dn42-ildix-service/configuration.nix
@@ -4,11 +4,13 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
+
       ./bird.nix
       ./fernglas.nix
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   # Use the GRUB 2 boot loader.
   boot.loader.grub.enable = true;
   # boot.loader.grub.efiSupport = true;
@@ -31,7 +33,6 @@
 
   networking.defaultGateway6 = { address = "2001:638:904:ffc9::1"; interface = "ens20"; };
   networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
 
   services.nginx.enable = true;
 
diff --git a/hosts/hydra-1/configuration.nix b/hosts/hydra-1/configuration.nix
index 89c7d50..9788887 100644
--- a/hosts/hydra-1/configuration.nix
+++ b/hosts/hydra-1/configuration.nix
@@ -4,7 +4,6 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ../../configuration/hydra-build-machine
 
       ./build-machines.nix
@@ -12,6 +11,8 @@
       ./nix-cache.nix
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
   
@@ -22,11 +23,28 @@
   ];
 
   networking.useDHCP = false;
-  networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffcb::a"; prefixLength = 64; } ];
-  networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.36"; prefixLength = 24; } ];
-  networking.defaultGateway6 = { address = "2001:638:904:ffcb::1"; interface = "ens18"; };
-  networking.defaultGateway = { address = "192.168.10.1"; interface = "ens19"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "2001:638:904:ffcb::a/64"
+    ];
+    routes = [
+      { Gateway = "2001:638:904:ffcb::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
+  systemd.network.networks."10-nat-netz-mercury" = {
+    matchConfig.Name = "ens19";
+    address = [
+      "192.168.10.36/24"
+    ];
+    routes = [
+      { Gateway = "192.168.10.1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   services.nginx.enable = true;
 
diff --git a/hosts/hydra-2/configuration.nix b/hosts/hydra-2/configuration.nix
index 88abe46..8b32cc2 100644
--- a/hosts/hydra-2/configuration.nix
+++ b/hosts/hydra-2/configuration.nix
@@ -4,10 +4,11 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ../../configuration/hydra-build-machine
     ];
 
+  profiles.clerie.cybercluster-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
@@ -18,11 +19,20 @@
   ];
 
   networking.useDHCP = false;
-  networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc1::100"; prefixLength = 64; } ];
-  networking.interfaces.ens18.ipv4.addresses = [ { address = "141.24.50.112"; prefixLength = 24; } ];
-  networking.defaultGateway6 = { address = "2001:638:904:ffc1::1"; interface = "ens18"; };
-  networking.defaultGateway = { address = "141.24.50.1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "2001:638:904:ffc1::100/64"
+      "141.24.50.112/24"
+    ];
+    routes = [
+      { Gateway = "2001:638:904:ffc1::1"; }
+      { Gateway = "141.24.50.1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   clerie.monitoring = {
     enable = true;
diff --git a/hosts/monitoring-3/configuration.nix b/hosts/monitoring-3/configuration.nix
index 9ee19c2..54ff328 100644
--- a/hosts/monitoring-3/configuration.nix
+++ b/hosts/monitoring-3/configuration.nix
@@ -4,7 +4,6 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ./alertmanager.nix
       ./berlinerbaeder-exporter.nix
       ./blackbox.nix
@@ -14,15 +13,34 @@
       ./uptimestatus.nix
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/sda";
 
   networking.useDHCP = false;
-  networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.32"; prefixLength = 24; } ];
-  networking.interfaces.ens19.ipv6.addresses = [ { address = "2001:638:904:ffca::7"; prefixLength = 64; } ];
-  networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
-  networking.defaultGateway6 = { address = "2001:638:904:ffca::1"; interface = "ens19"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens19";
+    address = [
+      "2001:638:904:ffca::7/64"
+    ];
+    routes = [
+      { Gateway = "2001:638:904:ffca::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
+  systemd.network.networks."10-nat-netz-mercury" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "192.168.10.32/24"
+    ];
+    routes = [
+      { Gateway = "192.168.10.1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   services.prometheus.exporters.node.enable = true;
 
diff --git a/hosts/nonat/configuration.nix b/hosts/nonat/configuration.nix
index 61f6c64..741055c 100644
--- a/hosts/nonat/configuration.nix
+++ b/hosts/nonat/configuration.nix
@@ -4,28 +4,36 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ../../configuration/router
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
   networking.useDHCP = false;
-  # Network
-  networking.interfaces.ens18.ipv4.addresses = [
-    { address = "141.24.46.169"; prefixLength = 24; }
-  ];
-  networking.interfaces.ens18.ipv6.addresses = [
-    { address = "2001:638:904:ffca::6"; prefixLength = 64; }
-  ];
-  networking.defaultGateway = { address = "141.24.46.1"; interface = "ens18"; };
-  networking.defaultGateway6 = { address = "2001:638:904:ffca::1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
 
-  networking.interfaces.ens19.ipv4.addresses = [
-    { address = "192.168.10.1"; prefixLength = 24; }
-  ];
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "2001:638:904:ffca::6/64"
+      "141.24.46.169/24"
+    ];
+    routes = [
+      { Gateway = "141.24.46.1"; }
+      { Gateway = "2001:638:904:ffca::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
+  systemd.network.networks."10-nat-netz-mercury" = {
+    matchConfig.Name = "ens19";
+    address = [
+      "192.168.10.1/24"
+    ];
+    linkConfig.RequiredForOnline = "no";
+  };
 
   networking.nat = {
     enableIPv6 = true;
diff --git a/hosts/osmium/configuration.nix b/hosts/osmium/configuration.nix
index 8166fd2..83aae36 100644
--- a/hosts/osmium/configuration.nix
+++ b/hosts/osmium/configuration.nix
@@ -4,12 +4,13 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
 
       ./nixfiles-updated-inputs.nix
       ./polkit-test.nix
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
@@ -20,11 +21,28 @@
   ];
 
   networking.useDHCP = false;
-  networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.29"; prefixLength = 24; } ];
-  networking.interfaces.ens19.ipv6.addresses = [ { address = "2001:638:904:ffc7::6"; prefixLength = 64; } ];
-  networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
-  networking.defaultGateway6 = { address = "2001:638:904:ffc7::1"; interface = "ens19"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens19";
+    address = [
+      "2001:638:904:ffc7::6/64"
+    ];
+    routes = [
+      { Gateway = "2001:638:904:ffc7::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
+  systemd.network.networks."10-nat-netz-mercury" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "192.168.10.29/24"
+    ];
+    routes = [
+      { Gateway = "192.168.10.1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   environment.systemPackages = with pkgs; [
     git
diff --git a/hosts/palladium/configuration.nix b/hosts/palladium/configuration.nix
index d3bd29e..7ac2f64 100644
--- a/hosts/palladium/configuration.nix
+++ b/hosts/palladium/configuration.nix
@@ -31,12 +31,16 @@
   boot.swraid.enable = true;
 
   networking.useDHCP = false;
-  networking.interfaces.enp3s0.ipv6.addresses = [
-    { address = "fd00:152:152:4::11"; prefixLength = 64; }
-    { address = "2001:4cd8:100:1337::11"; prefixLength = 64; }
-  ];
-  networking.defaultGateway6 = { address = "fe80::1"; interface = "enp3s0"; };
-  networking.nameservers = [ "fd00:152:152::1" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "enp3s0";
+    address = [
+      "fd00:152:152:4::11/64"
+    ];
+    networkConfig.DHCP = true;
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   # Keeping the harddrives quiet
   services.udev.extraRules = ''
diff --git a/hosts/storage-2/configuration.nix b/hosts/storage-2/configuration.nix
index dddd237..403171f 100644
--- a/hosts/storage-2/configuration.nix
+++ b/hosts/storage-2/configuration.nix
@@ -4,22 +4,40 @@
   imports =
     [
       ./hardware-configuration.nix
-      ../../configuration/proxmox-vm
       ./firmware.nix
       ./mixcloud.nix
       ./syncthing.nix
       ./users.nix
     ];
 
+  profiles.clerie.mercury-vm.enable = true;
+
   boot.loader.grub.enable = true;
   boot.loader.grub.device = "/dev/vda";
 
   networking.useDHCP = false;
-  networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.35"; prefixLength = 24; } ];
-  networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc0::4"; prefixLength = 64; } ];
-  networking.defaultGateway = { address = "192.168.10.1"; interface = "ens19"; };
-  networking.defaultGateway6 = { address = "2001:638:904:ffc0::1"; interface = "ens18"; };
-  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+  systemd.network.enable = true;
+
+  systemd.network.networks."10-wan" = {
+    matchConfig.Name = "ens18";
+    address = [
+      "2001:638:904:ffc0::4/64"
+    ];
+    routes = [
+      { Gateway = "2001:638:904:ffc0::1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
+  systemd.network.networks."10-nat-netz-mercury" = {
+    matchConfig.Name = "ens19";
+    address = [
+      "192.168.10.35/24"
+    ];
+    routes = [
+      { Gateway = "192.168.10.1"; }
+    ];
+    linkConfig.RequiredForOnline = "routable";
+  };
 
   services.nginx.enable = true;
 
diff --git a/profiles/cybercluster-vm/default.nix b/profiles/cybercluster-vm/default.nix
new file mode 100644
index 0000000..62856e5
--- /dev/null
+++ b/profiles/cybercluster-vm/default.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }:
+
+with lib;
+
+{
+
+  options.profiles.clerie.cybercluster-vm = {
+    enable = mkEnableOption "Profile for cybercluster VMs";
+  };
+
+  config = mkIf config.profiles.clerie.cybercluster-vm.enable {
+
+    profiles.clerie.fem-net.enable = true;
+
+    services.qemuGuest.enable = true;
+
+  };
+}
diff --git a/profiles/default.nix b/profiles/default.nix
index 9bba5e6..6192023 100644
--- a/profiles/default.nix
+++ b/profiles/default.nix
@@ -3,7 +3,10 @@
 {
 
   imports = [
+    ./cybercluster-vm
+    ./fem-net
     ./hetzner-cloud
+    ./mercury-vm
     ./netcup
   ];
 
diff --git a/profiles/fem-net/default.nix b/profiles/fem-net/default.nix
new file mode 100644
index 0000000..e0ee5d3
--- /dev/null
+++ b/profiles/fem-net/default.nix
@@ -0,0 +1,16 @@
+{ config, lib, ... }:
+
+with lib;
+
+{
+
+  options.profiles.clerie.fem-net = {
+    enable = mkEnableOption "Profile for FeM-Net";
+  };
+
+  config = mkIf config.profiles.clerie.fem-net.enable {
+
+    networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];
+
+  };
+}
diff --git a/profiles/mercury-vm/default.nix b/profiles/mercury-vm/default.nix
new file mode 100644
index 0000000..819a284
--- /dev/null
+++ b/profiles/mercury-vm/default.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }:
+
+with lib;
+
+{
+
+  options.profiles.clerie.mercury-vm = {
+    enable = mkEnableOption "Profile for mercury VMs";
+  };
+
+  config = mkIf config.profiles.clerie.mercury-vm.enable {
+
+    profiles.clerie.fem-net.enable = true;
+
+    services.qemuGuest.enable = true;
+
+  };
+}