"fromYaml": "fromYaml"
},
"locked": {
- "lastModified": 1746562888,
- "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
+ "lastModified": 1755819240,
+ "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
- "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
+ "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"base16-fish": {
"flake": false,
"locked": {
- "lastModified": 1622559957,
- "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
+ "lastModified": 1754405784,
+ "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun",
"repo": "base16-fish",
- "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
+ "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
+ "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
- "lastModified": 1748383148,
- "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
+ "lastModified": 1758112371,
+ "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
- "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
+ "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
"type": "github"
},
"original": {
]
},
"locked": {
- "lastModified": 1754487366,
- "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
+ "lastModified": 1759362264,
+ "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
+ "rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
"type": "github"
},
"original": {
]
},
"locked": {
- "lastModified": 1751413152,
- "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
+ "lastModified": 1756770412,
+ "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
+ "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
]
},
"locked": {
- "lastModified": 1756496801,
- "narHash": "sha256-IYIsnPy+cJxe8RbDHBrCtfJY0ry2bG2H7WvMcewiGS8=",
+ "lastModified": 1761511433,
+ "narHash": "sha256-pNA2GEdH3J+2mSHKRdPpXztQXAGnk+x1yHkqlaF7y6A=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "77a71380c38fb2a440b4b5881bbc839f6230e1cb",
+ "rev": "f2f1076c1f789595c2a2b18b76466fbd691025dd",
"type": "github"
},
"original": {
},
"mnw": {
"locked": {
- "lastModified": 1748710831,
- "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
+ "lastModified": 1758834834,
+ "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=",
"owner": "Gerg-L",
"repo": "mnw",
- "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
+ "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001",
"type": "github"
},
"original": {
},
"nixpkgs": {
"locked": {
- "lastModified": 1756542300,
- "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
+ "lastModified": 1761373498,
+ "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
+ "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
"type": "github"
},
"original": {
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1756542300,
- "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
+ "lastModified": 1761373498,
+ "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
+ "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
"type": "github"
},
"original": {
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1755049066,
- "narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=",
+ "lastModified": 1759386674,
+ "narHash": "sha256-wg1Lz/1FC5Q13R+mM5a2oTV9TA9L/CHHTm3/PiLayfA=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "e45f8f193029378d0aaee5431ba098dc80054e9a",
+ "rev": "625ad6366178f03acd79f9e3822606dd7985b657",
"type": "github"
},
"original": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
- "lastModified": 1756685388,
- "narHash": "sha256-aEt7Ke31q7VCuIAQodZ3P+onifaZ3QHCSP9qXLF3bLA=",
+ "lastModified": 1761511178,
+ "narHash": "sha256-ovwKkvzZcbx/lcX9N1c5b29RHTRr4B5bQGBlCHwgMBc=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "fe7174935739aa55472ab68b9073d46342828790",
+ "rev": "2138a40d14e8ee0e9918fa7060d05c08efc4d23c",
"type": "github"
},
"original": {
]
},
"locked": {
- "lastModified": 1751906969,
- "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
+ "lastModified": 1758998580,
+ "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
+ "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
"type": "github"
},
"original": {
"systems": "systems"
},
"locked": {
- "lastModified": 1755463179,
- "narHash": "sha256-5Ggb1Mhf7ZlRgGi2puCa2PvWs6KbMnWBlW6KW7Vf79Y=",
+ "lastModified": 1761486540,
+ "narHash": "sha256-O0VNqERaZ1H+4P3XwHNd8wVCqUcGtMPJT1z4cJodRFc=",
"owner": "notashelf",
"repo": "nvf",
- "rev": "03833118267ad32226b014b360692bdce9d6e082",
+ "rev": "4b904de36157035fa3dddf0312a4242e5d0d9bd0",
"type": "github"
},
"original": {
"tinted-zed": "tinted-zed"
},
"locked": {
- "lastModified": 1755997543,
- "narHash": "sha256-/fejmCQ7AWa655YxyPxRDbhdU7c5+wYsFSjmEMXoBCM=",
+ "lastModified": 1761028816,
+ "narHash": "sha256-s1XiIeJHpODVWfzsPaK9e21iz1dQSCU3H4/1OxOsyps=",
"owner": "nix-community",
"repo": "stylix",
- "rev": "f47c0edcf71e802378b1b7725fa57bb44fe85ee8",
+ "rev": "b81dc0a385443099e7d231fe6275189e32c3b760",
"type": "github"
},
"original": {
"tinted-schemes": {
"flake": false,
"locked": {
- "lastModified": 1750770351,
- "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
+ "lastModified": 1757716333,
+ "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
"owner": "tinted-theming",
"repo": "schemes",
- "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
+ "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
"type": "github"
},
"original": {
"tinted-tmux": {
"flake": false,
"locked": {
- "lastModified": 1751159871,
- "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
+ "lastModified": 1757811970,
+ "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
- "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
+ "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
"type": "github"
},
"original": {
"tinted-zed": {
"flake": false,
"locked": {
- "lastModified": 1751158968,
- "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
+ "lastModified": 1757811247,
+ "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
"owner": "tinted-theming",
"repo": "base16-zed",
- "rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
+ "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
"type": "github"
},
"original": {
"$mod, Q, killactive,"
"$mod, F, fullscreen,"
#"$mod, G, togglegroup,"
- "$mod SHIFT, N, changegroupactive, f"
- "$mod SHIFT, P, changegroupactive, b"
- "$mod, R, togglesplit,"
+ # "$mod SHIFT, N, changegroupactive, f"
+ # "$mod SHIFT, P, changegroupactive, b"
+ #"$mod, R, togglesplit,"
"$mod, T, togglefloating,"
- "$mod, P, pseudo,"
- "$mod ALT, ,resizeactive,"
+ #"$mod, P, pseudo,"
+ #"$mod ALT, ,resizeactive,"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod SHIFT, k, movewindow, u"
"$mod SHIFT, j, movewindow, d"
+ "$mod CTRL, left, resizeactive, -10 0"
+ "$mod CTRL, down, resizeactive, 0 10"
+ "$mod CTRL, up, resizeactive, 0 -10"
+ "$mod CTRL, right, resizeactive, 10 0"
+ "$mod CTRL, h, resizeactive, -10 0"
+ "$mod CTRL, j, resizeactive, 0 10"
+ "$mod CTRL, k, resizeactive, 0 -10"
+ "$mod CTRL, l, resizeactive, 10 0"
+
"$mod, D, exec, uwsm app -- ghostty"
"$mod, b, exec, librewolf"
"$mod, space, exec, pkill rofi || rofi -show drun"
}
];
extraConfig = ''
- # Basic settings for usability
- set -g mouse on
- set -g base-index 1
- set -g pane-base-index 1
- set -g status-style bg=black,fg=cyan
- set -g prefix C-a
- unbind C-b
- bind C-a send-prefix
+ # Basic settings for usability
+ set -g mouse on
+ set -g base-index 1
+ set -g pane-base-index 1
+ set -g status-style bg=black,fg=cyan
+ set -g history-limit 10000
+ set -g prefix C-a
+ unbind C-b
+ bind C-a send-prefix
- # bind-key -r d new-session -s dev
- # bind-key -r m new-session -s music
- # bind-key -r n new-session -s nixos
+ bind | split-window -h
+ bind - split-window -v
- # Fish-friendly clipboard integration
- set -g set-clipboard on
- bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
- # Session initialization script
- set -g @tmux-resurrect-restore-script '${config.home.homeDirectory}/.config/tmux/setup-sessions.sh'
+ # Pane navigation (vim-style)
+ bind h select-pane -L
+ bind j select-pane -D
+ bind k select-pane -U
+ bind l select-pane -R
+
+ # Pane resizing with Shift + vim keys
+ bind -r H resize-pane -L 5
+ bind -r J resize-pane -D 5
+ bind -r K resize-pane -U 5
+ bind -r L resize-pane -R 5
+ bind s choose-session
+ bind w choose-window
+ # Auto-create sessions if they don't exist
+ if-shell "tmux has-session -t dev 2>/dev/null" "" "new-session -ds dev -c ~/dev 'fish'"
+ if-shell "tmux has-session -t music 2>/dev/null" "" "new-session -ds music 'rmpc'"
+ if-shell "tmux has-session -t nixos 2>/dev/null" "" "new-session -ds nixos -c ~/.dotfiles/nixos 'nvim .'"
+
+ # Quick binds for session switching
+ bind d switch-client -t dev
+ bind m switch-client -t music
+ bind n switch-client -t nixos
+ bind -n C-1 select-window -t 1
+ bind -n C-2 select-window -t 2
+ bind -n C-3 select-window -t 3
+ bind -n C-4 select-window -t 4
+ bind -n C-5 select-window -t 5
+ bind -n C-6 select-window -t 6
+ bind -n C-7 select-window -t 7
+ bind -n C-8 select-window -t 8
+ bind -n C-9 select-window -t 9
+ # Fish-friendly clipboard integration
+ set -g set-clipboard on
+ bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
+
+ # Session initialization script
+ set -g @tmux-resurrect-restore-script '${config.home.homeDirectory}/.config/tmux/setup-sessions.sh'
'';
};