about summary refs log tree commit diff
path: root/users/tazjin/nixos/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/tazjin/nixos/default.nix')
-rw-r--r--users/tazjin/nixos/default.nix52
1 files changed, 9 insertions, 43 deletions
diff --git a/users/tazjin/nixos/default.nix b/users/tazjin/nixos/default.nix
index d4576bd3c7..8f82c39ea1 100644
--- a/users/tazjin/nixos/default.nix
+++ b/users/tazjin/nixos/default.nix
@@ -1,46 +1,12 @@
-# TODO(tazjin): Generalise this and move to //ops/nixos
 { depot, lib, ... }:
 
-let
-  inherit (builtins) foldl';
-
-  systemFor = configs: (depot.third_party.nixos {
-    configuration = lib.fix(config:
-      foldl' lib.recursiveUpdate {} (map (c: c config) configs)
-    );
-  }).system;
-
-  caseFor = hostname: ''
-    ${hostname})
-      echo "Rebuilding NixOS for //users/tazjin/nixos/${hostname}"
-      system=$(nix-build -E '(import <depot> {}).users.tazjin.nixos.${hostname}System' --no-out-link)
-      ;;
-  '';
-
-  rebuilder = depot.third_party.writeShellScriptBin "rebuilder" ''
-    set -ue
-    if [[ $EUID -ne 0 ]]; then
-      echo "Oh no! Only root is allowed to rebuild the system!" >&2
-      exit 1
-    fi
-
-    case $HOSTNAME in
-    ${caseFor "camden"}
-    ${caseFor "frog"}
-    *)
-      echo "$HOSTNAME is not a known NixOS host!" >&2
-      exit 1
-      ;;
-    esac
-
-    nix-env -p /nix/var/nix/profiles/system --set $system
-    $system/bin/switch-to-configuration switch
-  '';
-in {
-  inherit rebuilder;
-
-  camdenSystem = systemFor [ depot.users.tazjin.nixos.camden ];
-  frogSystem = systemFor [ depot.users.tazjin.nixos.frog ];
-
-  meta.targets = [ "camdenSystem" "frogSystem" ];
+let systemFor = sys: (depot.ops.nixos.nixosFor sys).system;
+in depot.nix.readTree.drvTargets {
+  camdenSystem = systemFor depot.users.tazjin.nixos.camden;
+  frogSystem = systemFor depot.users.tazjin.nixos.frog;
+  tverskoySystem = systemFor depot.users.tazjin.nixos.tverskoy;
+  zamalekSystem = systemFor depot.users.tazjin.nixos.zamalek;
+  koptevoRaw = depot.ops.nixos.nixosFor depot.users.tazjin.nixos.koptevo;
+  koptevoSystem = systemFor depot.users.tazjin.nixos.koptevo;
+  khamovnikSystem = systemFor depot.users.tazjin.nixos.khamovnik;
 }