93 lines
1.8 KiB
Nix
93 lines
1.8 KiB
Nix
{ 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 false
|
|
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
|
|
floating_panes {
|
|
pane {
|
|
width "80%"
|
|
height "80%"
|
|
x "10%"
|
|
y "10%"
|
|
}
|
|
}
|
|
}
|
|
'';
|
|
};
|
|
|
|
home.file.zellij-layout-dioxus = {
|
|
target = ".config/zellij/layouts/dioxus.kdl";
|
|
text = ''
|
|
layout {
|
|
tab {
|
|
pane {
|
|
command "hx"
|
|
args "."
|
|
focus true
|
|
}
|
|
floating_panes {
|
|
pane {
|
|
width "80%"
|
|
height "80%"
|
|
x "10%"
|
|
y "10%"
|
|
}
|
|
}
|
|
}
|
|
tab {
|
|
pane {
|
|
command "dx"
|
|
args "serve"
|
|
}
|
|
}
|
|
tab {
|
|
pane {
|
|
command "devenv"
|
|
args "up"
|
|
}
|
|
}
|
|
}
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
|