about summary refs log tree commit diff
path: root/users/tazjin
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-05-09T14·37+0200
committertazjin <tazjin@tvl.su>2022-05-10T13·41+0000
commita23b01c8bc0b29c89f31cde3684bd1b0b5f7ebdf (patch)
tree86a226d7f4603be76ce8f5ae8058aa23db7457fe /users/tazjin
parent2b75ee689d1b66d200cd24c8749e82c46ccc694a (diff)
refactor(tazjin/home): Extract home manager configuration r/4044
Change-Id: If12aca275029d2567fa420d762418ccd9e5ffcba
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5550
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Diffstat (limited to 'users/tazjin')
-rw-r--r--users/tazjin/home/tverskoy.nix90
-rw-r--r--users/tazjin/nixos/tverskoy/default.nix86
2 files changed, 91 insertions, 85 deletions
diff --git a/users/tazjin/home/tverskoy.nix b/users/tazjin/home/tverskoy.nix
new file mode 100644
index 0000000000..8928dc7688
--- /dev/null
+++ b/users/tazjin/home/tverskoy.nix
@@ -0,0 +1,90 @@
+# Home manage configuration for tverskoy.
+
+{ depot, pkgs, ... }: # readTree
+{ config, lib, ... }: # home-manager
+
+{
+  imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
+
+  home.persistence."/persist/tazjin/home" = {
+    allowOther = true;
+
+    directories = [
+      ".cargo"
+      ".config/audacity"
+      ".config/google-chrome"
+      ".config/quassel-irc.org"
+      ".config/spotify"
+      ".config/syncthing"
+      ".config/unity3d"
+      ".electrum"
+      ".elfeed"
+      ".gnupg"
+      ".local/share/Steam"
+      ".local/share/audacity"
+      ".local/share/direnv"
+      ".local/share/fish"
+      ".local/share/keyrings"
+      ".local/share/zoxide"
+      ".mozilla/firefox"
+      ".password-store"
+      ".rustup"
+      ".ssh"
+      ".steam"
+      ".telega"
+      "go"
+      "mail"
+    ];
+
+    files = [
+      ".notmuch-config"
+    ];
+  };
+
+  home.activation.screenshots = lib.hm.dag.entryAnywhere ''
+    $DRY_RUN_CMD mkdir -p $HOME/screenshots
+  '';
+
+  programs.git = {
+    enable = true;
+    userName = "Vincent Ambo";
+    userEmail = "mail@tazj.in";
+    extraConfig = {
+      pull.rebase = true;
+      init.defaultBranch = "canon";
+    };
+  };
+
+  programs.fish = {
+    enable = true;
+    interactiveShellInit = ''
+      ${pkgs.zoxide}/bin/zoxide init fish | source
+    '';
+  };
+
+  services.screen-locker = {
+    enable = true;
+    enableDetectSleep = true;
+    inactiveInterval = 10; # minutes
+    lockCmd = "${depot.users.tazjin.screenLock}/bin/tazjin-screen-lock";
+  };
+
+  services.picom = {
+    enable = true;
+    vSync = true;
+    backend = "glx";
+  };
+
+  # Enable the dunst notification daemon, but force the
+  # configuration file separately instead of going via the strange
+  # Nix->dunstrc encoding route.
+  services.dunst.enable = true;
+  xdg.configFile."dunst/dunstrc" = {
+    source = depot.users.tazjin.dotfiles.dunstrc;
+    onChange = ''
+      ${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
+    '';
+  };
+
+  systemd.user.startServices = true;
+}
diff --git a/users/tazjin/nixos/tverskoy/default.nix b/users/tazjin/nixos/tverskoy/default.nix
index e674b27730..7c3f91ff4d 100644
--- a/users/tazjin/nixos/tverskoy/default.nix
+++ b/users/tazjin/nixos/tverskoy/default.nix
@@ -236,91 +236,7 @@ lib.fix (self: {
   };
 
   home-manager.useGlobalPkgs = true;
-  home-manager.users.tazjin = { config, lib, ... }: {
-    imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
-
-    home.persistence."/persist/tazjin/home" = {
-      allowOther = true;
-
-      directories = [
-        ".cargo"
-        ".config/audacity"
-        ".config/google-chrome"
-        ".config/quassel-irc.org"
-        ".config/spotify"
-        ".config/syncthing"
-        ".config/unity3d"
-        ".electrum"
-        ".elfeed"
-        ".gnupg"
-        ".local/share/Steam"
-        ".local/share/audacity"
-        ".local/share/direnv"
-        ".local/share/fish"
-        ".local/share/keyrings"
-        ".local/share/zoxide"
-        ".mozilla/firefox"
-        ".password-store"
-        ".rustup"
-        ".ssh"
-        ".steam"
-        ".telega"
-        "go"
-        "mail"
-      ];
-
-      files = [
-        ".notmuch-config"
-      ];
-    };
-
-    home.activation.screenshots = lib.hm.dag.entryAnywhere ''
-      $DRY_RUN_CMD mkdir -p $HOME/screenshots
-    '';
-
-    programs.git = {
-      enable = true;
-      userName = "Vincent Ambo";
-      userEmail = "mail@tazj.in";
-      extraConfig = {
-        pull.rebase = true;
-        init.defaultBranch = "canon";
-      };
-    };
-
-    programs.fish = {
-      enable = true;
-      interactiveShellInit = ''
-        ${pkgs.zoxide}/bin/zoxide init fish | source
-      '';
-    };
-
-    services.screen-locker = {
-      enable = true;
-      enableDetectSleep = true;
-      inactiveInterval = 10; # minutes
-      lockCmd = "${depot.users.tazjin.screenLock}/bin/tazjin-screen-lock";
-    };
-
-    services.picom = {
-      enable = true;
-      vSync = true;
-      backend = "glx";
-    };
-
-    # Enable the dunst notification daemon, but force the
-    # configuration file separately instead of going via the strange
-    # Nix->dunstrc encoding route.
-    services.dunst.enable = true;
-    xdg.configFile."dunst/dunstrc" = {
-      source = depot.users.tazjin.dotfiles.dunstrc;
-      onChange = ''
-        ${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
-      '';
-    };
-
-    systemd.user.startServices = true;
-  };
+  home-manager.users.tazjin = depot.users.tazjin.home.tverskoy;
 
   services.tailscale.enable = true;