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"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
|