about summary refs log tree commit diff
diff options
context:
space:
mode:
authormulti <depot@in-addr.xyz>2020-11-22T19·51+0000
committermulti <depot@in-addr.xyz>2020-11-22T20·29+0000
commit7ff2142f1946be1c9b0182c34602e7697b4272f7 (patch)
treea28a1a9d58ba910a40896d1c0e7bdbdc36a2e169
parent69244064da9b60258607fccae4e9c75f0249880f (diff)
refactor(users/multi): migrate whitby home-manager config to readTree-compatible version. r/1899
Add a new home-manager-compatible configuration file which loads the
common config attrset used by the readTree machinery into a structure
which the home-manager command line tool understands.

Garbage-collect the old home-manager configuration file used on whitby,
and update the HOME_MANAGER_CONFIG path to point at the new shim config.

Instead of having a per-environment HM configuration (not that I have
more than one environment), there's now a single configuration which
evaluates to an attrset of configurations, which can be loaded and built
using "home-manager build -A $attr".

Change-Id: Id8b35dc89aabffedf1a4dadfa0d3d4b914e4e2e7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2129
Tested-by: BuildkiteCI
Reviewed-by: multi <depot@in-addr.xyz>
-rw-r--r--users/multi/home/configs/whitby.nix2
-rw-r--r--users/multi/home/home-manager.nix10
-rw-r--r--users/multi/whitby/home-manager.nix68
3 files changed, 11 insertions, 69 deletions
diff --git a/users/multi/home/configs/whitby.nix b/users/multi/home/configs/whitby.nix
index 665c11bb878e..bd647cf604b5 100644
--- a/users/multi/home/configs/whitby.nix
+++ b/users/multi/home/configs/whitby.nix
@@ -44,7 +44,7 @@ in
     NIX_PATH =
       "nixpkgs=${pkgs.nixpkgsSrc}:" +
       "depot=${depot.depotPath}";
-    HOME_MANAGER_CONFIG = "${depot.depotPath}/users/multi/whitby/home-manager.nix";
+    HOME_MANAGER_CONFIG = "${depot.depotPath}/users/multi/home/home-manager.nix";
     EDITOR = "vim";
   };
 
diff --git a/users/multi/home/home-manager.nix b/users/multi/home/home-manager.nix
new file mode 100644
index 000000000000..a93a541a0840
--- /dev/null
+++ b/users/multi/home/home-manager.nix
@@ -0,0 +1,10 @@
+let
+  depot = import <depot> {};
+  pkgs = depot.third_party;
+
+  home = path: import path { inherit depot pkgs; };
+in
+  {
+    whitby = home ./configs/whitby.nix;
+  }
+
diff --git a/users/multi/whitby/home-manager.nix b/users/multi/whitby/home-manager.nix
deleted file mode 100644
index c034d83f5123..000000000000
--- a/users/multi/whitby/home-manager.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ config ? throw "not a readTree target", ... }:
-
-let
-  depot = import <depot> {};
-  pkgs = import <nixpkgs> {};
-
-in
-
-{
-  programs = {
-    home-manager = {
-      enable = true;
-      path = toString pkgs.home-manager.src;
-    };
-
-    bash = {
-      enable = true;
-      initExtra = ''
-        bind '"\e[5~":history-search-backward'
-        bind '"\e[6~":history-search-forward'
-
-        PS1="[\\u@\\h:\\w]\\\$ "
-
-        _Z_CMD=d
-        source ~/.z.sh
-      '';
-    };
-
-    tmux = {
-      enable = true;
-      terminal = "tmux-256color";
-      escapeTime = 50;
-      extraConfig = ''
-        bind-key -n C-S-Left swap-window -t -1
-        bind-key -n C-S-Right swap-window -t +1
-      '';
-    };
-
-    vim = {
-      enable = true;
-      extraConfig = "set mouse=";
-    };
-  };
-
-  home.sessionVariables = {
-    NIX_PATH =
-      "nixpkgs=${depot.third_party.nixpkgsSrc}:" +
-      "depot=${depot.depotPath}";
-    HOME_MANAGER_CONFIG = "${depot.depotPath}/users/multi/whitby/home-manager.nix";
-    EDITOR = "vim";
-  };
-
-  home.packages = [
-    pkgs.lsof
-    pkgs.strace
-    pkgs.file
-    pkgs.pciutils
-  ] ++ (import ../pkgs { inherit pkgs; });
-
-  home.file = {
-    z = {
-      source = builtins.fetchurl "https://raw.githubusercontent.com/rupa/z/9f76454b32c0007f20b0eae46d55d7a1488c9df9/z.sh";
-      target = ".z.sh";
-    };
-  };
-
-  home.stateVersion = "20.03";
-}