switch tmux -> zellij

This commit is contained in:
gwg313 2026-04-16 23:07:23 -04:00
parent 8901da10f7
commit 356daee7d1
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
4 changed files with 235 additions and 2 deletions

109
flake.lock generated
View file

@ -68,6 +68,21 @@
"type": "github" "type": "github"
} }
}, },
"crane": {
"locked": {
"lastModified": 1775790182,
"narHash": "sha256-pG2RWVQY0Pe+rmmXJx+Jpyi+JcgjWzS18m7fcD1B64Q=",
"owner": "ipetkov",
"repo": "crane",
"rev": "534982f1c41834b101e381b07b1121a4f065a374",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -160,6 +175,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems_4"
},
"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"
}
},
"fromYaml": { "fromYaml": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -408,6 +441,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1775763530,
"narHash": "sha256-BuTK9z1QEwWPOIakQ1gCN4pa4VwVJpfptYCviy2uOGc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b0188973b4b2a5b6bdba8b65381d6cd09a533da0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"noctalia": { "noctalia": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -515,7 +564,29 @@
"secrets": "secrets", "secrets": "secrets",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix",
"wrapper-modules": "wrapper-modules" "wrapper-modules": "wrapper-modules",
"zjstatus": "zjstatus"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"zjstatus",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775790837,
"narHash": "sha256-RAHjn8sjgfF3D17BaV8iv69o3P+L9aCuE36PFwzoqHU=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c913e0b9525311f103b7e1463ebb0f28c6865d8d",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
} }
}, },
"secrets": { "secrets": {
@ -632,6 +703,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": { "tinted-foot": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -785,6 +871,27 @@
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"type": "github" "type": "github"
} }
},
"zjstatus": {
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_3",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1775885119,
"narHash": "sha256-YNcOUBFt3dYFbhpgIGEPTdBi5vH3LbEGfRoTUokfmyw=",
"owner": "dj95",
"repo": "zjstatus",
"rev": "4ef69ff55930373d60f6c85afc39b2494850feeb",
"type": "github"
},
"original": {
"owner": "dj95",
"repo": "zjstatus",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -30,6 +30,9 @@
url = "github:nix-community/nix-index-database"; url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zjstatus = {
url = "github:dj95/zjstatus";
};
secrets.url = "git+ssh://git@github.com/gwg313/nixos-secrets.git"; secrets.url = "git+ssh://git@github.com/gwg313/nixos-secrets.git";
}; };

View file

@ -0,0 +1,123 @@
{ inputs, ... }:
{
config.dendritic.features.cli-zellij = {
homeModules = [
(
{
config,
pkgs,
...
}:
let
zjstatus-pkg = inputs.zjstatus.packages.${pkgs.system}.default;
in
{
stylix.targets.zellij.enable = false;
stylix.targets.tmux.enable = false;
programs.zellij = {
enable = true;
settings = {
show_startup_tips = false;
pane_frames = false;
default_mode = "locked";
mouse_mode = true;
simplified_ui = true;
on_force_close = "detach";
copy_command = "wl-copy";
default_shell = "zsh";
theme = "dendritic";
themes.dendritic = {
fg = "#${config.lib.stylix.colors.base05}";
bg = "#${config.lib.stylix.colors.base00}";
black = "#${config.lib.stylix.colors.base01}";
red = "#${config.lib.stylix.colors.base08}";
green = "#${config.lib.stylix.colors.base0B}";
yellow = "#${config.lib.stylix.colors.base0A}";
blue = "#${config.lib.stylix.colors.base0D}";
magenta = "#${config.lib.stylix.colors.base0E}";
cyan = "#${config.lib.stylix.colors.base0C}";
white = "#${config.lib.stylix.colors.base07}";
orange = "#${config.lib.stylix.colors.base09}";
};
};
extraConfig = ''
layout {
default_tab_template {
pane size=2 borderless=true {
plugin location="file://${zjstatus-pkg}/bin/zjstatus.wasm" {
format_left "{mode}#[bg=#${config.lib.stylix.colors.base00}] {tabs}"
format_center ""
format_right "#[bg=#${config.lib.stylix.colors.base00},fg=#${config.lib.stylix.colors.base0D}]#[bg=#${config.lib.stylix.colors.base0D},fg=#${config.lib.stylix.colors.base00},bold] #[bg=#${config.lib.stylix.colors.base02},fg=#${config.lib.stylix.colors.base05},bold] {session} "
format_space ""
mode_locked "#[bg=#${config.lib.stylix.colors.base08},fg=#${config.lib.stylix.colors.base00},bold] 🔒 LOCKED #[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base08}]"
mode_normal "#[bg=#${config.lib.stylix.colors.base0B},fg=#${config.lib.stylix.colors.base00},bold] 🔓 NORMAL #[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base0B}]"
mode_scroll "#[bg=#${config.lib.stylix.colors.base0A},fg=#${config.lib.stylix.colors.base00},bold] SCROLL #[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base0A}]"
tab_normal "#[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base0D}]#[bg=#${config.lib.stylix.colors.base0D},fg=#${config.lib.stylix.colors.base00},bold]{index} #[bg=#${config.lib.stylix.colors.base02},fg=#${config.lib.stylix.colors.base05},bold] {name}#[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base02},bold]"
tab_active "#[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base09}]#[bg=#${config.lib.stylix.colors.base09},fg=#${config.lib.stylix.colors.base00},bold]{index} #[bg=#${config.lib.stylix.colors.base02},fg=#${config.lib.stylix.colors.base05},bold] {name}#[bg=#${config.lib.stylix.colors.base03},fg=#${config.lib.stylix.colors.base02},bold]"
tab_separator "#[bg=#${config.lib.stylix.colors.base00}] "
}
}
children
}
}
keybinds clear-defaults=true {
shared {
bind "Alt h" { MoveFocus "Left"; }
bind "Alt j" { MoveFocus "Down"; }
bind "Alt k" { MoveFocus "Up"; }
bind "Alt l" { MoveFocus "Right"; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Alt n" { NewPane; }
}
locked {
bind "Ctrl b" { SwitchToMode "Normal"; }
}
normal {
bind "Ctrl b" { SwitchToMode "Locked"; }
bind "Enter" "Esc" { SwitchToMode "Locked"; }
bind "h" { MoveFocus "Left"; }
bind "j" { MoveFocus "Down"; }
bind "k" { MoveFocus "Up"; }
bind "l" { MoveFocus "Right"; }
bind "|" { NewPane "Right"; }
bind "-" { NewPane "Down"; }
bind "x" { CloseFocus; }
bind "f" { ToggleFloatingPanes; }
bind "z" { ToggleFocusFullscreen; }
bind "t" { NewTab; }
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
bind "s" { SwitchToMode "Scroll"; }
bind "d" { Detach; }
bind "q" { Quit; }
}
scroll {
bind "s" "Esc" "Enter" { SwitchToMode "Normal"; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
}
renametab {
bind "Enter" "Esc" { SwitchToMode "Normal"; }
}
}
'';
};
}
)
];
};
}

View file

@ -6,7 +6,7 @@
"cli-zoxide" "cli-zoxide"
"git-lazygit" "git-lazygit"
"cli-zsh" "cli-zsh"
"cli-tmux" "cli-zellij"
]; ];
homeModules = [ homeModules = [