about summary refs log tree commit diff
diff options
context:
space:
mode:
authormulti <depot@in-addr.xyz>2020-09-20T20·17+0100
committermulti <depot@in-addr.xyz>2020-09-20T21·59+0000
commitf43dfd4b8e20e51300ec44cc9555cdad612b95c6 (patch)
tree3ebf5256455f34e4950ed555d12c91ac0b7b9b87
parent991bf532702cc3fab276c7898f385e0162dfb183 (diff)
feat(users/multi): refactor home manager configuration on whitby. r/1807
Previously this used git checkouts of home-manager.git and nixpkgs.git on
whitby, which is self-evidently non-reproducible, so instead use pinned
tarballs of those repositories as data sources.

Change-Id: I3bd01e44d746c62e6bfbeab2e7698ae9954c8a94
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1993
Tested-by: BuildkiteCI
Reviewed-by: multi <depot@in-addr.xyz>
-rw-r--r--users/multi/whitby/depot.nix6
-rw-r--r--users/multi/whitby/home-manager.nix24
2 files changed, 20 insertions, 10 deletions
diff --git a/users/multi/whitby/depot.nix b/users/multi/whitby/depot.nix
new file mode 100644
index 0000000000..c0bda4d98b
--- /dev/null
+++ b/users/multi/whitby/depot.nix
@@ -0,0 +1,6 @@
+{ config ? throw "not a readTree target", ... }:
+
+let
+  depotPath = "/home/multi/depot";
+in
+  depotPath
diff --git a/users/multi/whitby/home-manager.nix b/users/multi/whitby/home-manager.nix
index 92281aebb0..8cd53ba5bc 100644
--- a/users/multi/whitby/home-manager.nix
+++ b/users/multi/whitby/home-manager.nix
@@ -1,13 +1,20 @@
-{ config ? throw "not a readTree target", pkgs, depot, ... }:
+{ config ? throw "not a readTree target", ... }:
 
 let
-  hmPath = "$HOME/nix/home-manager";
+  homeManagerSrc = (fetchTarball {
+      url = "https://github.com/nix-community/home-manager/archive/9b1b55ba0264a55add4b7b4e022bdc2832b531f6.tar.gz";
+      sha256 = "1lvnprvqfsjhi811ldagvfy4ilysxdj4arzi0f0gskll6czwjdr7";
+  });
 
+  depot = import <depot> {};
+  pkgs = import <nixpkgs> {};
+
+  depotPath = depot.users.multi.whitby.depot {};
 in
 
 {
   programs = {
-    home-manager = { enable = true; path = hmPath; };
+    home-manager = { enable = true; path = homeManagerSrc; };
 
     bash = {
       enable = true;
@@ -40,11 +47,9 @@ in
 
   home.sessionVariables = {
     NIX_PATH =
-      "nixpkgs=$HOME/nix/nixpkgs:" +
-      "home-manager=${hmPath}:" +
-      "depot=$HOME/nix/depot:" +
-      "/nix/var/nix/profiles/per-user/root/channels";
-    HOME_MANAGER_CONFIG = <depot/users/multi/whitby/home-manager.nix>;
+      "nixpkgs=${depot.third_party.nixpkgsSrc}:" +
+      "depot=${depotPath}";
+    HOME_MANAGER_CONFIG = "${depotPath}/users/multi/whitby/home-manager.nix";
     EDITOR = "vim";
   };
 
@@ -57,11 +62,10 @@ in
 
   home.file = {
     z = {
-      source = builtins.fetchurl "https://raw.githubusercontent.com/rupa/z/master/z.sh";
+      source = builtins.fetchurl "https://raw.githubusercontent.com/rupa/z/9f76454b32c0007f20b0eae46d55d7a1488c9df9/z.sh";
       target = ".z.sh";
     };
   };
 
-
   home.stateVersion = "20.03";
 }