{ config, lib, ... }: with lib; let cfg = config.settings.applications.zellij; in { options = { settings.applications.zellij.enable = lib.mkOption { type = lib.types.bool; description = '' Enable zellij tool ''; }; }; config = mkIf cfg.enable { programs.zellij = { enable = true; }; home.file.zellij = { target = ".config/zellij/config.kdl"; text = '' pane_frames true keybinds { normal { bind "Ctrl e" { ToggleFloatingPanes; SwitchToMode "normal"; } bind "Alt 1" { GoToTab 1; } bind "Alt 2" { GoToTab 2; } bind "Alt 3" { GoToTab 3; } bind "Alt 4" { GoToTab 4; } bind "Alt 5" { GoToTab 5; } } } ''; }; home.file.zellij-layout-default = { target = ".config/zellij/layouts/default.kdl"; text = '' layout { pane borderless=true {} floating_panes { pane { width "80%" height "80%" x "10%" y "10%" } } pane size=1 borderless=true { plugin location="zellij:tab-bar" } } ''; }; }; }