feat[client]: manage zellij using nix

This commit is contained in:
Leon Schwarzäugl 2025-11-17 22:43:34 +01:00 committed by Leon Schwarzäugl
parent 8838f98658
commit 4473255269
5 changed files with 2604 additions and 10 deletions

View file

@ -5,6 +5,55 @@
programs.zellij = {
enable = true;
enableZshIntegration = true;
settings = {
pane_frames = false;
simplified_ui = false;
default_shell = "zsh";
copy_on_select = true;
on_force_close = "detach";
show_startup_tips = false;
support_kitty_keyboard_protocol = true;
default_layout = "swarsel";
layout_dir = "${config.home.homeDirectory}/.config/zellij/layouts";
theme_dir = "${config.home.homeDirectory}/.config/zellij/themes";
scrollback_lines_to_serialize = config.programs.kitty.settings.scrollback_lines;
session_serialization = true;
copy_command =
if pkgs.stdenv.hostPlatform.isLinux then
"wl-copy"
else if pkgs.stdenv.hostPlatform.isDarwin then
"pbcopy"
else
"";
ui.pane_frames = {
rounded_corners = true;
hide_session_name = true;
};
plugins = {
tab-bar.path = "tab-bar";
status-bar.path = "status-bar";
strider.path = "strider";
compact-bar.path = "compact-bar";
};
# configuration = {
# _props.location = "zellij:configuration";
# };
# filepicker = {
# _props.location = "zellij:strider";
# cwd = "/";
# };
# plugin-manager = {
# _props.location = "zellij:plugin-manager";
# };
# session-manager = {
# _props.location = "zellij:session-manager";
# };
# welcome-screen = {
# _props.location = "zellij:session-manager";
# welcome_screen = true;
# };
};
};
home.packages = with pkgs; [
@ -12,8 +61,8 @@
];
xdg.configFile = {
"zellij/config.kdl".text = import "${self}/files/zellij/config.kdl.nix" { inherit config; };
"zellij/layouts/default.kdl".text = import "${self}/files/zellij/layouts/default.kdl.nix" { inherit config pkgs; };
# "zellij/config.kdl".text = import "${self}/files/zellij/config.kdl.nix" { inherit config; };
"zellij/layouts/swarsel.kdl".text = import "${self}/files/zellij/layouts/swarsel.kdl.nix" { inherit config pkgs; };
};
};