From 4a89e23dc921c7a15ef37c121064e5c085980715 Mon Sep 17 00:00:00 2001 From: Dennis Date: Mon, 5 Jan 2026 18:20:06 +0100 Subject: [PATCH 01/51] installs pages on dnsc-air --- hosts/dnsc-air/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index b108b93..0ba70db 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -51,6 +51,7 @@ "Yesterday For Old Reddit" = 1603279883; "Final Cut Pro" = 424389933; Wireguard = 1451685025; + Pages = 409201541; }; homebrew.brews = lib.mkAfter ([ From 5be36c54788e7f64b9bac06642fd12167def0a80 Mon Sep 17 00:00:00 2001 From: Dennis Date: Mon, 5 Jan 2026 20:48:54 +0100 Subject: [PATCH 02/51] updates dev_projects --- modules/fish/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index c02d305..523179d 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -38,7 +38,10 @@ echo "$HOME/dev/ride/apps/packages"; end else - fd . ~/dev -t d -d 1 + begin + echo "$HOME/notes" + fd . ~/dev -t d -d 1 + end end ''; cdd = /* fish */ '' From 0556a8fad857878f6b0d4aec6743def58b8054b1 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 22:48:10 +0100 Subject: [PATCH 03/51] adds default layout --- modules/zellij/config.kdl | 1 - modules/zellij/layouts/default.kdl | 66 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 modules/zellij/layouts/default.kdl diff --git a/modules/zellij/config.kdl b/modules/zellij/config.kdl index d0fc9fc..ce33a85 100644 --- a/modules/zellij/config.kdl +++ b/modules/zellij/config.kdl @@ -303,7 +303,6 @@ plugins { load_plugins { } -simplified_ui false default_mode "locked" default_shell "fish" pane_frames true diff --git a/modules/zellij/layouts/default.kdl b/modules/zellij/layouts/default.kdl new file mode 100644 index 0000000..cbd91d4 --- /dev/null +++ b/modules/zellij/layouts/default.kdl @@ -0,0 +1,66 @@ +layout { + default_tab_template { + children + pane size=1 borderless=false { + plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { + color_fg "#ffffff" + color_fg_alt "#bf8a9f" + color_fg_dim "#807c9f" + color_bg "#0f0b15" + color_bg_secondary "#1d202f" + color_grey "#807c9f" + color_grey_bright "#807c9f" + color_red "#f47359" + color_red_bright "#ff6a7a" + color_red_subtle_bg "#67182f" + color_green "#29a444" + color_green_bright "#00a392" + color_green_subtle_bg "#10452f" + color_yellow "#b58a52" + color_yellow_bright "#df9080" + color_yellow_brighter "#FCC1B6" + color_yellow_subtle_bg "#54362a" + color_blue "#3f95f6" + color_blue_bright "#029fff" + color_blue_subtle_bg "#2a346e" + color_blue_subtle_dark_bg "#003045" + color_magenta "#d369af" + color_magenta_bright "#af85ea" + color_magenta_brighter "#c57faf" + color_magenta_subtle_bg "#572454" + color_magenta_subtle_bg_darker "#331531" + color_cyan "#4fbaef" + color_cyan_bright "#35afbf" + color_cyan_subtle_bg "#133d56" + color_silver "#b8c6d5" + color_silver_bright "#ffffff" + + format_left "{tabs}" + + tab_active "#[fg=$bg,bg=$magenta_bright] {index} :: {name} {floating_indicator} " + + border_enabled "false" + border_char "─" + border_format "#[fg=#6C7086]{char}" + border_position "top" + + hide_frame_for_single_pane "true" + + mode_normal "#[bg=blue] " + mode_tmux "#[bg=#ffc387] " + + tab_normal "#[fg=#6C7086] {name} " + tab_active "#[fg=#9399B2,bold,italic] {name} " + + command_git_branch_command "git rev-parse --abbrev-ref HEAD" + command_git_branch_format "#[fg=blue] {stdout} " + command_git_branch_interval "10" + command_git_branch_rendermode "static" + + datetime "#[fg=#6C7086,bold] {format} " + datetime_format "%A, %d %b %Y %H:%M" + datetime_timezone "Europe/Berlin" + } + } + } +} From 2016dfa73e7c79e54510ffce09e78ab7a813e161 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:24:32 +0100 Subject: [PATCH 04/51] updates default --- modules/zellij/layouts/default.kdl | 35 ++++++++++-------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/modules/zellij/layouts/default.kdl b/modules/zellij/layouts/default.kdl index cbd91d4..5458784 100644 --- a/modules/zellij/layouts/default.kdl +++ b/modules/zellij/layouts/default.kdl @@ -1,6 +1,5 @@ layout { default_tab_template { - children pane size=1 borderless=false { plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { color_fg "#ffffff" @@ -35,32 +34,22 @@ layout { color_silver "#b8c6d5" color_silver_bright "#ffffff" - format_left "{tabs}" + format_left "#[bg=$bg_secondary]{tabs}" + format_center "" + format_right "#[fg=$magenta_brighter,italic][{session}] " - tab_active "#[fg=$bg,bg=$magenta_bright] {index} :: {name} {floating_indicator} " + tab_normal "#[fg=$fg_dim][{index}] {name}" + tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" + tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" - border_enabled "false" - border_char "─" - border_format "#[fg=#6C7086]{char}" - border_position "top" + tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" + tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" + tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" - hide_frame_for_single_pane "true" - - mode_normal "#[bg=blue] " - mode_tmux "#[bg=#ffc387] " - - tab_normal "#[fg=#6C7086] {name} " - tab_active "#[fg=#9399B2,bold,italic] {name} " - - command_git_branch_command "git rev-parse --abbrev-ref HEAD" - command_git_branch_format "#[fg=blue] {stdout} " - command_git_branch_interval "10" - command_git_branch_rendermode "static" - - datetime "#[fg=#6C7086,bold] {format} " - datetime_format "%A, %d %b %Y %H:%M" - datetime_timezone "Europe/Berlin" + tab_rename "#[fg=$cyan_bright]{name}" + tab_separator "#[fg=$fg_dim] | " } } + children } } From 2bfeb2f5a6e585a507b2cc3ae990af2d64eb863c Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:26:26 +0100 Subject: [PATCH 05/51] removes default layout --- modules/zellij/config.kdl | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/zellij/config.kdl b/modules/zellij/config.kdl index ce33a85..083ee97 100644 --- a/modules/zellij/config.kdl +++ b/modules/zellij/config.kdl @@ -314,4 +314,3 @@ session_serialization true pane_viewport_serialization true web_server false show_startup_tips false -default_layout "compact" From ba2e902e3386f03ab5f920cb579d63723cef086b Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:34:19 +0100 Subject: [PATCH 06/51] installs zjstatus --- flake.nix | 2 ++ hosts/dnsc-air/default.nix | 2 ++ modules/zellij/default.nix | 60 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 5843aa6..0ffa87d 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ zellij-switch.url = "github:mostafaqanbaryan/zellij-switch"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + zjstatus.url = "github:dj95/zjstatus"; }; outputs = @@ -28,6 +29,7 @@ nix-homebrew, agenix, zellij-switch, + zjstatus, ... }@inputs: let diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index 0ba70db..e46d0d4 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -29,6 +29,7 @@ # in modules/default.nix nixpkgs.overlays = [ inputs.zellij-switch.overlays.default + inputs.zjstatus.overlays.default ]; # System Packages @@ -40,6 +41,7 @@ devenv zellij zellij-switch + zjstatus rsync ] ); diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index c4b1cb7..e6fe3e4 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -4,9 +4,63 @@ source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/config.kdl"; }; - xdg.configFile."zellij/layouts" = { - source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/layouts"; - }; + xdg.configFile."zellij/layouts/default.kdl".text = '' + layout { + default_tab_template { + pane size=1 borderless=false { + plugin location="file://{${pkgs.zjstatus}/bin/zjstatus.wasm" { + color_fg "#ffffff" + color_fg_alt "#bf8a9f" + color_fg_dim "#807c9f" + color_bg "#0f0b15" + color_bg_secondary "#1d202f" + color_grey "#807c9f" + color_grey_bright "#807c9f" + color_red "#f47359" + color_red_bright "#ff6a7a" + color_red_subtle_bg "#67182f" + color_green "#29a444" + color_green_bright "#00a392" + color_green_subtle_bg "#10452f" + color_yellow "#b58a52" + color_yellow_bright "#df9080" + color_yellow_brighter "#FCC1B6" + color_yellow_subtle_bg "#54362a" + color_blue "#3f95f6" + color_blue_bright "#029fff" + color_blue_subtle_bg "#2a346e" + color_blue_subtle_dark_bg "#003045" + color_magenta "#d369af" + color_magenta_bright "#af85ea" + color_magenta_brighter "#c57faf" + color_magenta_subtle_bg "#572454" + color_magenta_subtle_bg_darker "#331531" + color_cyan "#4fbaef" + color_cyan_bright "#35afbf" + color_cyan_subtle_bg "#133d56" + color_silver "#b8c6d5" + color_silver_bright "#ffffff" + + format_left "#[bg=$bg_secondary]{tabs}" + format_center "" + format_right "#[fg=$magenta_brighter,italic][{session}] " + + tab_normal "#[fg=$fg_dim][{index}] {name}" + tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" + tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" + + tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" + tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" + tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" + + tab_rename "#[fg=$cyan_bright]{name}" + tab_separator "#[fg=$fg_dim] | " + } + } + children + } + } + ''; programs.zellij = { enable = true; From 0472e8ba74309befb74011cebaea1e9be959e618 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:36:44 +0100 Subject: [PATCH 07/51] fixes zjstatus --- flake.lock | 109 ++++++++++++++++++++++++++++++++++++- hosts/dnsc-air/default.nix | 4 +- 2 files changed, 111 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index b8ae6ad..605e372 100644 --- a/flake.lock +++ b/flake.lock @@ -38,6 +38,21 @@ "type": "github" } }, + "crane": { + "locked": { + "lastModified": 1765739568, + "narHash": "sha256-gQYx35Of4UDKUjAYvmxjUEh/DdszYeTtT6MDin4loGE=", + "owner": "ipetkov", + "repo": "crane", + "rev": "67d2baff0f9f677af35db61b32b5df6863bcc075", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -80,6 +95,24 @@ "type": "gitlab" } }, + "flake-utils": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -319,6 +352,22 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1765934234, + "narHash": "sha256-pJjWUzNnjbIAMIc5gRFUuKCDQ9S1cuh3b2hKgA7Mc4A=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "af84f9d270d404c17699522fab95bbf928a2d92f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -330,7 +379,8 @@ "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable", "zellij-switch": "zellij-switch", - "zen-browser": "zen-browser" + "zen-browser": "zen-browser", + "zjstatus": "zjstatus" } }, "rust-overlay": { @@ -351,6 +401,27 @@ "type": "github" } }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "zjstatus", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765939271, + "narHash": "sha256-7F/d+ZrTYyOxnBZcleQZjOOEWc1IMXR/CLLRLLsVtHo=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "8028944c1339469124639da276d403d8ab7929a8", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -381,6 +452,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "zellij-switch": { "inputs": { "nixpkgs": "nixpkgs_5", @@ -419,6 +505,27 @@ "repo": "zen-browser-flake", "type": "github" } + }, + "zjstatus": { + "inputs": { + "crane": "crane", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_8", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1766016463, + "narHash": "sha256-aWp608krMtk5I+c3GXyuHkb6ugah40cBI0R52fNqMiI=", + "owner": "dj95", + "repo": "zjstatus", + "rev": "9a4b88fdceee8eb2b8c28111c53e94254d61c994", + "type": "github" + }, + "original": { + "owner": "dj95", + "repo": "zjstatus", + "type": "github" + } } }, "root": "root", diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index e46d0d4..3173977 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -29,7 +29,9 @@ # in modules/default.nix nixpkgs.overlays = [ inputs.zellij-switch.overlays.default - inputs.zjstatus.overlays.default + (final: prev: { + zjstatus = zjstatus.packages.${prev.system}.default; + }) ]; # System Packages From bff43c45ac5d5735cf9f70c660f2c1bfc073d403 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:37:08 +0100 Subject: [PATCH 08/51] fix --- hosts/dnsc-air/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index 3173977..6d9fc73 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -30,7 +30,7 @@ nixpkgs.overlays = [ inputs.zellij-switch.overlays.default (final: prev: { - zjstatus = zjstatus.packages.${prev.system}.default; + zjstatus = inputs.zjstatus.packages.${prev.system}.default; }) ]; From b62a5a6a5680974bf7b88ac3dc5a1badb5abef2c Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:37:50 +0100 Subject: [PATCH 09/51] fix for zj --- modules/zellij/default.nix | 2 +- modules/zellij/layouts/default.kdl | 55 ------------------------------ 2 files changed, 1 insertion(+), 56 deletions(-) delete mode 100644 modules/zellij/layouts/default.kdl diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index e6fe3e4..3810949 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: { xdg.configFile."zellij/config.kdl" = { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/config.kdl"; diff --git a/modules/zellij/layouts/default.kdl b/modules/zellij/layouts/default.kdl deleted file mode 100644 index 5458784..0000000 --- a/modules/zellij/layouts/default.kdl +++ /dev/null @@ -1,55 +0,0 @@ -layout { - default_tab_template { - pane size=1 borderless=false { - plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { - color_fg "#ffffff" - color_fg_alt "#bf8a9f" - color_fg_dim "#807c9f" - color_bg "#0f0b15" - color_bg_secondary "#1d202f" - color_grey "#807c9f" - color_grey_bright "#807c9f" - color_red "#f47359" - color_red_bright "#ff6a7a" - color_red_subtle_bg "#67182f" - color_green "#29a444" - color_green_bright "#00a392" - color_green_subtle_bg "#10452f" - color_yellow "#b58a52" - color_yellow_bright "#df9080" - color_yellow_brighter "#FCC1B6" - color_yellow_subtle_bg "#54362a" - color_blue "#3f95f6" - color_blue_bright "#029fff" - color_blue_subtle_bg "#2a346e" - color_blue_subtle_dark_bg "#003045" - color_magenta "#d369af" - color_magenta_bright "#af85ea" - color_magenta_brighter "#c57faf" - color_magenta_subtle_bg "#572454" - color_magenta_subtle_bg_darker "#331531" - color_cyan "#4fbaef" - color_cyan_bright "#35afbf" - color_cyan_subtle_bg "#133d56" - color_silver "#b8c6d5" - color_silver_bright "#ffffff" - - format_left "#[bg=$bg_secondary]{tabs}" - format_center "" - format_right "#[fg=$magenta_brighter,italic][{session}] " - - tab_normal "#[fg=$fg_dim][{index}] {name}" - tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" - tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" - - tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" - tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" - tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" - - tab_rename "#[fg=$cyan_bright]{name}" - tab_separator "#[fg=$fg_dim] | " - } - } - children - } -} From cffea7b4d40103743f7493730bb5335c933be61a Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 8 Jan 2026 23:56:38 +0100 Subject: [PATCH 10/51] fixes pkg location --- modules/zellij/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index 3810949..fa9f535 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -8,7 +8,7 @@ layout { default_tab_template { pane size=1 borderless=false { - plugin location="file://{${pkgs.zjstatus}/bin/zjstatus.wasm" { + plugin location="file://${pkgs.zjstatus}/bin/zjstatus.wasm" { color_fg "#ffffff" color_fg_alt "#bf8a9f" color_fg_dim "#807c9f" From 3b6cb627d9724efd72544cd80a7ac306737c71db Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 00:14:28 +0100 Subject: [PATCH 11/51] update --- modules/zellij/config.kdl | 11 +++++++++-- modules/zellij/default.nix | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/zellij/config.kdl b/modules/zellij/config.kdl index 083ee97..d8b1097 100644 --- a/modules/zellij/config.kdl +++ b/modules/zellij/config.kdl @@ -12,6 +12,14 @@ keybinds clear-defaults=true { bind "/" { SwitchToMode "Scroll"; } // Plugins / Tools + bind "q" { + LaunchOrFocusPlugin "plugin-manager" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Locked"; + } + bind "w" { LaunchOrFocusPlugin "session-manager" { floating true @@ -300,8 +308,7 @@ plugins { } } -load_plugins { -} +load_plugins {} default_mode "locked" default_shell "fish" diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index fa9f535..370c28d 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -8,7 +8,7 @@ layout { default_tab_template { pane size=1 borderless=false { - plugin location="file://${pkgs.zjstatus}/bin/zjstatus.wasm" { + plugin location="file:${pkgs.zjstatus}/bin/zjstatus.wasm" { color_fg "#ffffff" color_fg_alt "#bf8a9f" color_fg_dim "#807c9f" From 079bdfabcfb5d0085fe23a11c34b211c896a219d Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 00:19:11 +0100 Subject: [PATCH 12/51] fixes --- modules/zellij/config.kdl | 4 +++- modules/zellij/default.nix | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/zellij/config.kdl b/modules/zellij/config.kdl index d8b1097..f19dbe8 100644 --- a/modules/zellij/config.kdl +++ b/modules/zellij/config.kdl @@ -308,7 +308,9 @@ plugins { } } -load_plugins {} +load_plugins { + "https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" +} default_mode "locked" default_shell "fish" diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index 370c28d..5bf4396 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -8,7 +8,7 @@ layout { default_tab_template { pane size=1 borderless=false { - plugin location="file:${pkgs.zjstatus}/bin/zjstatus.wasm" { + plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { color_fg "#ffffff" color_fg_alt "#bf8a9f" color_fg_dim "#807c9f" From 175922f37dab0468beb592f7960c8108e472039e Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 00:23:45 +0100 Subject: [PATCH 13/51] fix --- modules/zellij/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index 5bf4396..baa8984 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -7,7 +7,8 @@ xdg.configFile."zellij/layouts/default.kdl".text = '' layout { default_tab_template { - pane size=1 borderless=false { + children + pane size=1 { plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { color_fg "#ffffff" color_fg_alt "#bf8a9f" @@ -57,7 +58,6 @@ tab_separator "#[fg=$fg_dim] | " } } - children } } ''; From 68b5fdc20f2941679e61c93c9c4642f4145a879a Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 08:51:18 +0100 Subject: [PATCH 14/51] moves zjstatus config and removes flake --- flake.nix | 2 - hosts/dnsc-air/default.nix | 4 -- modules/zellij/default.nix | 60 ++---------------------------- modules/zellij/layouts/default.kdl | 55 +++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 63 deletions(-) create mode 100644 modules/zellij/layouts/default.kdl diff --git a/flake.nix b/flake.nix index 0ffa87d..5843aa6 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,6 @@ zellij-switch.url = "github:mostafaqanbaryan/zellij-switch"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; - zjstatus.url = "github:dj95/zjstatus"; }; outputs = @@ -29,7 +28,6 @@ nix-homebrew, agenix, zellij-switch, - zjstatus, ... }@inputs: let diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index 6d9fc73..0ba70db 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -29,9 +29,6 @@ # in modules/default.nix nixpkgs.overlays = [ inputs.zellij-switch.overlays.default - (final: prev: { - zjstatus = inputs.zjstatus.packages.${prev.system}.default; - }) ]; # System Packages @@ -43,7 +40,6 @@ devenv zellij zellij-switch - zjstatus rsync ] ); diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index baa8984..e5ea8bd 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -4,63 +4,9 @@ source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/config.kdl"; }; - xdg.configFile."zellij/layouts/default.kdl".text = '' - layout { - default_tab_template { - children - pane size=1 { - plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { - color_fg "#ffffff" - color_fg_alt "#bf8a9f" - color_fg_dim "#807c9f" - color_bg "#0f0b15" - color_bg_secondary "#1d202f" - color_grey "#807c9f" - color_grey_bright "#807c9f" - color_red "#f47359" - color_red_bright "#ff6a7a" - color_red_subtle_bg "#67182f" - color_green "#29a444" - color_green_bright "#00a392" - color_green_subtle_bg "#10452f" - color_yellow "#b58a52" - color_yellow_bright "#df9080" - color_yellow_brighter "#FCC1B6" - color_yellow_subtle_bg "#54362a" - color_blue "#3f95f6" - color_blue_bright "#029fff" - color_blue_subtle_bg "#2a346e" - color_blue_subtle_dark_bg "#003045" - color_magenta "#d369af" - color_magenta_bright "#af85ea" - color_magenta_brighter "#c57faf" - color_magenta_subtle_bg "#572454" - color_magenta_subtle_bg_darker "#331531" - color_cyan "#4fbaef" - color_cyan_bright "#35afbf" - color_cyan_subtle_bg "#133d56" - color_silver "#b8c6d5" - color_silver_bright "#ffffff" - - format_left "#[bg=$bg_secondary]{tabs}" - format_center "" - format_right "#[fg=$magenta_brighter,italic][{session}] " - - tab_normal "#[fg=$fg_dim][{index}] {name}" - tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" - tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" - - tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" - tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" - tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" - - tab_rename "#[fg=$cyan_bright]{name}" - tab_separator "#[fg=$fg_dim] | " - } - } - } - } - ''; + xdg.configFile."zellij/layouts/default.kdl" = { + source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/layouts/default.kdl"; + }; programs.zellij = { enable = true; diff --git a/modules/zellij/layouts/default.kdl b/modules/zellij/layouts/default.kdl new file mode 100644 index 0000000..4c5bd38 --- /dev/null +++ b/modules/zellij/layouts/default.kdl @@ -0,0 +1,55 @@ +layout { + default_tab_template { + children + pane size=1 borderless=false { + plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { + color_fg "#ffffff" + color_fg_alt "#bf8a9f" + color_fg_dim "#807c9f" + color_bg "#0f0b15" + color_bg_secondary "#1d202f" + color_grey "#807c9f" + color_grey_bright "#807c9f" + color_red "#f47359" + color_red_bright "#ff6a7a" + color_red_subtle_bg "#67182f" + color_green "#29a444" + color_green_bright "#00a392" + color_green_subtle_bg "#10452f" + color_yellow "#b58a52" + color_yellow_bright "#df9080" + color_yellow_brighter "#FCC1B6" + color_yellow_subtle_bg "#54362a" + color_blue "#3f95f6" + color_blue_bright "#029fff" + color_blue_subtle_bg "#2a346e" + color_blue_subtle_dark_bg "#003045" + color_magenta "#d369af" + color_magenta_bright "#af85ea" + color_magenta_brighter "#c57faf" + color_magenta_subtle_bg "#572454" + color_magenta_subtle_bg_darker "#331531" + color_cyan "#4fbaef" + color_cyan_bright "#35afbf" + color_cyan_subtle_bg "#133d56" + color_silver "#b8c6d5" + color_silver_bright "#ffffff" + + format_left "#[bg=$bg_secondary]{tabs}" + format_center "" + format_right "#[fg=$magenta_brighter,italic][{session}] " + + tab_normal "#[fg=$fg_dim][{index}] {name}" + tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" + tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" + + tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" + tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" + tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" + + tab_rename "#[fg=$cyan_bright]{name}" + tab_separator "#[fg=$fg_dim] | " + } + } + } + } From 98bc60baa6609e86a6c9b52b831d3fe85f50cb4a Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 08:59:38 +0100 Subject: [PATCH 15/51] removes things --- flake.lock | 139 ++++------------------------- modules/zellij/default.nix | 6 +- modules/zellij/layouts/default.kdl | 55 ------------ 3 files changed, 19 insertions(+), 181 deletions(-) delete mode 100644 modules/zellij/layouts/default.kdl diff --git a/flake.lock b/flake.lock index 605e372..ae0b6f4 100644 --- a/flake.lock +++ b/flake.lock @@ -38,21 +38,6 @@ "type": "github" } }, - "crane": { - "locked": { - "lastModified": 1765739568, - "narHash": "sha256-gQYx35Of4UDKUjAYvmxjUEh/DdszYeTtT6MDin4loGE=", - "owner": "ipetkov", - "repo": "crane", - "rev": "67d2baff0f9f677af35db61b32b5df6863bcc075", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -81,11 +66,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1767585814, - "narHash": "sha256-7iodv57Ppq05AHVKnS9/IdhhgBYTVpTDZmz2u2enr/E=", + "lastModified": 1767931411, + "narHash": "sha256-/SLSxYFoqDGguH0xaXiCdV5/eeBIeJBBvJxl4jnJgtA=", "owner": "rycee", "repo": "nur-expressions", - "rev": "66bfeb87deb83ca2f9fa2045704b72de52c6433a", + "rev": "45d1193599ec23b4ea0e18d8db76f777095a908e", "type": "gitlab" }, "original": { @@ -95,24 +80,6 @@ "type": "gitlab" } }, - "flake-utils": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -141,11 +108,11 @@ ] }, "locked": { - "lastModified": 1767556355, - "narHash": "sha256-RDTUBDQBi9D4eD9iJQWtUDN/13MDLX+KmE+TwwNUp2s=", + "lastModified": 1767930051, + "narHash": "sha256-YXtqo8h5bAbqC64XAPMMsZdYk8XkwkyNj/7XOsIyVf8=", "owner": "nix-community", "repo": "home-manager", - "rev": "f894bc4ffde179d178d8deb374fcf9855d1a82b7", + "rev": "297a08510894822ddd93ee2cfc66d6ac65a3cebb", "type": "github" }, "original": { @@ -200,11 +167,11 @@ ] }, "locked": { - "lastModified": 1767028240, - "narHash": "sha256-0/fLUqwJ4Z774muguUyn5t8AQ6wyxlNbHexpje+5hRo=", + "lastModified": 1767718503, + "narHash": "sha256-V+VkFs0aSG0ca8p/N3gib7FAf4cq9jyr5Gm+ZBrHQpo=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "c31afa6e76da9bbc7c9295e39c7de9fca1071ea1", + "rev": "9f48ffaca1f44b3e590976b4da8666a9e86e6eb1", "type": "github" }, "original": { @@ -250,11 +217,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1767480499, - "narHash": "sha256-8IQQUorUGiSmFaPnLSo2+T+rjHtiNWc+OAzeHck7N48=", + "lastModified": 1767799921, + "narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30a3c519afcf3f99e2c6df3b359aec5692054d92", + "rev": "d351d0653aeb7877273920cd3e823994e7579b0b", "type": "github" }, "original": { @@ -352,22 +319,6 @@ "type": "github" } }, - "nixpkgs_8": { - "locked": { - "lastModified": 1765934234, - "narHash": "sha256-pJjWUzNnjbIAMIc5gRFUuKCDQ9S1cuh3b2hKgA7Mc4A=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "af84f9d270d404c17699522fab95bbf928a2d92f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -379,8 +330,7 @@ "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable", "zellij-switch": "zellij-switch", - "zen-browser": "zen-browser", - "zjstatus": "zjstatus" + "zen-browser": "zen-browser" } }, "rust-overlay": { @@ -401,27 +351,6 @@ "type": "github" } }, - "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "zjstatus", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765939271, - "narHash": "sha256-7F/d+ZrTYyOxnBZcleQZjOOEWc1IMXR/CLLRLLsVtHo=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "8028944c1339469124639da276d403d8ab7929a8", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -452,21 +381,6 @@ "type": "github" } }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "zellij-switch": { "inputs": { "nixpkgs": "nixpkgs_5", @@ -493,11 +407,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1767568852, - "narHash": "sha256-6s8hL3YX9zAq2T7qvcwwzaEVwc9MEYbW+C2LcAAQfbk=", + "lastModified": 1767763594, + "narHash": "sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "350c729b261e6f5529460140a5f0943dd4c5e156", + "rev": "8b2302d8c10369c9135552cc892da75cff5ddb03", "type": "github" }, "original": { @@ -505,27 +419,6 @@ "repo": "zen-browser-flake", "type": "github" } - }, - "zjstatus": { - "inputs": { - "crane": "crane", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_8", - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1766016463, - "narHash": "sha256-aWp608krMtk5I+c3GXyuHkb6ugah40cBI0R52fNqMiI=", - "owner": "dj95", - "repo": "zjstatus", - "rev": "9a4b88fdceee8eb2b8c28111c53e94254d61c994", - "type": "github" - }, - "original": { - "owner": "dj95", - "repo": "zjstatus", - "type": "github" - } } }, "root": "root", diff --git a/modules/zellij/default.nix b/modules/zellij/default.nix index e5ea8bd..fafe586 100644 --- a/modules/zellij/default.nix +++ b/modules/zellij/default.nix @@ -4,9 +4,9 @@ source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/config.kdl"; }; - xdg.configFile."zellij/layouts/default.kdl" = { - source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/layouts/default.kdl"; - }; + # xdg.configFile."zellij/layouts/default.kdl" = { + # source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/zellij/layouts/default.kdl"; + # }; programs.zellij = { enable = true; diff --git a/modules/zellij/layouts/default.kdl b/modules/zellij/layouts/default.kdl deleted file mode 100644 index 4c5bd38..0000000 --- a/modules/zellij/layouts/default.kdl +++ /dev/null @@ -1,55 +0,0 @@ -layout { - default_tab_template { - children - pane size=1 borderless=false { - plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" { - color_fg "#ffffff" - color_fg_alt "#bf8a9f" - color_fg_dim "#807c9f" - color_bg "#0f0b15" - color_bg_secondary "#1d202f" - color_grey "#807c9f" - color_grey_bright "#807c9f" - color_red "#f47359" - color_red_bright "#ff6a7a" - color_red_subtle_bg "#67182f" - color_green "#29a444" - color_green_bright "#00a392" - color_green_subtle_bg "#10452f" - color_yellow "#b58a52" - color_yellow_bright "#df9080" - color_yellow_brighter "#FCC1B6" - color_yellow_subtle_bg "#54362a" - color_blue "#3f95f6" - color_blue_bright "#029fff" - color_blue_subtle_bg "#2a346e" - color_blue_subtle_dark_bg "#003045" - color_magenta "#d369af" - color_magenta_bright "#af85ea" - color_magenta_brighter "#c57faf" - color_magenta_subtle_bg "#572454" - color_magenta_subtle_bg_darker "#331531" - color_cyan "#4fbaef" - color_cyan_bright "#35afbf" - color_cyan_subtle_bg "#133d56" - color_silver "#b8c6d5" - color_silver_bright "#ffffff" - - format_left "#[bg=$bg_secondary]{tabs}" - format_center "" - format_right "#[fg=$magenta_brighter,italic][{session}] " - - tab_normal "#[fg=$fg_dim][{index}] {name}" - tab_normal_fullscreen "#[fg=$fg_dim][{index}] {name} [Z]" - tab_normal_sync "#[fg=$fg_dim][{index}] {name} [S]" - - tab_active "#[fg=$magenta_brighter,bold][{index}] {name}" - tab_active_fullscreen "#[fg=$magenta_brighter,bold][{index}] {name} [Z]" - tab_active_sync "#[fg=$magenta_brighter,bold][{index}] {name} [S]" - - tab_rename "#[fg=$cyan_bright]{name}" - tab_separator "#[fg=$fg_dim] | " - } - } - } - } From a5400b6d22cbd8bb157aae6450c8ed8c78932478 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 08:59:57 +0100 Subject: [PATCH 16/51] default layout --- modules/zellij/config.kdl | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/zellij/config.kdl b/modules/zellij/config.kdl index f19dbe8..1b3e093 100644 --- a/modules/zellij/config.kdl +++ b/modules/zellij/config.kdl @@ -314,6 +314,7 @@ load_plugins { default_mode "locked" default_shell "fish" +default_layout "compact" pane_frames true scroll_buffer_size 100000 copy_on_select true From 4838f2eb46b6920cccb5528887134ad262d144c4 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 21:57:05 +0100 Subject: [PATCH 17/51] configures tmux --- home/darwin.nix | 2 +- hosts/dnsc-air/default.nix | 6 +---- modules/tmux/default.nix | 52 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 modules/tmux/default.nix diff --git a/home/darwin.nix b/home/darwin.nix index 0bb2f9a..ba014f6 100644 --- a/home/darwin.nix +++ b/home/darwin.nix @@ -18,8 +18,8 @@ ../modules/zoxide ../modules/fish ../modules/nvim + ../modules/tmux ../modules/ghostty - ../modules/zellij ../modules/lazygit ]; diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index 0ba70db..2840566 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -27,9 +27,7 @@ # Device specific overlays # Overlays for all devices are defined # in modules/default.nix - nixpkgs.overlays = [ - inputs.zellij-switch.overlays.default - ]; + nixpkgs.overlays = []; # System Packages environment.systemPackages = lib.mkAfter ( @@ -38,8 +36,6 @@ yt-dlp fnm devenv - zellij - zellij-switch rsync ] ); diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix new file mode 100644 index 0000000..2c1b962 --- /dev/null +++ b/modules/tmux/default.nix @@ -0,0 +1,52 @@ +{ config, pkgs, ... }: + +{ + programs.tmux = { + enable = true; + baseIndex = 1; + clock24 = true; + disableConfirmationPrompt = true; + mouse = true; + newSession = true; + prefix = "C-b"; + shell = "${pkgs.fish}/bin/fish"; + terminal = "screen-256color"; + plugins = with pkgs; [ + { + plugin = tmuxPlugins.resurrect; + extraConfig = '' + set -g @resurrect-strategy-nvim 'session' + set -g @resurrect-capture-pane-contents 'on' + ''; + } + { + plugin = tmuxPlugins.continuum; + extraConfig = '' + set -g @continuum-restore 'on' + set -g @continuum-boot 'on' + set -g @continuum-save-interval '10' + ''; + } + ] + extraConfig = '' + unbind % + bind | split-window -h + unbind '"' + bind - split-window -v + + bind r source-file ~/.tmux.conf \; display "Config reloaded!" + + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + bind -r H resize-pane -L 5 + bind -r J resize-pane -D 5 + bind -r K resize-pane -U 5 + bind -r L resize-pane -R 5 + + bind ? list-keys -a + ''; + } +} From ac8926622ba286a006a0a08f1b988711c5a8cbf0 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 21:58:03 +0100 Subject: [PATCH 18/51] fixes config --- modules/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 2c1b962..ff32bfb 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -27,7 +27,7 @@ set -g @continuum-save-interval '10' ''; } - ] + ]; extraConfig = '' unbind % bind | split-window -h From 4546e0a23c2be3738f2ec8375b54425c20defd11 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 21:58:37 +0100 Subject: [PATCH 19/51] adds missing char --- modules/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index ff32bfb..0981bac 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -48,5 +48,5 @@ bind ? list-keys -a ''; - } + }; } From df55e2a7e1058e79d33c2f2a86919ebe5e01d220 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 22:00:45 +0100 Subject: [PATCH 20/51] installs tmux via home-manager --- modules/tmux/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 0981bac..48080fb 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -1,6 +1,14 @@ { config, pkgs, ... }: { + + home.packages = lib.mkAfter ( + with pkgs; + [ + tmux + ] + ); + programs.tmux = { enable = true; baseIndex = 1; From 5991f57010cc8d63a13239ef2438127094179d68 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 22:02:19 +0100 Subject: [PATCH 21/51] adds missing import --- modules/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 48080fb..509d6a6 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { From 633ead3aa987dc48b3a78c2df08fd35141da9a5f Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 22:04:14 +0100 Subject: [PATCH 22/51] installs tmux --- modules/tmux/default.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 509d6a6..fba9878 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -1,16 +1,9 @@ { config, pkgs, lib, ... }: { - - home.packages = lib.mkAfter ( - with pkgs; - [ - tmux - ] - ); - programs.tmux = { enable = true; + package = pkgs.tmux; baseIndex = 1; clock24 = true; disableConfirmationPrompt = true; From c4ba382d35e1f6f274d84a34fc1f731958c28bea Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 9 Jan 2026 22:05:32 +0100 Subject: [PATCH 23/51] install tmux --- hosts/dnsc-air/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index 2840566..4f6077f 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -37,6 +37,7 @@ fnm devenv rsync + tmux ] ); From 8ca6fd79adc12d8b249bfbff9a9ecdb5a6691633 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 16:24:15 +0100 Subject: [PATCH 24/51] uses tmux on linux --- home/linux.nix | 3 ++- hosts/dnsc-machine/default.nix | 9 +-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/home/linux.nix b/home/linux.nix index cc52cb5..e9bb96b 100644 --- a/home/linux.nix +++ b/home/linux.nix @@ -39,6 +39,7 @@ krita gpustat librewolf + tmux ]; imports = [ @@ -49,7 +50,7 @@ ../modules/nvim ../modules/ghostty/linux.nix ../modules/fish - ../modules/zellij + ../modules/tmux ../modules/mpv ../modules/zen ../modules/wm/swaync diff --git a/hosts/dnsc-machine/default.nix b/hosts/dnsc-machine/default.nix index 0bc92e9..bdc41a3 100644 --- a/hosts/dnsc-machine/default.nix +++ b/hosts/dnsc-machine/default.nix @@ -28,7 +28,6 @@ # Overlays for all devices are defined # in flake.nix nixpkgs.overlays = [ - inputs.zellij-switch.overlays.default (final: prev: { python3Packages = prev.python3Packages // { python-dbusmock = @@ -70,13 +69,7 @@ }; # System Packages - environment.systemPackages = lib.mkAfter ( - with pkgs; - [ - zellij - zellij-switch - ] - ); + environment.systemPackages = lib.mkAfter (with pkgs; [ ]); # Enable some services that do not need configuration services.openssh.enable = true; From 4681cd4ce87b95912387d2fbe8bd71885d7c496d Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 16:29:11 +0100 Subject: [PATCH 25/51] updates packages --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index ae0b6f4..71341e4 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1767931411, - "narHash": "sha256-/SLSxYFoqDGguH0xaXiCdV5/eeBIeJBBvJxl4jnJgtA=", + "lastModified": 1768033395, + "narHash": "sha256-fLLap7Ns/9JHmeEjRXYYW42CoJxeVwTql++rrUdwAX8=", "owner": "rycee", "repo": "nur-expressions", - "rev": "45d1193599ec23b4ea0e18d8db76f777095a908e", + "rev": "3ba4e1bf942b39d572f06b4939566eeb2624288f", "type": "gitlab" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1767930051, - "narHash": "sha256-YXtqo8h5bAbqC64XAPMMsZdYk8XkwkyNj/7XOsIyVf8=", + "lastModified": 1768018810, + "narHash": "sha256-WREj1ZQ2wSGtyPAhQJ3SX/7PJ29PNKv04h/7NgqUS+M=", "owner": "nix-community", "repo": "home-manager", - "rev": "297a08510894822ddd93ee2cfc66d6ac65a3cebb", + "rev": "7c5d9345ad7cc38832cd4007f5cd03daad64d75b", "type": "github" }, "original": { @@ -261,11 +261,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1767364772, - "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", + "lastModified": 1767995494, + "narHash": "sha256-2EwKigq/8Yfl0D1+BaqsF1qh40DxX+rDdDyw1razX/Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", + "rev": "45a1530683263666f42d1de4cdda328109d5a676", "type": "github" }, "original": { @@ -407,11 +407,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1767763594, - "narHash": "sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs=", + "lastModified": 1768052363, + "narHash": "sha256-+oWdj611bRY290wkkQCQFPYToGgPhOxpF1RLco3pLOg=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "8b2302d8c10369c9135552cc892da75cff5ddb03", + "rev": "6cc402ae032b7be1705da52b15e4e68f7331c4c1", "type": "github" }, "original": { From 0bbd14e0106964f4941415679e6811a0ef1a3d19 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 16:33:28 +0100 Subject: [PATCH 26/51] deprecated --- modules/mpv/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mpv/default.nix b/modules/mpv/default.nix index 255c199..ac5648e 100644 --- a/modules/mpv/default.nix +++ b/modules/mpv/default.nix @@ -1,10 +1,10 @@ -{ pkgs, ... }: +{ pkgs, ... }: { programs.mpv = { enable = true; package = ( - pkgs.mpv-unwrapped.wrapper { + pkgs.mpv.override { scripts = with pkgs.mpvScripts; [ uosc sponsorblock @@ -12,7 +12,7 @@ mpv-notify-send ]; - mpv = pkgs.mpv-unwrapped.override { + mpv = pkgs.mpv.override { waylandSupport = true; }; } From bfe6b2624237d455f789c25d2865b37186798430 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 16:34:50 +0100 Subject: [PATCH 27/51] fix --- modules/mpv/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/modules/mpv/default.nix b/modules/mpv/default.nix index ac5648e..c45ca08 100644 --- a/modules/mpv/default.nix +++ b/modules/mpv/default.nix @@ -4,17 +4,14 @@ programs.mpv = { enable = true; package = ( - pkgs.mpv.override { + pkgs.mpv-unwrapped.override { scripts = with pkgs.mpvScripts; [ uosc sponsorblock mpris mpv-notify-send ]; - - mpv = pkgs.mpv.override { - waylandSupport = true; - }; + waylandSupport = true; } ); From e3c18f92852c7184df008d68bd8511f5a0caf6b4 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 16:36:22 +0100 Subject: [PATCH 28/51] revert --- modules/mpv/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/mpv/default.nix b/modules/mpv/default.nix index c45ca08..5db4a90 100644 --- a/modules/mpv/default.nix +++ b/modules/mpv/default.nix @@ -4,14 +4,17 @@ programs.mpv = { enable = true; package = ( - pkgs.mpv-unwrapped.override { + pkgs.mpv-unwrapped.wrapper { scripts = with pkgs.mpvScripts; [ uosc sponsorblock mpris mpv-notify-send ]; - waylandSupport = true; + + mpv = pkgs.mpv-unwrapped.override { + waylandSupport = true; + }; } ); From cce43517a943c129348cc89794f491b90bf9ef76 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 16:39:20 +0100 Subject: [PATCH 29/51] removes mpv --- home/linux.nix | 1 - modules/mpv/default.nix | 27 --------------------------- 2 files changed, 28 deletions(-) delete mode 100644 modules/mpv/default.nix diff --git a/home/linux.nix b/home/linux.nix index e9bb96b..168d4c7 100644 --- a/home/linux.nix +++ b/home/linux.nix @@ -51,7 +51,6 @@ ../modules/ghostty/linux.nix ../modules/fish ../modules/tmux - ../modules/mpv ../modules/zen ../modules/wm/swaync ../modules/wm/cliphist diff --git a/modules/mpv/default.nix b/modules/mpv/default.nix deleted file mode 100644 index 5db4a90..0000000 --- a/modules/mpv/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ pkgs, ... }: - -{ - programs.mpv = { - enable = true; - package = ( - pkgs.mpv-unwrapped.wrapper { - scripts = with pkgs.mpvScripts; [ - uosc - sponsorblock - mpris - mpv-notify-send - ]; - - mpv = pkgs.mpv-unwrapped.override { - waylandSupport = true; - }; - } - ); - - config = { - profile = "high-quality"; - ytdl-format = "bestvideo+bestaudio"; - cache-default = 4000000; - }; - }; -} From 88e093176251412542977571e62a29929d924891 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 20:21:13 +0100 Subject: [PATCH 30/51] improves tmux config --- modules/fish/default.nix | 16 +++++++++++----- modules/tmux/default.nix | 23 ++++++++++++++++++----- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 523179d..fac5a87 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -70,18 +70,24 @@ end ''; sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf --prompt "Create/switch to session: ") + set -l selected (dev_projects | fzf --prompt "Create/switch to session: " --reverse --header ' Ctrl-d: Kill Session' --bind 'ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)') if test -z "$selected" return 1 end set -l session_name (basename $selected) + set -l tmux_runnning (pgrep tmux) - if test $ZELLIJ -eq 0 - zellij pipe --plugin file:/run/current-system/sw/bin/zellij-switch.wasm -- "--session $session_name --cwd $selected --layout default" - else - zellij attach "$session_name" --create + if test -z $TMUX and -z @tmux_running + tmux new-session -s $selected_name -c $selected + return 0 end + + if not tmux has-session -t=$selected_name 2> /dev/null + tmux new-session -ds $selected_name -c $selected + end + + tmux switch-client -t $selected_name ''; nn = /* fish */ '' # Require a title argument diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index fba9878..bc944de 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { programs.tmux = { @@ -31,23 +36,31 @@ ]; extraConfig = '' unbind % - bind | split-window -h + bind "|" split-window -h unbind '"' - bind - split-window -v + bind - split-window -l 30 -v - bind r source-file ~/.tmux.conf \; display "Config reloaded!" + bind r source-file ~/.config/tmux/tmux.conf \; display "Config reloaded!" bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R - + bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 bind ? list-keys -a + + unbind s + bind s display-popup -h 50% -w 50% -E sessionizer + + unbind "+" + bind "+" choose-tree -Zw "join-pane -t '%%'" + + set -g mode-keys vi ''; }; } From 7f2284056346e1fc6242746513f4a44ae4232d8b Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:05:36 +0100 Subject: [PATCH 31/51] updates fish and tmux config --- modules/fish/default.nix | 2 +- modules/tmux/default.nix | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index fac5a87..8d27a5c 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -78,7 +78,7 @@ set -l session_name (basename $selected) set -l tmux_runnning (pgrep tmux) - if test -z $TMUX and -z @tmux_running + if test -z $TMUX && -z @tmux_running tmux new-session -s $selected_name -c $selected return 0 end diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index bc944de..922cd1c 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -55,10 +55,10 @@ bind ? list-keys -a unbind s - bind s display-popup -h 50% -w 50% -E sessionizer + bind-key -r s "display-popup -h 50% -w 50% -E sessionizer" - unbind "+" - bind "+" choose-tree -Zw "join-pane -t '%%'" + unbind v + bind v choose-tree -Zw "join-pane -t '%%'" set -g mode-keys vi ''; From 8ff5626cd836cc737ae8150f122a8dbbbc79b354 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:09:06 +0100 Subject: [PATCH 32/51] some new niri keybinds --- modules/wm/niri/config/config.kdl | 39 ++++--------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/modules/wm/niri/config/config.kdl b/modules/wm/niri/config/config.kdl index 699fe9e..105babe 100644 --- a/modules/wm/niri/config/config.kdl +++ b/modules/wm/niri/config/config.kdl @@ -325,52 +325,21 @@ binds { Mod+K { focus-window-or-workspace-up; } Mod+L { focus-column-right; } - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+L { move-column-right; } - Mod+Ctrl+J { move-window-down-or-to-workspace-down; } - Mod+Ctrl+K { move-window-up-or-to-workspace-up; } + Mod+Shift+H { move-column-left; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+L { move-column-right; } Mod+A { focus-column-first; } Mod+E { focus-column-last; } Mod+Ctrl+A { move-column-to-first; } Mod+Ctrl+E { move-column-to-last; } - Mod+Shift+Left { focus-monitor-left; } - Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+Up { focus-monitor-up; } - Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+J { focus-monitor-down; } - Mod+Shift+K { focus-monitor-up; } - Mod+Shift+L { focus-monitor-right; } - - // Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - // Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - // Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - // Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - // Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - // Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - // Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - // Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - // Alternatively, there are commands to move just a single window: - // Mod+Shift+Ctrl+Left { move-window-to-monitor-left; } - // ... - // And you can also move a whole workspace to another monitor: - // Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; } - // ... - Mod+D { focus-workspace-down; } Mod+U { focus-workspace-up; } Mod+Ctrl+D { move-column-to-workspace-down; } Mod+Ctrl+U { move-column-to-workspace-up; } - // Alternatively, there are commands to move just a single window: - // Mod+Ctrl+Page_Down { move-window-to-workspace-down; } - // ... Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } From 30bb8fea251e408e168906d9e1c769108b945179 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:09:53 +0100 Subject: [PATCH 33/51] fixes sessionizer --- modules/fish/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 8d27a5c..02c6467 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -79,15 +79,15 @@ set -l tmux_runnning (pgrep tmux) if test -z $TMUX && -z @tmux_running - tmux new-session -s $selected_name -c $selected + tmux new-session -s $session_name -c $selected return 0 end if not tmux has-session -t=$selected_name 2> /dev/null - tmux new-session -ds $selected_name -c $selected + tmux new-session -ds $session_name -c $selected end - tmux switch-client -t $selected_name + tmux switch-client -t $session_name ''; nn = /* fish */ '' # Require a title argument From 8a8f11abe268c55377cd9f1f9d281a6df1ce2a2d Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:11:31 +0100 Subject: [PATCH 34/51] fixes session management --- modules/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 922cd1c..e33e2cb 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -55,7 +55,7 @@ bind ? list-keys -a unbind s - bind-key -r s "display-popup -h 50% -w 50% -E sessionizer" + bind-key -r s display-popup -h 50% -w 50% -E sessionizer unbind v bind v choose-tree -Zw "join-pane -t '%%'" From c8a5a26ef8bb5b77a68509ddc11298815e24a1af Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:24:21 +0100 Subject: [PATCH 35/51] trying some more fixes --- modules/fish/default.nix | 10 +++++++--- modules/tmux/default.nix | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 02c6467..9e279be 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -70,7 +70,11 @@ end ''; sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf --prompt "Create/switch to session: " --reverse --header ' Ctrl-d: Kill Session' --bind 'ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)') + set -l selected (dev_projects | fzf \ + --prompt "Create/switch to session: " \ + --header ' Ctrl-d: Kill Session ' \ + --bind 'ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)') + if test -z "$selected" return 1 end @@ -78,12 +82,12 @@ set -l session_name (basename $selected) set -l tmux_runnning (pgrep tmux) - if test -z $TMUX && -z @tmux_running + if test -z $TMUX && -z $tmux_running tmux new-session -s $session_name -c $selected return 0 end - if not tmux has-session -t=$selected_name 2> /dev/null + if not tmux has-session -t=$session_name 2> /dev/null tmux new-session -ds $session_name -c $selected end diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index e33e2cb..ca3abcc 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -17,6 +17,7 @@ prefix = "C-b"; shell = "${pkgs.fish}/bin/fish"; terminal = "screen-256color"; + keyMode = "vi"; plugins = with pkgs; [ { plugin = tmuxPlugins.resurrect; @@ -55,12 +56,12 @@ bind ? list-keys -a unbind s - bind-key -r s display-popup -h 50% -w 50% -E sessionizer + bind s display-popup -h 50% -w 50% -E sessionizer unbind v bind v choose-tree -Zw "join-pane -t '%%'" - set -g mode-keys vi + bindkey -r '\e/' ''; }; } From 0ade5a05ebbc7ef4b946ec5ae53a7ce9bf4e5382 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:27:04 +0100 Subject: [PATCH 36/51] fix --- modules/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index ca3abcc..27b2c4f 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -61,7 +61,7 @@ unbind v bind v choose-tree -Zw "join-pane -t '%%'" - bindkey -r '\e/' + set -s escape-time 0 ''; }; } From 445050aaa82f2ac164eca6c91ec8be670084cf2f Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:54:09 +0100 Subject: [PATCH 37/51] fix fix fix --- modules/fish/default.nix | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 9e279be..6887dbf 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -69,11 +69,14 @@ end end ''; - sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf \ + fzf_sessionizer = /* fish */ '' + fzf \ --prompt "Create/switch to session: " \ - --header ' Ctrl-d: Kill Session ' \ - --bind 'ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)') + --header " Ctrl-d: Kill Session " \ + --bind "ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)" + ''; + sessionizer = /* fish */ '' + set -l selected (dev_projects | fzf_sessionizer) if test -z "$selected" return 1 @@ -82,7 +85,7 @@ set -l session_name (basename $selected) set -l tmux_runnning (pgrep tmux) - if test -z $TMUX && -z $tmux_running + if test -z $TMUX && test -z $tmux_running tmux new-session -s $session_name -c $selected return 0 end @@ -93,6 +96,9 @@ tmux switch-client -t $session_name ''; + tmux_sessionizer = /* fish */ '' + tmux display-popup -h 50% -w 80% -E sessionizer + ''; nn = /* fish */ '' # Require a title argument if test (count $argv) -lt 1 @@ -232,6 +238,11 @@ # Third party integration not covered by # home manager's enableFishIntegration fnm env --use-on-cd --shell fish | source + + # Auto start tmux + if status --is-interactive; and not set -q TMUX + tmux attach-session -d -t main || tmux new-session -s main + end ''; shellAbbrs = { From 345840360ebabae9d3bd2cdb45e3e5956ad67107 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:54:21 +0100 Subject: [PATCH 38/51] fix fix fix --- modules/tmux/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 27b2c4f..c0ca97e 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -18,6 +18,7 @@ shell = "${pkgs.fish}/bin/fish"; terminal = "screen-256color"; keyMode = "vi"; + escapeTime = 0; plugins = with pkgs; [ { plugin = tmuxPlugins.resurrect; @@ -56,12 +57,10 @@ bind ? list-keys -a unbind s - bind s display-popup -h 50% -w 50% -E sessionizer + bind s tmux_sessionizer unbind v bind v choose-tree -Zw "join-pane -t '%%'" - - set -s escape-time 0 ''; }; } From 6eb023b1f1c43a936bc64a87e5f86e3f3b139506 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 21:54:37 +0100 Subject: [PATCH 39/51] fix fix fix fix --- modules/fish/default.nix | 1 + modules/tmux/default.nix | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 6887dbf..aea28ef 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -226,6 +226,7 @@ set fish_cursor_default block blink fish_vi_key_bindings insert + fish_vi_cursor xterm setup_winterly_theme_colors setup_env diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index c0ca97e..c39b22b 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -37,6 +37,13 @@ } ]; extraConfig = '' + set -s escape-time 0 + + set -g status-position top + set -g status-style bg=default,fg=white + set -g status-left '#[bg=magenta,fg=white]#I#[bg=default, fg=white]:#P' + set -g status-right '#[bg=default,fg=magenta]>> #S' + unbind % bind "|" split-window -h unbind '"' @@ -57,7 +64,7 @@ bind ? list-keys -a unbind s - bind s tmux_sessionizer + bind s run-shell "tmux-sessionizer" unbind v bind v choose-tree -Zw "join-pane -t '%%'" From 4bd12f8b643f4c26391034d2ba90c08eaa6d6171 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:03:52 +0100 Subject: [PATCH 40/51] and more more more fixes --- modules/fish/default.nix | 12 +----------- modules/tmux/default.nix | 2 -- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index aea28ef..7cbfaf9 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -14,16 +14,6 @@ kill_tunnels = /* fish */ '' ps -o pid,command | grep "^[0-9]\{4,5\} ssh -NL" | awk '{print $1}' | xargs kill -9 ''; - fzf = /* fish */ '' - set -Ux FZF_DEFAULT_OPTS " - --color=fg:#ffffff,bg:#0d0e1c,hl:#ef8386 - --color=fg+:#ffffff,bg+:#1d2235,hl+:#ef8386 - --color=border:#61647a,header:#88ca9f,gutter:#0d0e1c - --color=spinner:#fec43f,info:#00bcff - --color=pointer:#feacd0,marker:#ff5f59,prompt:#9ac8e0" - - command fzf - ''; dev_projects = /* fish */ '' if test "$hn" = "dnsc-work" begin @@ -70,7 +60,7 @@ end ''; fzf_sessionizer = /* fish */ '' - fzf \ + command fzf \ --prompt "Create/switch to session: " \ --header " Ctrl-d: Kill Session " \ --bind "ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)" diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index c39b22b..5c740e7 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -39,9 +39,7 @@ extraConfig = '' set -s escape-time 0 - set -g status-position top set -g status-style bg=default,fg=white - set -g status-left '#[bg=magenta,fg=white]#I#[bg=default, fg=white]:#P' set -g status-right '#[bg=default,fg=magenta]>> #S' unbind % From 0e1ee008454360eb8a3f64baad3a81ed80b08a76 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:09:21 +0100 Subject: [PATCH 41/51] fixes --- modules/tmux/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 5c740e7..9f57b71 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -37,8 +37,6 @@ } ]; extraConfig = '' - set -s escape-time 0 - set -g status-style bg=default,fg=white set -g status-right '#[bg=default,fg=magenta]>> #S' @@ -47,7 +45,7 @@ unbind '"' bind - split-window -l 30 -v - bind r source-file ~/.config/tmux/tmux.conf \; display "Config reloaded!" + bind r source-file ~/.config/tmux/tmux.conf bind h select-pane -L bind j select-pane -D @@ -62,7 +60,7 @@ bind ? list-keys -a unbind s - bind s run-shell "tmux-sessionizer" + bind s run-shell "tmux_sessionizer" unbind v bind v choose-tree -Zw "join-pane -t '%%'" From 4f1d119079475a9b8171076daf0d7f9ed9aedc23 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:27:07 +0100 Subject: [PATCH 42/51] and more --- modules/fish/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 7cbfaf9..9405975 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -59,14 +59,12 @@ end end ''; - fzf_sessionizer = /* fish */ '' - command fzf \ + sessionizer = /* fish */ '' + set -l selected (dev_projects | command fzf \ --prompt "Create/switch to session: " \ --header " Ctrl-d: Kill Session " \ - --bind "ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)" - ''; - sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf_sessionizer) + --bind "ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)") + if test -z "$selected" return 1 From 45b61d85c267842c64409a88fd01206ce173c61e Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:29:06 +0100 Subject: [PATCH 43/51] fixes fixes --- modules/fish/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 9405975..ad4fa6b 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -229,8 +229,14 @@ fnm env --use-on-cd --shell fish | source # Auto start tmux - if status --is-interactive; and not set -q TMUX - tmux attach-session -d -t main || tmux new-session -s main + if status is-interactive; and not set -q TMUX + if tmux list-sessions >/dev/null 2>&1 + # Attach to the first available session + tmux attach-session + else + # Create a new session + tmux new-session -t default + end end ''; From 3836897215ef15c775c1cb45ed9cf78cbc419d70 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:38:05 +0100 Subject: [PATCH 44/51] fixes tmux colors --- modules/tmux/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 9f57b71..fc4c1e3 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -37,8 +37,13 @@ } ]; extraConfig = '' + set -g status-position bottom set -g status-style bg=default,fg=white - set -g status-right '#[bg=default,fg=magenta]>> #S' + set -g status-left ' [#I] #W ' + set -g status-right '#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H ' + set -g window-status-current-style bg=default,fg=magenta,bold + set -g pane-border-style fg=gray + set -g pane-active-border-style fg=magenta unbind % bind "|" split-window -h From 1f2f23a8608bfb9b33bc0a4620268f6532051a4b Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:39:24 +0100 Subject: [PATCH 45/51] fixes bg color --- modules/tmux/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index fc4c1e3..6edfb70 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -1,7 +1,5 @@ { - config, pkgs, - lib, ... }: @@ -38,7 +36,7 @@ ]; extraConfig = '' set -g status-position bottom - set -g status-style bg=default,fg=white + set -g status-style bg=#1d202f,fg=white set -g status-left ' [#I] #W ' set -g status-right '#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H ' set -g window-status-current-style bg=default,fg=magenta,bold From 805060dd522a2d1c4b045589591ff9ed7453c39a Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 22:49:30 +0100 Subject: [PATCH 46/51] some more fixes --- modules/fish/default.nix | 5 ++--- modules/tmux/default.nix | 11 ++++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index ad4fa6b..600e3bd 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -63,15 +63,14 @@ set -l selected (dev_projects | command fzf \ --prompt "Create/switch to session: " \ --header " Ctrl-d: Kill Session " \ - --bind "ctrl-d:execute(tmux kill-session -t {2..})++reload(dev_projects)") - + --bind "ctrl-d:execute(tmux kill-session -t {1})++reload(dev_projects)") if test -z "$selected" return 1 end set -l session_name (basename $selected) - set -l tmux_runnning (pgrep tmux) + set -l tmux_running (pgrep tmux) if test -z $TMUX && test -z $tmux_running tmux new-session -s $session_name -c $selected diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 6edfb70..7ad0c97 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -35,20 +35,21 @@ } ]; extraConfig = '' - set -g status-position bottom + set -g status-position top set -g status-style bg=#1d202f,fg=white - set -g status-left ' [#I] #W ' - set -g status-right '#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H ' + set -g status-left "" + set -g status-right "#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H " set -g window-status-current-style bg=default,fg=magenta,bold + set-window-option -g window-status-format "[#I] #W#F" set -g pane-border-style fg=gray set -g pane-active-border-style fg=magenta unbind % bind "|" split-window -h unbind '"' - bind - split-window -l 30 -v + bind - split-window -l 15 -v - bind r source-file ~/.config/tmux/tmux.conf + bind r source-file "~/.config/tmux/tmux.conf" bind h select-pane -L bind j select-pane -D From 1923debf712d3dce82e51efec2bd548961b77156 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 23:05:18 +0100 Subject: [PATCH 47/51] and again --- modules/fish/default.nix | 2 +- modules/tmux/default.nix | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 600e3bd..bab783b 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -60,7 +60,7 @@ end ''; sessionizer = /* fish */ '' - set -l selected (dev_projects | command fzf \ + set -l selected (dev_projects | fzf \ --prompt "Create/switch to session: " \ --header " Ctrl-d: Kill Session " \ --bind "ctrl-d:execute(tmux kill-session -t {1})++reload(dev_projects)") diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 7ad0c97..5ad3ef8 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -37,10 +37,11 @@ extraConfig = '' set -g status-position top set -g status-style bg=#1d202f,fg=white - set -g status-left "" + set -g status-left " " set -g status-right "#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H " set -g window-status-current-style bg=default,fg=magenta,bold set-window-option -g window-status-format "[#I] #W#F" + set-window-option -g window-active-status-format "[#I] #W#F" set -g pane-border-style fg=gray set -g pane-active-border-style fg=magenta From 4a05bf942d783acd04a79092e0eaac25e8214ecb Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 23:08:20 +0100 Subject: [PATCH 48/51] fix vi cursor --- modules/fish/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index bab783b..6d669fd 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -210,7 +210,6 @@ # Set some global values set -x GPG_TTY (tty) set hn (prompt_hostname) - set fish_cursor_default block blink fish_vi_key_bindings insert fish_vi_cursor xterm From f6c31436fd8a84ce2b730d99dea45e08a9f429e3 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sat, 10 Jan 2026 23:16:31 +0100 Subject: [PATCH 49/51] sessionzier --- modules/fish/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 6d669fd..26307cb 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -60,10 +60,7 @@ end ''; sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf \ - --prompt "Create/switch to session: " \ - --header " Ctrl-d: Kill Session " \ - --bind "ctrl-d:execute(tmux kill-session -t {1})++reload(dev_projects)") + set -l selected (dev_projects | fzf --prompt "Create/switch to session: " --header " Ctrl-d: Kill Session " --bind "ctrl-d:execute(tmux kill-session -t {1})++reload(dev_projects)") if test -z "$selected" return 1 From ef25f95ceab08b5c72c71fa9c4475aa0ac814a8c Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sun, 11 Jan 2026 14:54:47 +0100 Subject: [PATCH 50/51] adds new functionality - gamemode for steam - sessionizer fix - fixes keybinds for moving column up/down in niri - tmux statusline fix --- modules/fish/default.nix | 2 +- modules/steam/default.nix | 1 + modules/tmux/default.nix | 2 +- modules/wm/niri/config/config.kdl | 5 ++--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 26307cb..008572d 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -60,7 +60,7 @@ end ''; sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf --prompt "Create/switch to session: " --header " Ctrl-d: Kill Session " --bind "ctrl-d:execute(tmux kill-session -t {1})++reload(dev_projects)") + set -l selected (dev_projects | fzf --prompt "Create/switch to session: " --header " Ctrl-d: Kill Session " --bind "ctrl-d:execute(tmux kill-session -t basename {})+reload(dev_projects)") if test -z "$selected" return 1 diff --git a/modules/steam/default.nix b/modules/steam/default.nix index 65035f8..188f583 100644 --- a/modules/steam/default.nix +++ b/modules/steam/default.nix @@ -1,4 +1,5 @@ { + programs.gamemode.enable = true; programs.steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index 5ad3ef8..c79afd0 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -41,7 +41,7 @@ set -g status-right "#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H " set -g window-status-current-style bg=default,fg=magenta,bold set-window-option -g window-status-format "[#I] #W#F" - set-window-option -g window-active-status-format "[#I] #W#F" + set-window-option -g window-status-current-format "[#I] #W#F" set -g pane-border-style fg=gray set -g pane-active-border-style fg=magenta diff --git a/modules/wm/niri/config/config.kdl b/modules/wm/niri/config/config.kdl index 105babe..a65f04f 100644 --- a/modules/wm/niri/config/config.kdl +++ b/modules/wm/niri/config/config.kdl @@ -326,8 +326,8 @@ binds { Mod+L { focus-column-right; } Mod+Shift+H { move-column-left; } - Mod+Shift+J { move-window-down; } - Mod+Shift+K { move-window-up; } + Mod+Shift+J { move-column-to-workspace-down; } + Mod+Shift+K { move-column-to-workspace-up; } Mod+Shift+L { move-column-right; } Mod+A { focus-column-first; } @@ -340,7 +340,6 @@ binds { Mod+Ctrl+D { move-column-to-workspace-down; } Mod+Ctrl+U { move-column-to-workspace-up; } - Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } Mod+Shift+U { move-workspace-down; } From fbb84fffaef386a5e7f4e1469efa6b464ba23b5e Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Sun, 11 Jan 2026 15:00:27 +0100 Subject: [PATCH 51/51] extends sessionizer with active sessions --- modules/fish/default.nix | 11 ++++++++++- modules/tmux/default.nix | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/fish/default.nix b/modules/fish/default.nix index 008572d..b3d4caf 100644 --- a/modules/fish/default.nix +++ b/modules/fish/default.nix @@ -59,8 +59,17 @@ end end ''; + _sessionizer_list = /* fish */ '' + # Get existing tmux sessions if tmux is running + if tmux list-sessions >/dev/null 2>&1 + tmux list-sessions -F '#{session_name}' + end + + # Add development projects + dev_projects + ''; sessionizer = /* fish */ '' - set -l selected (dev_projects | fzf --prompt "Create/switch to session: " --header " Ctrl-d: Kill Session " --bind "ctrl-d:execute(tmux kill-session -t basename {})+reload(dev_projects)") + set -l selected (_sessionizer_list | fzf --prompt "Create/switch to session: " --header " Ctrl-d: Kill Session " --bind "ctrl-d:execute(tmux kill-session -t basename {})+reload(dev_projects)") if test -z "$selected" return 1 diff --git a/modules/tmux/default.nix b/modules/tmux/default.nix index c79afd0..5ada6d9 100644 --- a/modules/tmux/default.nix +++ b/modules/tmux/default.nix @@ -65,7 +65,7 @@ bind ? list-keys -a unbind s - bind s run-shell "tmux_sessionizer" + bind s display-popup -h 50% -w 80% -E sessionizer unbind v bind v choose-tree -Zw "join-pane -t '%%'"