mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-29 20:00:13 +00:00
add zellij session toggle feature
This commit is contained in:
@ -7,6 +7,15 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.nmasur.presets.programs.zellij;
|
cfg = config.nmasur.presets.programs.zellij;
|
||||||
|
|
||||||
|
zellij-switch-to-last = pkgs.writeShellScriptBin "zellij-switch-to-last" ''
|
||||||
|
TARGET_SESSION=$(cat ~/.local/state/zellij-last-session)
|
||||||
|
if [ -z "$TARGET_SESSION" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo "$ZELLIJ_SESSION_NAME" > ~/.local/state/zellij-last-session
|
||||||
|
zellij pipe --plugin file:$(which zellij-switch.wasm) -- "--session $TARGET_SESSION"
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -31,6 +40,7 @@ in
|
|||||||
if test "$TARGET_DIR" = $(pwd)
|
if test "$TARGET_DIR" = $(pwd)
|
||||||
return 1
|
return 1
|
||||||
end
|
end
|
||||||
|
echo "$ZELLIJ_SESSION_NAME" > ~/.local/state/zellij-last-session
|
||||||
zellij pipe --plugin file:$(which zellij-switch.wasm) -- "--cwd $TARGET_DIR --layout default --session $(basename $TARGET_DIR)"
|
zellij pipe --plugin file:$(which zellij-switch.wasm) -- "--cwd $TARGET_DIR --layout default --session $(basename $TARGET_DIR)"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@ -69,13 +79,13 @@ in
|
|||||||
programs.zellij = {
|
programs.zellij = {
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
|
||||||
enableFishIntegration = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
|
|
||||||
# Not yet available in unstable
|
# Auto start on shell init
|
||||||
# attachExistingSession = true;
|
enableBashIntegration = false;
|
||||||
# exitShellOnExit = true;
|
enableFishIntegration = false;
|
||||||
|
enableZshIntegration = false;
|
||||||
|
attachExistingSession = false;
|
||||||
|
exitShellOnExit = false;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
default_mode = "locked";
|
default_mode = "locked";
|
||||||
@ -109,6 +119,14 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
shared = {
|
shared = {
|
||||||
|
"bind \"Alt Shift s\"" = {
|
||||||
|
Run = {
|
||||||
|
_args = [
|
||||||
|
(lib.getExe zellij-switch-to-last)
|
||||||
|
];
|
||||||
|
close_on_exit = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
"bind \"Alt Shift p\"" = {
|
"bind \"Alt Shift p\"" = {
|
||||||
Run = {
|
Run = {
|
||||||
_args = [
|
_args = [
|
||||||
|
Reference in New Issue
Block a user