feat: make zellij persist
This commit is contained in:
parent
3ed33ed2cb
commit
cf18c87bff
1 changed files with 17 additions and 6 deletions
23
home.nix
23
home.nix
|
|
@ -20,8 +20,8 @@ let
|
||||||
kittyZellijStartup = pkgs.makeDesktopItem {
|
kittyZellijStartup = pkgs.makeDesktopItem {
|
||||||
name = "kitty-zellij-startup";
|
name = "kitty-zellij-startup";
|
||||||
desktopName = "Kitty Zellij Startup";
|
desktopName = "Kitty Zellij Startup";
|
||||||
comment = "Open Kitty, pick a directory, and launch Zellij";
|
comment = "Open Kitty and attach to the main Zellij session";
|
||||||
exec = "${pkgs.kitty}/bin/kitty --start-as=fullscreen ${zellijNewTabZoxide}/bin/zellij-new-tab-zoxide";
|
exec = "${pkgs.kitty}/bin/kitty --start-as=fullscreen ${zellijPersistentSession}/bin/zellij-persistent-session";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
categories = [
|
categories = [
|
||||||
"TerminalEmulator"
|
"TerminalEmulator"
|
||||||
|
|
@ -224,6 +224,15 @@ let
|
||||||
exec ${pkgs.zellij}/bin/zellij -l "$layout_file"
|
exec ${pkgs.zellij}/bin/zellij -l "$layout_file"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
zellijPersistentSession = pkgs.writeShellApplication {
|
||||||
|
name = "zellij-persistent-session";
|
||||||
|
runtimeInputs = [ pkgs.zellij ];
|
||||||
|
text = ''
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
exec ${pkgs.zellij}/bin/zellij attach --create main --force-run-commands
|
||||||
|
'';
|
||||||
|
};
|
||||||
zellijSyncTabName = pkgs.writeShellApplication {
|
zellijSyncTabName = pkgs.writeShellApplication {
|
||||||
name = "zellij-sync-tab-name";
|
name = "zellij-sync-tab-name";
|
||||||
runtimeInputs = [
|
runtimeInputs = [
|
||||||
|
|
@ -480,9 +489,11 @@ in
|
||||||
show_startup_tips = false;
|
show_startup_tips = false;
|
||||||
show_release_notes = false;
|
show_release_notes = false;
|
||||||
|
|
||||||
attach_to_session = false;
|
attach_to_session = true;
|
||||||
on_force_close = "quit";
|
session_name = "main";
|
||||||
session_serialization = false;
|
on_force_close = "detach";
|
||||||
|
session_serialization = true;
|
||||||
|
serialize_pane_viewport = true;
|
||||||
|
|
||||||
ui = {
|
ui = {
|
||||||
pane_frames = {
|
pane_frames = {
|
||||||
|
|
@ -699,7 +710,7 @@ in
|
||||||
xdg.desktopEntries.kitty = {
|
xdg.desktopEntries.kitty = {
|
||||||
name = "Kitty";
|
name = "Kitty";
|
||||||
genericName = "Terminal Emulator";
|
genericName = "Terminal Emulator";
|
||||||
exec = "${pkgs.kitty}/bin/kitty --start-as=fullscreen ${zellijNewTabZoxide}/bin/zellij-new-tab-zoxide";
|
exec = "${pkgs.kitty}/bin/kitty --start-as=fullscreen ${zellijPersistentSession}/bin/zellij-persistent-session";
|
||||||
icon = "kitty";
|
icon = "kitty";
|
||||||
type = "Application";
|
type = "Application";
|
||||||
categories = [
|
categories = [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue