Home

dotnix @main - refs - log -
-
https://git.jolheiser.com/dotnix.git
My nix dotfiles
tree log patch
overhaul Signed-off-by: jolheiser <git@jolheiser.com>
Signature
-----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgBTEvCQk6VqUAdN2RuH6bj1dNkY oOpbPWj+jw4ua1B1cAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 AAAAQL5XPegY2w9TssS54Wg6iMk7cs9y/HYgNxKRxpTh/QiD9Hnhf2JtOxBps+f3JnKM5w M1uJvwM9nCtEAz7c47sgk= -----END SSH SIGNATURE-----
jolheiser <git@jolheiser.com>
1 week ago
65 changed files, 119 additions(+), 726 deletions(-)
README.mdhome/de/default.nixapps/de/gtk.nixhome/gui/default.nixhome/gui/firefox.nixapps/gui/flameshot.nixhome/gui/ghostty.nixhome/gui/niri.kdlhome/gui/niri.nixapps/gui/obs.nixhome/gui/sherlock.nixapps/gui/spotify.nixapps/gui/swaylock.nixhome/gui/vesktop.nixhome/gui/waybar.nixapps/gui/wezterm.nixapps/gui/wezterm/wezterm.luahome/gui/wlogout.nixapps/gui/zed.nixhome/nogui/aerc.nixapps/nogui/atuin.nixhome/nogui/bat.nixhome/nogui/bottom.nixhome/nogui/default.nixhome/nogui/eza.nixhome/nogui/fzf.nixhome/nogui/git.nixhome/nogui/go.nixhome/nogui/gpg.nixhome/nogui/jj.nixhome/nogui/lazygit.nixapps/nogui/llm.nixhome/nogui/lsp.nixhome/nogui/nushell.nixhome/nogui/nushell/clone.nuhome/nogui/nushell/config.nuhome/nogui/nushell/env.nuhome/nogui/nushell/git-bug.nuhome/nogui/nushell/jolheiser.nuhome/nogui/nushell/miniserve.nuhome/nogui/nushell/ohmyposh.nuhome/nogui/nushell/ssh.nuhome/nogui/nushell/tangled.nuhome/nogui/oh-my-posh.nixhome/nogui/rust.nixhome/nogui/senpai.nixhome/nogui/ssh.nixhome/nogui/xdg.nixapps/nogui/zoxide.nixconfig.nixflake.nixhome/default.nixhome/gui/swaylock.nixhome/nogui/cachix.nixjustfilenixos/common/gui/default.nixnixos/common/nogui/default.nixnixos/genmaicha/default.nixnixos/genmaicha/hardware.nixmachines/sencha/default.nixmachines/sencha/hardware.nixsecrets/cachix.agesecrets/git-send-email.agesecrets/irc-pw.agesecrets/llm.agesecrets/secrets.nixsecrets/spectre-pw.agesecrets/spotify.agesecrets/ssh-config.age
M README.md -> README.md
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
diff --git a/README.md b/README.md
index 7cf870d517a2b929672d4068234b87578b73a90e..8ccfbf90a904ed87983e4b76cec8508e75eba9ab 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,3 @@ </p>
 
 
 Machines managed with [NixOS](https://nixos.org) and dotfiles managed with [home-manager](https://github.com/nix-community/home-manager).
-
-```
-just
-```
M apps/de/default.nix -> home/de/default.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
diff --git a/apps/de/default.nix b/home/de/default.nix
rename from apps/de/default.nix
rename to home/de/default.nix
index 991504a7549c78e5dda808010d7b17ae070a66e3..c4c41775af6b82ea28d38138fa856ca2e5d21eaa 100644
--- a/apps/de/default.nix
+++ b/home/de/default.nix
@@ -1,6 +1,5 @@
 { jolheiser, ... }:
 {
-  # imports = [ ./gtk.nix ];
   dconf.settings =
     let
       inherit (jolheiser) wallpaper;
D apps/de/gtk.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
diff --git a/apps/de/gtk.nix b/apps/de/gtk.nix
deleted file mode 100644
index ee390716861c6f586b3f47955ed7f3a93e4c3bc7..0000000000000000000000000000000000000000
--- a/apps/de/gtk.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{
-  config,
-  lib,
-  pkgs,
-  ...
-}:
-{
-  home.pointerCursor = {
-    name = "catppuccin-cursors";
-    package = pkgs.catppuccin-cursors.mochaLavender;
-    size = 24;
-  };
-  gtk = {
-    enable = true;
-    iconTheme = {
-      name = "Papirus-Dark";
-      package = pkgs.catppuccin-papirus-folders.override {
-        flavor = "mocha";
-        accent = "lavender";
-      };
-    };
-    theme = {
-      name = "Catppuccin-Mocha-Compact-Lavender-Dark";
-      package = pkgs.catppuccin-gtk.override {
-        accents = [ "lavender" ];
-        variant = "mocha";
-        size = "compact";
-      };
-    };
-    gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
-    gtk2.extraConfig = ''
-      gtk-xft-antialias=1
-      gtk-xft-hinting=1
-      gtk-xft-hintstyle="hintslight"
-      gtk-xft-rgba="rgb"
-    '';
-    gtk3.extraConfig = {
-      gtk-xft-antialias = 1;
-      gtk-xft-hinting = 1;
-      gtk-xft-hintstyle = "hintslight";
-      gtk-xft-rgba = "rgb";
-    };
-  };
-
-  xdg =
-    let
-      themeDir = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}";
-    in
-    lib.mkIf config.gtk.enable {
-      configFile = {
-        "gtk-4.0/assets" = {
-          source = "${themeDir}/gtk-4.0/assets";
-          recursive = true;
-        };
-        "gtk-4.0/gtk.css".source = "${themeDir}/gtk-4.0/gtk.css";
-        "gtk-4.0/gtk-dark.css".source = "${themeDir}/gtk-4.0/gtk-dark.css";
-      };
-    };
-}
M apps/gui/default.nix -> home/gui/default.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
diff --git a/apps/gui/default.nix b/home/gui/default.nix
rename from apps/gui/default.nix
rename to home/gui/default.nix
index a2b81e99a7543d5d6b279102e18a8d8ad542f3fa..d2752fce5fc85a82c725449ccbf84ecf903e32dd 100644
--- a/apps/gui/default.nix
+++ b/home/gui/default.nix
@@ -3,22 +3,14 @@ {
   imports = [
     ../nogui
     ./firefox.nix
-    # ./flameshot.nix
     ./ghostty.nix
     ./niri.nix
-    # ./obs.nix
     ./sherlock.nix
-    ./spotify.nix
     ./swaylock.nix
     ./vesktop.nix
     ./waybar.nix
-    # ./wezterm.nix
     ./wlogout.nix
-    # ./zed.nix
   ];
-  catppuccin = {
-    swaylock.enable = true;
-  };
   home = {
     packages = with pkgs; [
       obsidian
M apps/gui/firefox.nix -> home/gui/firefox.nix
1
2
3
diff --git a/apps/gui/firefox.nix b/home/gui/firefox.nix
rename from apps/gui/firefox.nix
rename to home/gui/firefox.nix
D apps/gui/flameshot.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/apps/gui/flameshot.nix b/apps/gui/flameshot.nix
deleted file mode 100644
index 3c6ebb7d1b3599deabeb2be67968b1417f88b61c..0000000000000000000000000000000000000000
--- a/apps/gui/flameshot.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  services.flameshot = {
-    enable = true;
-    settings = {
-      General = {
-        showStartupLaunchMessage = false;
-        saveAsFileExtension = ".png";
-        uiColor = "#313244";
-        contrastUiColor = "#b4befe";
-        userColors = "picker, #f5e0dc, #f2cdcd, #f5c2e7, #cba6f7, #f38ba8, #eba0ac, #fab387, #f9e2af, #a6e3a1, #94e2d5, #89dceb, #74c7ec, #89b4fa, #b4befe";
-      };
-    };
-  };
-}
M apps/gui/ghostty.nix -> home/gui/ghostty.nix
1
2
3
diff --git a/apps/gui/ghostty.nix b/home/gui/ghostty.nix
rename from apps/gui/ghostty.nix
rename to home/gui/ghostty.nix
M apps/gui/niri.kdl -> home/gui/niri.kdl
1
2
3
diff --git a/apps/gui/niri.kdl b/home/gui/niri.kdl
rename from apps/gui/niri.kdl
rename to home/gui/niri.kdl
M apps/gui/niri.nix -> home/gui/niri.nix
1
2
3
diff --git a/apps/gui/niri.nix b/home/gui/niri.nix
rename from apps/gui/niri.nix
rename to home/gui/niri.nix
D apps/gui/obs.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
diff --git a/apps/gui/obs.nix b/apps/gui/obs.nix
deleted file mode 100644
index ccd772c1c56cc7be09815e53caa07fe954ef45f7..0000000000000000000000000000000000000000
--- a/apps/gui/obs.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs, ... }:
-{
-  programs.obs-studio = {
-    enable = true;
-    plugins = [ pkgs.obs-studio-plugins.obs-webkitgtk ];
-  };
-}
M apps/gui/sherlock.nix -> home/gui/sherlock.nix
1
2
3
diff --git a/apps/gui/sherlock.nix b/home/gui/sherlock.nix
rename from apps/gui/sherlock.nix
rename to home/gui/sherlock.nix
D apps/gui/spotify.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
diff --git a/apps/gui/spotify.nix b/apps/gui/spotify.nix
deleted file mode 100644
index 23f7e7e68c1de92c9698f033a2b73ff888c401e4..0000000000000000000000000000000000000000
--- a/apps/gui/spotify.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ pkgs, ... }:
-{
-  home.packages = [ pkgs.spotify-player ];
-  xdg.configFile."spotify-player/theme.toml".text = builtins.readFile (
-    pkgs.fetchFromGitHub {
-      owner = "catppuccin";
-      repo = "spotify-player";
-      rev = "002d51b02b3a2ebc0804e4839ee604dbdab4bec3";
-      sha256 = "sha256-IUhzVrIBMi/Dn6+HV0m9i38Msg8zzzJlR85JeEVE7EU=";
-    }
-    + "/src/theme.toml"
-  );
-  xdg.configFile."spotify-player/app.toml".source =
-    (pkgs.formats.toml { }).generate "spotify-player-config"
-      {
-        client_id = "41af4976ba70474fbd541ee8764a2cda";
-        theme = "Catppuccin-mocha";
-        enable_notify = false;
-        enable_media_control = true;
-        device.volume = 100;
-      };
-  programs.nushell.shellAliases.spt = "spotify_player";
-}
D apps/gui/swaylock.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
diff --git a/apps/gui/swaylock.nix b/apps/gui/swaylock.nix
deleted file mode 100644
index 55704e424728edee4d30266c9f0f3b3af0976b9f..0000000000000000000000000000000000000000
--- a/apps/gui/swaylock.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ jolheiser, ... }:
-{
-  programs.swaylock = {
-    enable = true;
-    settings = {
-      image = jolheiser.wallpaper;
-      scaling = "fill";
-    };
-  };
-}
M apps/gui/vesktop.nix -> home/gui/vesktop.nix
1
2
3
diff --git a/apps/gui/vesktop.nix b/home/gui/vesktop.nix
rename from apps/gui/vesktop.nix
rename to home/gui/vesktop.nix
M apps/gui/waybar.nix -> home/gui/waybar.nix
1
2
3
diff --git a/apps/gui/waybar.nix b/home/gui/waybar.nix
rename from apps/gui/waybar.nix
rename to home/gui/waybar.nix
D apps/gui/wezterm.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
diff --git a/apps/gui/wezterm.nix b/apps/gui/wezterm.nix
deleted file mode 100644
index 5c13db65a14af416dd7951cafa41a193a5890616..0000000000000000000000000000000000000000
--- a/apps/gui/wezterm.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  programs.wezterm.enable = true;
-  xdg.configFile."wezterm/wezterm.lua".source = ./wezterm/wezterm.lua;
-}
D apps/gui/wezterm/wezterm.lua
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
diff --git a/apps/gui/wezterm/wezterm.lua b/apps/gui/wezterm/wezterm.lua
deleted file mode 100644
index 7f3487e4f50b769b31e552ca252379e16c054b86..0000000000000000000000000000000000000000
--- a/apps/gui/wezterm/wezterm.lua
+++ /dev/null
@@ -1,93 +0,0 @@
-local wezterm = require "wezterm"
-
--- Update right status with "mode"
-wezterm.on('update-right-status', function(window, pane)
-  local name = window:active_key_table()
-  if name then
-    name = " " .. string.upper(string.sub(name, 1, 1)) .. " "
-  end
-  window:set_right_status(name or '')
-end)
-
--- Toggle opacity
-local opacity = 0.8
-wezterm.on('toggle-opacity', function(window, pane)
-  if opacity == 0.8 then
-    opacity = 0.9
-  elseif opacity == 0.9 then
-    opacity = 1.0
-  else
-    opacity = 0.8
-  end
-  window:set_config_overrides({ window_background_opacity = opacity })
-end)
-
--- config
-local cfg = wezterm.config_builder()
-cfg.default_prog = { "nu", "--config", "~/.config/nushell/config.nu", "--env-config", "~/.config/nushell/env.nu" }
-cfg.window_close_confirmation = 'NeverPrompt'
-cfg.window_background_opacity = opacity
-cfg.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
-cfg.integrated_title_button_style = "Gnome"
-cfg.integrated_title_buttons = { "Maximize", "Close" }
-cfg.font = wezterm.font_with_fallback { "Monaspace Neon", "Iosevka", "Hack" }
-cfg.leader = {
-  key = "Space",
-  mods = "CTRL",
-  timeout_milliseconds = math.maxinteger,
-}
-cfg.keys = {
-  { key = "p", mods = "LEADER", action = wezterm.action.ActivateKeyTable({ name = "pane_mode", one_shot = false }) },
-  { key = "h", mods = "SHIFT|CTRL|ALT", action = wezterm.action.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
-  { key = "v", mods = "SHIFT|CTRL|ALT", action = wezterm.action.SplitVertical({ domain = "CurrentPaneDomain" }) },
-  { key = "c", mods = "SHIFT|CTRL|ALT", action = wezterm.action.CloseCurrentPane({ confirm = false }) },
-  { key = "s", mods = "SHIFT|CTRL|ALT", action = wezterm.action.PaneSelect({ alphabet = "1234567890", mode = "SwapWithActive" }) },
-  { key = "o", mods = "SHIFT|CTRL|ALT", action = wezterm.action.EmitEvent("toggle-opacity") },
-  { key = "LeftArrow", mods = "SHIFT|CTRL", action = wezterm.action.ActivateTabRelative(-1) },
-  { key = "RightArrow", mods = "SHIFT|CTRL", action = wezterm.action.ActivateTabRelative(1) },
-  { key = "1", mods = "LEADER", action = wezterm.action.ActivateTab(0) },
-  { key = "2", mods = "LEADER", action = wezterm.action.ActivateTab(1) },
-  { key = "3", mods = "LEADER", action = wezterm.action.ActivateTab(2) },
-  { key = "4", mods = "LEADER", action = wezterm.action.ActivateTab(3) },
-  { key = "5", mods = "LEADER", action = wezterm.action.ActivateTab(4) },
-  { key = "6", mods = "LEADER", action = wezterm.action.ActivateTab(5) },
-  { key = "7", mods = "LEADER", action = wezterm.action.ActivateTab(6) },
-  { key = "8", mods = "LEADER", action = wezterm.action.ActivateTab(7) },
-  { key = "9", mods = "LEADER", action = wezterm.action.ActivateTab(8) },
-  { key = "0", mods = "LEADER", action = wezterm.action.ActivateTab(-1) },
-}
-cfg.key_tables = {
-  pane_mode = {
-    { key = "h", action = wezterm.action.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
-    { key = "v", action = wezterm.action.SplitVertical({ domain = "CurrentPaneDomain" }) },
-    { key = "c", action = wezterm.action.CloseCurrentPane({ confirm = false }) },
-    { key = "s", action = wezterm.action.PaneSelect({ alphabet = "1234567890", mode = "SwapWithActive" }) },
-    { key = "LeftArrow", action = wezterm.action.ActivatePaneDirection("Left") },
-    { key = "UpArrow", action = wezterm.action.ActivatePaneDirection("Up") },
-    { key = "RightArrow", action = wezterm.action.ActivatePaneDirection("Right") },
-    { key = "DownArrow", action = wezterm.action.ActivatePaneDirection("Down") },
-    { key = "Delete", action = wezterm.action.CloseCurrentPane({ confirm = false }) },
-    { key = "LeftArrow", mods = "SHIFT", action = wezterm.action.AdjustPaneSize({ "Left", 1 }) },
-    { key = "RightArrow", mods = "SHIFT", action = wezterm.action.AdjustPaneSize({ "Right", 1 }) },
-    { key = "UpArrow", mods = "SHIFT", action = wezterm.action.AdjustPaneSize({ "Up", 1 }) },
-    { key = "DownArrow", mods = "SHIFT", action = wezterm.action.AdjustPaneSize({ "Down", 1 }) },
-    { key = "Escape", action = "PopKeyTable" },
-  },
-}
-
--- Plugins
-wezterm.plugin.require("https://github.com/catppuccin/wezterm").apply_to_config(cfg, {
-  sync = true,
-  sync_flavors = {
-    light = "latte",
-    dark = "mocha",
-  }
-})
-wezterm.plugin.require("https://github.com/nekowinston/wezterm-bar").apply_to_config(cfg, {
-  clock = {
-    enabled = false,
-  }
-})
-
-return cfg
-
M apps/gui/wlogout.nix -> home/gui/wlogout.nix
1
2
3
diff --git a/apps/gui/wlogout.nix b/home/gui/wlogout.nix
rename from apps/gui/wlogout.nix
rename to home/gui/wlogout.nix
D apps/gui/zed.nix
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
diff --git a/apps/gui/zed.nix b/apps/gui/zed.nix
deleted file mode 100644
index e50623bb68518e06013f84592a3fad837193eeec..0000000000000000000000000000000000000000
--- a/apps/gui/zed.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-{ pkgs, ... }:
-let
-  zed-fhs = pkgs.buildFHSEnv {
-    name = "zed";
-    targetPkgs =
-      pkgs: with pkgs; [
-        zed-editor
-        nixd
-      ];
-    runScript = "zed";
-  };
-in
-{
-  home.packages = [ zed-fhs ];
-  xdg.configFile = {
-    "zed/settings.json".text = builtins.toJSON {
-      buffer_font_family = "MonaspiceNe Nerd Font";
-      buffer_font_size = 13;
-      soft_wrap = "editor_width";
-      telemetry = {
-        diagnostics = false;
-        metrics = false;
-      };
-      terminal = {
-        font_family = "MonaspiceNe Nerd Font";
-        shell = {
-          program = "nu";
-        };
-      };
-      theme = "Catppuccin Mocha";
-      ui_font_size = 15;
-      vim_mode = false;
-      relative_line_numbers = true;
-      vim = {
-        use_system_clipboard = "always";
-        use_multiline_find = true;
-      };
-      tab_bar.show = false;
-      toolbar = {
-        breadcrumbs = true;
-        quick_actions = false;
-      };
-      assistant = {
-        version = "1";
-        provider.name = "anthropic";
-      };
-    };
-    "zed/keymap.json".text =
-      let
-        leader = "space";
-      in
-      builtins.toJSON [
-        {
-          "context" = "Dock || Terminal || Editor";
-          "bindings" = {
-            "ctrl-h" = [
-              "workspace::ActivatePaneInDirection"
-              "Left"
-            ];
-            "ctrl-l" = [
-              "workspace::ActivatePaneInDirection"
-              "Right"
-            ];
-            "ctrl-k" = [
-              "workspace::ActivatePaneInDirection"
-              "Up"
-            ];
-            "ctrl-j" = [
-              "workspace::ActivatePaneInDirection"
-              "Down"
-            ];
-          };
-        }
-        {
-          "context" = "Editor && VimControl && !VimWaiting && !menu";
-          "bindings" = {
-            "${leader} b" = "editor::ToggleGitBlame";
-            "${leader} k" = "editor::Hover";
-            "${leader} a" = "editor::ToggleCodeActions";
-            "${leader} l f" = "editor::Format";
-            "${leader} d" = "diagnostics::Deploy";
-            "${leader} f" = "file_finder::Toggle";
-            "${leader} o" = "tab_switcher::Toggle";
-            "${leader} e" = "workspace::ToggleLeftDock";
-            "${leader} /" = "workspace::NewSearch";
-            "n" = "search::SelectNextMatch";
-            "shift-n" = "search::SelectPrevMatch";
-            "${leader} t" = "workspace::NewCenterTerminal";
-            "${leader} c" = "editor::ToggleComments";
-            "${leader} w" = "workspace::Save";
-          };
-        }
-        {
-          "context" = "Editor && vim_mode == visual && !VimWaiting && !VimObject";
-          "bindings" = {
-            "shift-j" = "editor::MoveLineDown";
-            "shift-k" = "editor::MoveLineUp";
-          };
-        }
-        {
-          "context" = "Workspace";
-          "bindings" = {
-            "ctrl-z" = "workspace::ToggleZoom";
-            "cmd-k" = [
-              "projects::OpenRecent"
-              { "create_new_window" = false; }
-            ];
-            "ctrl-x" = "tab_switcher::CloseSelectedItem";
-          };
-        }
-        {
-          "context" = "Terminal";
-          "bindings" = {
-            "cmd-t" = "workspace::NewTerminal";
-          };
-        }
-      ];
-  };
-}
M apps/nogui/aerc.nix -> home/nogui/aerc.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
diff --git a/apps/nogui/aerc.nix b/home/nogui/aerc.nix
rename from apps/nogui/aerc.nix
rename to home/nogui/aerc.nix
index 0bf314e9f40ba6f0be41dede8eccff613f770bed..d646356dd029fad1ac210278c0eb1fe2d62c8a0d 100644
--- a/apps/nogui/aerc.nix
+++ b/home/nogui/aerc.nix
@@ -1,7 +1,7 @@
 { pkgs, ... }:
 {
   programs.aerc = {
-    enable = true;
+    enable = false;
     extraConfig = {
       general = {
         default-save-path = "~/Downloads";
D apps/nogui/atuin.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
diff --git a/apps/nogui/atuin.nix b/apps/nogui/atuin.nix
deleted file mode 100644
index 8ee816f59951ef098daa8a5aeb658f2b55ebe790..0000000000000000000000000000000000000000
--- a/apps/nogui/atuin.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  programs.atuin = {
-    enable = true;
-    enableNushellIntegration = true;
-    flags = [ "--disable-up-arrow" ];
-  };
-}
M apps/nogui/bat.nix -> home/nogui/bat.nix
1
2
3
diff --git a/apps/nogui/bat.nix b/home/nogui/bat.nix
rename from apps/nogui/bat.nix
rename to home/nogui/bat.nix
M apps/nogui/bottom.nix -> home/nogui/bottom.nix
1
2
3
diff --git a/apps/nogui/bottom.nix b/home/nogui/bottom.nix
rename from apps/nogui/bottom.nix
rename to home/nogui/bottom.nix
M apps/nogui/default.nix -> home/nogui/default.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
diff --git a/apps/nogui/default.nix b/home/nogui/default.nix
rename from apps/nogui/default.nix
rename to home/nogui/default.nix
index b1a18bde12b8fe80f501079371b9507e50f4849f..09e1af020abbb9e637e2caf7984b43a015d79dab 100644
--- a/apps/nogui/default.nix
+++ b/home/nogui/default.nix
@@ -1,10 +1,15 @@
-{ pkgs, config, ... }:
+{
+  pkgs,
+  config,
+  jolheiser,
+  ...
+}:
 {
   imports = [
-    # ./aerc.nix
-    # ./atuin.nix
+    ./aerc.nix
     ./bat.nix
     ./bottom.nix
+    ./cachix.nix
     ./eza.nix
     ./fzf.nix
     ./git.nix
@@ -12,7 +17,6 @@     ./go.nix
     ./gpg.nix
     ./jj.nix
     ./lazygit.nix
-    ./llm.nix
     ./lsp.nix
     ./nushell.nix
     ./oh-my-posh.nix
@@ -20,22 +24,19 @@     ./rust.nix
     ./senpai.nix
     ./ssh.nix
     ./xdg.nix
-    # ./zoxide.nix
   ];
   catppuccin = {
     enable = true;
-    accent = "lavender";
-    flavor = "mocha";
+    inherit (jolheiser.catppuccin) accent flavor;
     cursors = {
       enable = true;
-      accent = "lavender";
+      inherit (jolheiser.catppuccin) accent;
     };
   };
   home = {
     packages = with pkgs; [
       age
       atproto-goat
-      # bitwarden-cli
       cachix
       duf
       du-dust
@@ -46,10 +47,10 @@       ripgrep
       usql
 
       tclip
-      jolheiser.helix
-      jolheiser.gomodinit
-      jolheiser.cfg
-      jolheiser.spectre
+      pkgs.jolheiser.helix
+      pkgs.jolheiser.gomodinit
+      pkgs.jolheiser.cfg
+      pkgs.jolheiser.spectre
     ];
     activation.report-changes = config.lib.dag.entryAnywhere ''
       ${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff $oldGenPath $newGenPath
M apps/nogui/eza.nix -> home/nogui/eza.nix
1
2
3
diff --git a/apps/nogui/eza.nix b/home/nogui/eza.nix
rename from apps/nogui/eza.nix
rename to home/nogui/eza.nix
M apps/nogui/fzf.nix -> home/nogui/fzf.nix
1
2
3
diff --git a/apps/nogui/fzf.nix b/home/nogui/fzf.nix
rename from apps/nogui/fzf.nix
rename to home/nogui/fzf.nix
M apps/nogui/git.nix -> home/nogui/git.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
diff --git a/apps/nogui/git.nix b/home/nogui/git.nix
rename from apps/nogui/git.nix
rename to home/nogui/git.nix
index 9cc28ea7a9b5027a89b9c40ecbe5678d59f7270e..85699056418ee4e3946a31afccae8b3af8ec5c8b 100644
--- a/apps/nogui/git.nix
+++ b/home/nogui/git.nix
@@ -16,6 +16,7 @@     };
   };
 in
 {
+  age.secrets.git-send-email.file = ../../secrets/git-send-email.age;
   programs.git = {
     enable = true;
     userName = "jolheiser";
M apps/nogui/go.nix -> home/nogui/go.nix
1
2
3
diff --git a/apps/nogui/go.nix b/home/nogui/go.nix
rename from apps/nogui/go.nix
rename to home/nogui/go.nix
M apps/nogui/gpg.nix -> home/nogui/gpg.nix
1
2
3
diff --git a/apps/nogui/gpg.nix b/home/nogui/gpg.nix
rename from apps/nogui/gpg.nix
rename to home/nogui/gpg.nix
M apps/nogui/jj.nix -> home/nogui/jj.nix
1
2
3
diff --git a/apps/nogui/jj.nix b/home/nogui/jj.nix
rename from apps/nogui/jj.nix
rename to home/nogui/jj.nix
M apps/nogui/lazygit.nix -> home/nogui/lazygit.nix
1
2
3
diff --git a/apps/nogui/lazygit.nix b/home/nogui/lazygit.nix
rename from apps/nogui/lazygit.nix
rename to home/nogui/lazygit.nix
D apps/nogui/llm.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
diff --git a/apps/nogui/llm.nix b/apps/nogui/llm.nix
deleted file mode 100644
index 4ec4703db8b60ae54a081a5322e727a97a838479..0000000000000000000000000000000000000000
--- a/apps/nogui/llm.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ pkgs, lib, ... }:
-let
-  claude =
-    let
-      inherit (pkgs) fetchFromGitHub nix-update-script python3Packages;
-      inherit (python3Packages)
-        buildPythonPackage
-        setuptools
-        anthropic
-        llm
-        pytestCheckHook
-        pytest
-        pytest-recording
-        ;
-    in
-    buildPythonPackage rec {
-      pname = "llm-claude-3";
-      version = "0.4";
-      pyproject = true;
-
-      src = fetchFromGitHub {
-        owner = "simonw";
-        repo = "llm-claude-3";
-        rev = "refs/tags/${version}";
-        hash = "sha256-5qF5BK319PNzB4XsLdYvtyq/SxBDdHJ9IoKWEnvNRp4=";
-      };
-
-      build-system = [ setuptools ];
-      buildInputs = [ llm ];
-      dependencies = [ anthropic ];
-      optional-dependencies = {
-        test = [
-          pytest
-          pytest-recording
-        ];
-      };
-
-      # Test suite requires network access to talk to Claude (duh).
-      nativeCheckInputs = [ pytestCheckHook ];
-      doCheck = false;
-      pythonImportsCheck = [ "llm_claude_3" ];
-
-      passthru.updateScript = nix-update-script { };
-
-      meta = {
-        description = "LLM plugin for interacting with the Claude 3 family of models";
-        homepage = "https://github.com/simonw/llm-claude-3";
-        license = lib.licenses.asl20;
-        maintainers = with lib.maintainers; [ jkachmar ];
-      };
-    };
-  pyWithPackages = (
-    pkgs.python3.withPackages (py: [
-      py.llm
-      claude
-    ])
-  );
-in
-{
-  home.packages = [
-    (pkgs.runCommand "llm" { } ''
-      mkdir -p $out/bin
-      ln -s ${pyWithPackages}/bin/llm $out/bin/llm
-    '')
-  ];
-}
M apps/nogui/lsp.nix -> home/nogui/lsp.nix
1
2
3
diff --git a/apps/nogui/lsp.nix b/home/nogui/lsp.nix
rename from apps/nogui/lsp.nix
rename to home/nogui/lsp.nix
M apps/nogui/nushell.nix -> home/nogui/nushell.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
diff --git a/apps/nogui/nushell.nix b/home/nogui/nushell.nix
rename from apps/nogui/nushell.nix
rename to home/nogui/nushell.nix
index 95622cdd355c9a0e168b541fc720697a1d20b400..60421a11cd26f2ccb5ac431ec37c09a48f9727ae 100644
--- a/apps/nogui/nushell.nix
+++ b/home/nogui/nushell.nix
@@ -1,5 +1,6 @@
 { pkgs, config, ... }:
 {
+  age.secrets.spectre-pw.file = ../../secrets/spectre-pw.age;
   programs.nushell = {
     enable = true;
     configFile.source = ./nushell/config.nu;
M apps/nogui/nushell/clone.nu -> home/nogui/nushell/clone.nu
1
2
3
diff --git a/apps/nogui/nushell/clone.nu b/home/nogui/nushell/clone.nu
rename from apps/nogui/nushell/clone.nu
rename to home/nogui/nushell/clone.nu
M apps/nogui/nushell/config.nu -> home/nogui/nushell/config.nu
1
2
3
diff --git a/apps/nogui/nushell/config.nu b/home/nogui/nushell/config.nu
rename from apps/nogui/nushell/config.nu
rename to home/nogui/nushell/config.nu
M apps/nogui/nushell/env.nu -> home/nogui/nushell/env.nu
1
2
3
diff --git a/apps/nogui/nushell/env.nu b/home/nogui/nushell/env.nu
rename from apps/nogui/nushell/env.nu
rename to home/nogui/nushell/env.nu
M apps/nogui/nushell/git-bug.nu -> home/nogui/nushell/git-bug.nu
1
2
3
diff --git a/apps/nogui/nushell/git-bug.nu b/home/nogui/nushell/git-bug.nu
rename from apps/nogui/nushell/git-bug.nu
rename to home/nogui/nushell/git-bug.nu
M apps/nogui/nushell/jolheiser.nu -> home/nogui/nushell/jolheiser.nu
1
2
3
diff --git a/apps/nogui/nushell/jolheiser.nu b/home/nogui/nushell/jolheiser.nu
rename from apps/nogui/nushell/jolheiser.nu
rename to home/nogui/nushell/jolheiser.nu
M apps/nogui/nushell/miniserve.nu -> home/nogui/nushell/miniserve.nu
1
2
3
diff --git a/apps/nogui/nushell/miniserve.nu b/home/nogui/nushell/miniserve.nu
rename from apps/nogui/nushell/miniserve.nu
rename to home/nogui/nushell/miniserve.nu
M apps/nogui/nushell/ohmyposh.nu -> home/nogui/nushell/ohmyposh.nu
1
2
3
diff --git a/apps/nogui/nushell/ohmyposh.nu b/home/nogui/nushell/ohmyposh.nu
rename from apps/nogui/nushell/ohmyposh.nu
rename to home/nogui/nushell/ohmyposh.nu
M apps/nogui/nushell/ssh.nu -> home/nogui/nushell/ssh.nu
1
2
3
diff --git a/apps/nogui/nushell/ssh.nu b/home/nogui/nushell/ssh.nu
rename from apps/nogui/nushell/ssh.nu
rename to home/nogui/nushell/ssh.nu
M apps/nogui/nushell/tangled.nu -> home/nogui/nushell/tangled.nu
1
2
3
diff --git a/apps/nogui/nushell/tangled.nu b/home/nogui/nushell/tangled.nu
rename from apps/nogui/nushell/tangled.nu
rename to home/nogui/nushell/tangled.nu
M apps/nogui/oh-my-posh.nix -> home/nogui/oh-my-posh.nix
1
2
3
diff --git a/apps/nogui/oh-my-posh.nix b/home/nogui/oh-my-posh.nix
rename from apps/nogui/oh-my-posh.nix
rename to home/nogui/oh-my-posh.nix
M apps/nogui/rust.nix -> home/nogui/rust.nix
1
2
3
diff --git a/apps/nogui/rust.nix b/home/nogui/rust.nix
rename from apps/nogui/rust.nix
rename to home/nogui/rust.nix
M apps/nogui/senpai.nix -> home/nogui/senpai.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
diff --git a/apps/nogui/senpai.nix b/home/nogui/senpai.nix
rename from apps/nogui/senpai.nix
rename to home/nogui/senpai.nix
index a5f52c809911ad472dc453d38ba2e01fbf4f9cc8..885366d0046d5f51a4a5b7c678d42fbf1fed86b2 100644
--- a/apps/nogui/senpai.nix
+++ b/home/nogui/senpai.nix
@@ -1,5 +1,6 @@
 { config, ... }:
 {
+  age.secrets.irc-pw.file = ../../secrets/irc-pw.age;
   programs.senpai = {
     enable = true;
     config = {
M apps/nogui/ssh.nix -> home/nogui/ssh.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
diff --git a/apps/nogui/ssh.nix b/home/nogui/ssh.nix
rename from apps/nogui/ssh.nix
rename to home/nogui/ssh.nix
index cdccc297670b646dcfe3a57e3ef4124a36589fd1..4f438dc8797c6007b6fa1cc7921a8e0ed45d1c09 100644
--- a/apps/nogui/ssh.nix
+++ b/home/nogui/ssh.nix
@@ -1,5 +1,6 @@
 { config, ... }:
 {
+  age.secrets.ssh-config.file = ../../secrets/ssh-config.age;
   programs.ssh = {
     enable = true;
     includes = [ config.age.secrets.ssh-config.path ];
M apps/nogui/xdg.nix -> home/nogui/xdg.nix
1
2
3
diff --git a/apps/nogui/xdg.nix b/home/nogui/xdg.nix
rename from apps/nogui/xdg.nix
rename to home/nogui/xdg.nix
D apps/nogui/zoxide.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
diff --git a/apps/nogui/zoxide.nix b/apps/nogui/zoxide.nix
deleted file mode 100644
index 3b81ab75a76c89e205f3099234c1fd6b152cabb7..0000000000000000000000000000000000000000
--- a/apps/nogui/zoxide.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  programs.zoxide = {
-    enable = true;
-  };
-}
M config.nix -> config.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diff --git a/config.nix b/config.nix
index 19f86c1aca633a33f788d20b5595dca35f02b45c..17110a96d9dbce0aebf8ee7d46db2d8e06224869 100644
--- a/config.nix
+++ b/config.nix
@@ -1,14 +1,17 @@
 {
   pkgs ? import <nixpkgs> { },
 }:
+let
+  nixppuccin = pkgs.fetchurl {
+    url = "https://user.fm/files/v2-3834da30df507c4ba97a551571e98e33/nixppuccin.png";
+    hash = "sha256-dwM+Wi2gse7Eu4f/suU2BsVACPHMfSaXYOpZPqx6/SQ=";
+  };
+in
 {
   username = "jolheiser";
-  wallpaper =
-    let
-      src = pkgs.fetchurl {
-        url = "https://user.fm/files/v2-3834da30df507c4ba97a551571e98e33/nixppuccin.png";
-        hash = "sha256-dwM+Wi2gse7Eu4f/suU2BsVACPHMfSaXYOpZPqx6/SQ=";
-      };
-    in
-    "${src}";
+  wallpaper = "${nixppuccin}";
+  catppuccin = {
+    flavor = "mocha";
+    accent = "lavender";
+  };
 }
M flake.nix -> flake.nix
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
diff --git a/flake.nix b/flake.nix
index 9fcb0bef3e0038ab90627877555c386359cbf5a2..f291db27e4e6a77c0d5264a162eb82462175b45d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -36,6 +36,8 @@       catppuccin,
       ...
     }@inputs:
     let
+      jolheiser = import ./config.nix { inherit pkgs; };
+      system = "x86_64-linux";
       overlay = _: prev: {
         nur = import inputs.nur {
           nurpkgs = prev;
@@ -55,84 +57,46 @@         inherit system;
         overlays = [ overlay ];
         config.allowUnfree = true;
       };
-      jolheiser = import ./config.nix { inherit pkgs; };
-      inherit (jolheiser) username;
-      commonConfig =
-        { config, ... }:
-        {
-          config = {
-            nixpkgs.overlays = [ overlay ];
-          };
-        };
-      system = "x86_64-linux";
       homeManagerModules = [
         agenix.homeManagerModules.age
         catppuccin.homeModules.catppuccin
-        {
-          home = {
-            inherit username;
-            homeDirectory = "/home/${username}";
-          };
-          age = {
-            secretsDir = "/home/${username}/.agenix/agenix";
-            secretsMountPoint = "/home/${username}/.agenix/agenix.d";
-            identityPaths = [ "/home/${username}/.ssh/nix" ];
-            secrets = {
-              ssh-config.file = ./secrets/ssh-config.age;
-              spotify = {
-                file = ./secrets/spotify.age;
-                path = "/home/${username}/.cache/spotify-player/credentials.json";
-              };
-              irc-pw.file = ./secrets/irc-pw.age;
-              spectre-pw.file = ./secrets/spectre-pw.age;
-              git-send-email.file = ./secrets/git-send-email.age;
-              cachix = {
-                file = ./secrets/cachix.age;
-                path = "/home/${username}/.config/cachix/cachix.dhall";
-              };
-              llm = {
-                file = ./secrets/llm.age;
-                path = "/home/${username}/.config/io.datasette.llm/keys.json";
-              };
-            };
-          };
-        }
-        ./apps/gui
+        ./home
+        ./home/gui
       ];
     in
     {
       inherit homeManagerModules;
-      overlays.jolheiser = overlay;
-      overlays.default = overlay;
-      homeConfigurations = {
-        "jolheiser" = home-manager.lib.homeManagerConfiguration {
-          inherit pkgs;
-          extraSpecialArgs = {
-            inherit jolheiser;
-          };
-          modules = homeManagerModules ++ [ ./apps/de ];
-        };
+      config = {
+        inherit jolheiser;
+        default = jolheiser;
+      };
+      overlays = {
+        jolheiser = overlay;
+        default = overlay;
       };
-      nixosConfigurations = {
-        "genmaicha" = nixpkgs.lib.nixosSystem {
-          inherit system;
-          specialArgs = {
-            inherit jolheiser;
-          };
-          modules = [
-            nixos-hardware.nixosModules.framework-13-7040-amd
-            catppuccin.nixosModules.catppuccin
-            ./machines/genmaicha
-            commonConfig
-          ];
+      homeConfigurations."jolheiser" = home-manager.lib.homeManagerConfiguration {
+        inherit pkgs;
+        extraSpecialArgs = {
+          inherit jolheiser;
         };
-        "sencha" = nixpkgs.lib.nixosSystem {
-          inherit system;
-          modules = [
-            ./machines/sencha
-            commonConfig
-          ];
+        modules = homeManagerModules ++ [ ./home/de ];
+      };
+      nixosConfigurations."genmaicha" = nixpkgs.lib.nixosSystem {
+        inherit system;
+        specialArgs = {
+          inherit jolheiser;
         };
+        modules = [
+          nixos-hardware.nixosModules.framework-13-7040-amd
+          catppuccin.nixosModules.catppuccin
+          ./nixos/genmaicha
+          (
+            { config, ... }:
+            {
+              config.nixpkgs.overlays = [ overlay ];
+            }
+          )
+        ];
       };
       devShells.${system}.default = pkgs.mkShell {
         nativeBuildInputs = [
I home/default.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/home/default.nix b/home/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..efa8b83b864053782afbc0d6a27651ee81070230
--- /dev/null
+++ b/home/default.nix
@@ -0,0 +1,15 @@
+{ jolheiser, ... }:
+let
+  inherit (jolheiser) username;
+in
+{
+  home = {
+    inherit username;
+    homeDirectory = "/home/${username}";
+  };
+  age = {
+    secretsDir = "/home/${username}/.agenix/agenix";
+    secretsMountPoint = "/home/${username}/.agenix/agenix.d";
+    identityPaths = [ "/home/${username}/.ssh/nix" ];
+  };
+}
I home/gui/swaylock.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
diff --git a/home/gui/swaylock.nix b/home/gui/swaylock.nix
new file mode 100644
index 0000000000000000000000000000000000000000..92125e5a783dec02d447f8f46764c07197cbe092
--- /dev/null
+++ b/home/gui/swaylock.nix
@@ -0,0 +1,12 @@
+{ jolheiser, ... }:
+{
+  programs.swaylock = {
+    enable = true;
+    settings = {
+      image = jolheiser.wallpaper;
+      scaling = "fill";
+    };
+  };
+  # https://github.com/catppuccin/nix/blob/5f7dc8bab8af6ba612ef8dc7cd44e38ba6cfd51a/modules/home-manager/swaylock.nix#L13-L26
+  catppuccin.swaylock.enable = true;
+}
I home/nogui/cachix.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
diff --git a/home/nogui/cachix.nix b/home/nogui/cachix.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8b30693a9aad12df9b35c478e2c467ea2067eccb
--- /dev/null
+++ b/home/nogui/cachix.nix
@@ -0,0 +1,10 @@
+{ jolheiser, ... }:
+let
+  inherit (jolheiser) username;
+in
+{
+  age.secrets.cachix = {
+    file = ../../secrets/cachix.age;
+    path = "/home/${username}/.config/cachix/cachix.dhall";
+  };
+}
M justfile -> justfile
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diff --git a/justfile b/justfile
index 75be876041824dc4cd62de3d38b010fe2760d72f..a883c3a04fc21a381e8b7ee13eb776ef9d694903 100644
--- a/justfile
+++ b/justfile
@@ -11,6 +11,7 @@ # Rebuild the current machine
 switch *args:
 	@just rebuild switch {{args}}
 
+# Rebuild the current home configuration
 hm:
 	@git add .
 	@home-manager switch --flake . |& nix run nixpkgs#nix-output-monitor
@@ -20,14 +21,5 @@ # Rebuild the current machine for next boot
 boot *args:
 	@just rebuild boot {{args}}
 
-# Update the flake
-update-flake:
-	@nix flake update
-
-# Update an individual input
-update input:
-	@nix flake lock --update-input {{input}}
-
-fetch:
-	@nix run nixpkgs#onefetch -- --true-color never --no-bots -d lines-of-code
-	@nix run nixpkgs#scc -- --no-cocomo .
+alias nixos := switch
+alias home := hm
\ No newline at end of file
M machines/common/gui/default.nix -> nixos/common/gui/default.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
diff --git a/machines/common/gui/default.nix b/nixos/common/gui/default.nix
rename from machines/common/gui/default.nix
rename to nixos/common/gui/default.nix
index 701b0bc1dcc3dfe26f15167b3262e496617f7709..597a86262cb0b9ee63b8a9312333c9a901903360 100644
--- a/machines/common/gui/default.nix
+++ b/nixos/common/gui/default.nix
@@ -24,8 +24,7 @@   };
   programs = {
     niri.enable = true;
   };
-  catppuccin = {
-  };
+  catppuccin = {};
   fonts.packages = with pkgs.nerd-fonts; [
     hack
     iosevka
M machines/common/nogui/default.nix -> nixos/common/nogui/default.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
diff --git a/machines/common/nogui/default.nix b/nixos/common/nogui/default.nix
rename from machines/common/nogui/default.nix
rename to nixos/common/nogui/default.nix
index 8bce6008c9fb06510a5d9f9ba5919c34cefea1c7..001a348435bd0ce105459e38e75e95c70f3fe59b 100644
--- a/machines/common/nogui/default.nix
+++ b/nixos/common/nogui/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:
+{ pkgs, jolheiser, ... }:
 {
   console.colors = [
     "1e1e2e"
@@ -75,8 +75,7 @@   };
 
   catppuccin = {
     enable = true;
-    accent = "lavender";
-    flavor = "mocha";
+    inherit (jolheiser.catppuccin) accent flavor;
   };
   services.tailscale.enable = true;
 }
M machines/genmaicha/default.nix -> nixos/genmaicha/default.nix
1
2
3
diff --git a/machines/genmaicha/default.nix b/nixos/genmaicha/default.nix
rename from machines/genmaicha/default.nix
rename to nixos/genmaicha/default.nix
M machines/genmaicha/hardware.nix -> nixos/genmaicha/hardware.nix
1
2
3
diff --git a/machines/genmaicha/hardware.nix b/nixos/genmaicha/hardware.nix
rename from machines/genmaicha/hardware.nix
rename to nixos/genmaicha/hardware.nix
D machines/sencha/default.nix
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
diff --git a/machines/sencha/default.nix b/machines/sencha/default.nix
deleted file mode 100644
index 536678f7aaca4719479c92f9761b912cdc3f2d30..0000000000000000000000000000000000000000
--- a/machines/sencha/default.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{pkgs, ...}: {
-  imports = [
-    ./hardware.nix
-    ../common/gui
-  ];
-
-  boot = {
-    kernelPackages = pkgs.linuxPackages_latest;
-    kernelParams = [
-      "quiet"
-      "splash"
-    ];
-  };
-
-  boot.loader.systemd-boot.enable = true;
-  boot.loader.efi.canTouchEfiVariables = true;
-
-  boot.initrd.luks.devices."luks-c1c666de-2c68-4d50-98f1-3974ef424ff3".device = "/dev/disk/by-uuid/c1c666de-2c68-4d50-98f1-3974ef424ff3";
-
-  hardware = {
-    bluetooth.enable = true;
-  };
-
-  networking = {
-    hostName = "sencha";
-    networkmanager.enable = true;
-    firewall.enable = true;
-  };
-
-  services = {
-    blueman.enable = true;
-    openssh.enable = true;
-    pcscd.enable = true;
-    printing = {
-      enable = true;
-      drivers = [
-        pkgs.canon-cups-ufr2
-        pkgs.cnijfilter_4_00
-      ];
-    };
-    jellyfin = {
-      enable = true;
-      openFirewall = true;
-    };
-    sonarr = {
-      enable = true;
-      openFirewall = true;
-    };
-    radarr = {
-      enable = true;
-      openFirewall = true;
-    };
-    bazarr = {
-      enable = true;
-      openFirewall = true;
-    };
-    mullvad-vpn = {
-      enable = true;
-      package = pkgs.mullvad-vpn;
-    };
-    resolved.enable = true;
-  };
-
-  virtualisation.docker.enable = true;
-
-  users = {
-    users = {
-      olheiser.isNormalUser = true;
-      jolheiser = {
-        extraGroups = [
-          "wheel"
-          "docker"
-          "storage"
-        ];
-        isNormalUser = true;
-      };
-    };
-    groups.media.members = [
-      "jolheiser"
-      "olheiser"
-      "jellyfin"
-      "radarr"
-      "sonarr"
-    ];
-  };
-
-  environment.systemPackages = with pkgs; [
-    firefox
-    gimp
-    qbittorrent
-  ];
-
-  system.stateVersion = "22.11";
-}
D machines/sencha/hardware.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
diff --git a/machines/sencha/hardware.nix b/machines/sencha/hardware.nix
deleted file mode 100644
index 2acdb6a99923ea58327ad07cf7c2414c86cbe47a..0000000000000000000000000000000000000000
--- a/machines/sencha/hardware.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-# Do not modify this file!  It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations.  Please make changes
-# to /etc/nixos/configuration.nix instead.
-{
-  config,
-  lib,
-  modulesPath,
-  ...
-}:
-{
-  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
-
-  boot.initrd.availableKernelModules = [
-    "xhci_pci"
-    "ahci"
-    "usbhid"
-    "usb_storage"
-    "sd_mod"
-    "sr_mod"
-    "rtsx_usb_sdmmc"
-  ];
-  boot.initrd.kernelModules = [ ];
-  boot.kernelModules = [ ];
-  boot.extraModulePackages = [ ];
-
-  fileSystems."/" = {
-    device = "/dev/disk/by-uuid/d1f561b1-bc50-4e34-9ca6-e973d2d9437a";
-    fsType = "ext4";
-  };
-
-  boot.initrd.luks.devices."luks-75db2e03-a875-43ee-8ca8-70507b421641".device = "/dev/disk/by-uuid/75db2e03-a875-43ee-8ca8-70507b421641";
-
-  fileSystems."/boot" = {
-    device = "/dev/disk/by-uuid/A8A8-1D01";
-    fsType = "vfat";
-  };
-
-  swapDevices = [ { device = "/dev/disk/by-uuid/5c3eb124-674b-4315-890d-137275aab504"; } ];
-
-  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
-  # (the default) this is the recommended approach. When using systemd-networkd it's
-  # still possible to use this option, but it's recommended to use it in conjunction
-  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
-  networking.useDHCP = lib.mkDefault true;
-  # networking.interfaces.eno1.useDHCP = lib.mkDefault true;
-  # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
-
-  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
-  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
M secrets/cachix.age -> secrets/cachix.age
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diff --git a/secrets/cachix.age b/secrets/cachix.age
index d8429a870b8d16a08be9ab8536f9adf41cc45149..a7b24f4760a9d709e4db51ddb095b30697b03c5c 100644
--- a/secrets/cachix.age
+++ b/secrets/cachix.age
@@ -1,14 +1,5 @@
 age-encryption.org/v1
--> ssh-ed25519 E8j6/g x3c1iPetBHh6UHUPC0lbdsikCL8QfL/nsyma/4iYZTs
-tuvd6dfr4kcYakitJ4ke5Ru31jiJh8942XzhhSytwIg
--> ssh-ed25519 xUMv2w j2ptgF7kd9RKBHut2n++jCDDp3mLKm4gIHpIG9Hg2xw
-390rYja1NPESmRCXgbiUJJVRQQEt5NLw+kySAk0vbWI
--> ssh-ed25519 ph+d2g 9NDTnvI0w2ooUsa1IlyYScNie4HcuUj3kk1C8mADakA
-u9uQkf3YC0yuWX//58YMYdXjAOYLXQhj56zwGIIlpY8
--> ssh-ed25519 Cuo7gw PagCT6dPTNZH4mfUyBWYmWp9f4LPsf7u3BIWg1r0VHM
-Uem6hhHcUvAXSCezB0qiO0J2MI0BnO560MAP6UWhnFA
--> ssh-ed25519 f31uNA 2MXm2EGDzWn8KT0AE35rhKMi8XBntmGXj8Mlx1DSfgw
-ul4HdMXxWQSbqLJHLABits78rCBL0geTkT++ru9QWKI
---- 8Sfze/lOcjaaD52+EST5endtf3Za9wFqFqggxpXwp8s
-��U�ma1��~�4@堺甅_��p�D����
��/	rC5��N3'Ľ�V��V|�[R��
ĕ�< /	_OUe7ѥ����ws��?��C1H�hx(
�bP))�����H��Q���6��W�0ܝ�.{

-���ݥ��Q|�R�J���m��6������:T�.���No�I#a�Bc�-*J��~gC-Cα���KorC���G@A��7�Xj�]å7����,?�ܗ���vp��
\ No newline at end of file
+-> ssh-ed25519 E8j6/g o/Krgshl0sXkSDCBqtg3N9Qws+oxLZXAmpE/bGO+PTs
+yRp0J4vSriGpDU2UZIwjuOMBnIeh/xSdkT7idSiRPgE
+--- icqa4WmfxUH+sLvizzk4rP7XnzHztjVqeLXBiVQXa8k
+�����
�LUQ�M#Z�ޕ���Z����Znv��͔�*{����~���^����ϱU1u@��@Wʴ��%��<ʡ��!�5�)V7����{65O��vyG����ߋ٪)[�e�:-x�Lv[�δmN ��u��W��ol�/x��P����Q��VA	^�E�ᨳ;i�&~,=��kjodO�G�j�w���a��kS�.������L��f�\c�oqml��/N��K��
\ No newline at end of file
M secrets/git-send-email.age -> secrets/git-send-email.age
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
diff --git a/secrets/git-send-email.age b/secrets/git-send-email.age
index f51619ef3907bb00d74c519e7ec085604a9eecb5..680aefc57e2ab714da09ea8a1d46b533a8a75f1a 100644
--- a/secrets/git-send-email.age
+++ b/secrets/git-send-email.age
@@ -1,14 +1,7 @@
 age-encryption.org/v1
--> ssh-ed25519 E8j6/g EKCyCihc4z2NLVAiBRbZ1uH1FwPUAeGW68XhfXpJGF8
-GD7M0zuA9hChzMmk2JEv+QX3MKQJFJZiv51xtLr+gtQ
--> ssh-ed25519 xUMv2w bhsKkj43DxtvK3NaEZK65fBdS+xnc1DqiiE0PIUQTnI
-RPe/s7Mp1d+Lw3bLJZb6BRYW/NiOEy2AYwFHaWo621s
--> ssh-ed25519 ph+d2g k8XRPSnnoGUSv9XwJuak/58OKkM5YU02z5gqqaTeHFc
-HCavoYTWGtwpa4ks4lbmDXlUgMW/1UAJD11DDAIpUH8
--> ssh-ed25519 Cuo7gw Jafczm8V39xIZY3nS9OMNLnVnTvbB1D/P1mK07FSiQc
-2ifBGz9HTrXGEj8fsfVwlo+2p5vguPfHImpmDvlnNqs
--> ssh-ed25519 f31uNA XEICU4Q3ZffuH5qImvpmrtTZGkOxJKBVufMpkOoVZCI
-9p23bQyXY3PPjNoGRiWeXRVrJ/RRqVXNvj+fTcGDxdw
---- /ZxBUSYTe77GXFvpEof5OoVmL9ranjJrtYYrJ2Ye5IM
-�+4�?�u�MaK�3l���'�|�G�i��@�݈��32���1��Z�~5�Ȥ�z�:�h�1P��}�2��[
-a����"��eyb�҅�.ڄ��OH^��u��1G�$��)<[9�����R�>�V��r�͝�o҂p�:E�;�����~����|�ky��`Yj��܍�&M�(
\ No newline at end of file
+-> ssh-ed25519 E8j6/g 8wO/tHv3Oi9h6YDgV6oBmEKZS/PiL8fQb0V//dDvzXo
+UEgcAxlQ3iHnHBDMNsU5R4kPvFMlYN6MzFWUjBC8BBE
+--- U9NZBCDqOyCJxWUJ4TwV9xlWlS8+MoDz273JKW38jww
+�B�-��#N2�������pM�З�>�L[D�5>�٤�`.Y(Jm��|a�?}�آ�f������6�s:ʳ]�J8��� 5<��D�n�������=�:��a����M�G���|[��fU�˕M
+��n��]��_e���Y˘
+���Q��D�<8Z�_���58��va���
\ No newline at end of file
M secrets/irc-pw.age -> secrets/irc-pw.age
1
2
3
diff --git a/secrets/irc-pw.age b/secrets/irc-pw.age
index d1d3c76b67545da99342755835651e91ccfa93b3..06d91e92f39a8fab31a4b4d75697a81dcba499db 100644
Binary files a/secrets/irc-pw.age and b/secrets/irc-pw.age differ
D secrets/llm.age
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
diff --git a/secrets/llm.age b/secrets/llm.age
deleted file mode 100644
index 6ca7f7dca18b325eb5deb7fe34193ae2c5b77436..0000000000000000000000000000000000000000
--- a/secrets/llm.age
+++ /dev/null
@@ -1,14 +0,0 @@
-age-encryption.org/v1
--> ssh-ed25519 E8j6/g p21/KPTNTZrRXQUvPtlkHZuiFyNGkJWxF/yfhn643gk
-jnN29WaHvFjMIjzVe0hkOEcolovBwjcgc2RfDlgY97E
--> ssh-ed25519 xUMv2w Dvet20WUzCfQeoKrdmCb12ouUNlePgFDdKEUZP82PmA
-Prj/pjjj+oDqwKq+Q59aSj80YqICcgvulCBVy8CYx5Q
--> ssh-ed25519 ph+d2g vvjz0afKneI+lpiGGm8JuDTlJDlmoUygm/roW1vQphw
-imYWGoW9O4MTbwTqXC5+5bH9sBf6qgkEJ8tNDtx6B0E
--> ssh-ed25519 Cuo7gw zUGiEgCtGzwZOVUl5T3jMBdwYzf657jMAbfJ/G1uGX8
-jeoWPVh4+AVyGqdZlG1Do3XHT/bwojZsT14I8E3aF1s
--> ssh-ed25519 f31uNA KmRTboipwSZZyDV1d69x4Apn0IjeboMxhmFVJBm72XI
-Rgk4ranEXY0mcyBX7nWnW31yKZ8J3hrfzMV5NeQ3tLk
---- RW/X1U5gc3VSKroi8ZAIHZt4tvNShY/viK2TE2WSY4Q
-��|ut֐���P���f�������^��<G_�B�fDA��x��h���|���<.�HF��'�P0Y�'�<�����5����G����� �uζ9�Cz17Lg�Ӊp^�j��Pt�:j��?��<�s��	���{c�9����	hӭ�1T��6T\�S��s^��Na�
-0�we�&y��md9
횋7|cGw�~�,�v4�k˯;�9H0�f�.2G��:�{��W�E
\ No newline at end of file
M secrets/secrets.nix -> secrets/secrets.nix
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff --git a/secrets/secrets.nix b/secrets/secrets.nix
index d6546bf6a2cef026bcdf3cb84e7a989efe7697b0..34db61590348fe5603fe556ca26674b6fd2898c3 100644
--- a/secrets/secrets.nix
+++ b/secrets/secrets.nix
@@ -1,22 +1,10 @@
 let
   jolheiser = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrPUqk9v7FE7OgMDaOMdlnItiXSDkmS+eU94RzQFiMS";
-  matcha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZxjkZLj/9xvmg1enK+B7k8qf6Px0j4kTZ2caQfYmB1";
-  genmaicha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKhyzwMV0eoS8RSAcUvLkPhbXoR9/06cLoBmUVyb9DTw";
-  sencha = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJurjAMu4IXgpBwgUP0QvE2ySE5/Orn/yflkdWVvy6Am";
-
-  all = [
-    jolheiser
-    matcha
-    genmaicha
-    sencha
-  ];
 in
 {
-  "cachix.age".publicKeys = all;
-  "ssh-config.age".publicKeys = all;
-  "spotify.age".publicKeys = all;
-  "irc-pw.age".publicKeys = all;
-  "git-send-email.age".publicKeys = all;
-  "llm.age".publicKeys = all;
+  "cachix.age".publicKeys = [ jolheiser ];
+  "ssh-config.age".publicKeys = [ jolheiser ];
+  "irc-pw.age".publicKeys = [ jolheiser ];
+  "git-send-email.age".publicKeys = [ jolheiser ];
   "spectre-pw.age".publicKeys = [ jolheiser ];
 }
M secrets/spectre-pw.age -> secrets/spectre-pw.age
1
2
3
diff --git a/secrets/spectre-pw.age b/secrets/spectre-pw.age
index a35ffffdfbd565eb5b2671e8040e706e78760841..5b7832bf836af29f92d7609e105eff0ba7eca9d5 100644
Binary files a/secrets/spectre-pw.age and b/secrets/spectre-pw.age differ
D secrets/spotify.age
1
2
3
4
diff --git a/secrets/spotify.age b/secrets/spotify.age
deleted file mode 100644
index f798927935ef63a27d2d9224d11b7d8154ba41d3..0000000000000000000000000000000000000000
Binary files a/secrets/spotify.age and /dev/null differ
M secrets/ssh-config.age -> secrets/ssh-config.age
1
2
3
diff --git a/secrets/ssh-config.age b/secrets/ssh-config.age
index 7216a6c1a9f812e81e481c94d60f1889b0628c31..8c7ce39dac1e253f1208889f83d9577fe5ce958f 100644
Binary files a/secrets/ssh-config.age and b/secrets/ssh-config.age differ