feat(tmux): use soft secrets to handle sessions

This commit is contained in:
Yorick Barbanneau 2025-08-11 23:02:50 +02:00
parent 8bf663b78a
commit 6e9ef448db
4 changed files with 12 additions and 14 deletions

6
flake.lock generated
View file

@ -61,10 +61,10 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1754941966, "lastModified": 1754945619,
"narHash": "sha256-P+I9HIL6p+ySfsFR+3wQYOWouB3lXXeipMG7MYYWX9o=", "narHash": "sha256-kcvY8kUakGwUUWvk6mgIbp5Xj2ABsjj0oBcKQ3MtjTM=",
"ref": "main", "ref": "main",
"rev": "a1a559d8a00dbc4b00abd99f02f536c0f6027a32", "rev": "6878e000fef8449ed6d640436a3bc630fa8788b2",
"shallow": true, "shallow": true,
"type": "git", "type": "git",
"url": "ssh://git@git.epha.se:24422/ephase/nix-private.git" "url": "ssh://git@git.epha.se:24422/ephase/nix-private.git"

View file

@ -25,7 +25,10 @@
git.enable = true; git.enable = true;
neovim.enable = true; neovim.enable = true;
starship.enable = true; starship.enable = true;
tmux.enable = true; tmux = {
enable = true;
extraConfig = inputs.nix-private.tmux.personal;
};
utils.enable = true; utils.enable = true;
vifm.enable = true; vifm.enable = true;
zellij.enable = true; zellij.enable = true;

View file

@ -26,12 +26,8 @@
starship.enable = true; starship.enable = true;
tmux = { tmux = {
enable = true; enable = true;
extraConfig = '' extraConfig = inputs.nix-private.tmux.work;
bind -n M-F9 run 'create-tmux-session -n quipu -r quipuapp "run:nvim ." repo:quipu-infrastructure neww:quipu-infra p:sellsy hsplit:50 run:k9s repo:charts neww:charts'
bind -n M-F8 run 'create-tmux-session -n verifactu -r verifactu "run:nvim ." repo:verifactu-infrastructure neww:verifactu-infra repo:sellsy hsplit:50 run:k9s repo:charts neww:charts'
'';
}; };
utils.enable = true; utils.enable = true;
vifm.enable = true; vifm.enable = true;
zellij.enable = true; zellij.enable = true;

View file

@ -1,5 +1,5 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, inputs, ... }:
with lib; with lib;
let let
cfg = config.modules.cli.tmux; cfg = config.modules.cli.tmux;
@ -51,9 +51,6 @@ in
bind -n M-F3 if 'tmux has-session -t 3' {switch-client -t 3} {display-popup -E -E 'create-tmux-session -i 3'} bind -n M-F3 if 'tmux has-session -t 3' {switch-client -t 3} {display-popup -E -E 'create-tmux-session -i 3'}
bind -n M-F4 if 'tmux has-session -t 4' {switch-client -t 4} {display-popup -E -E 'create-tmux-session -i 4'} bind -n M-F4 if 'tmux has-session -t 4' {switch-client -t 4} {display-popup -E -E 'create-tmux-session -i 4'}
# Alt+F10 for launching my Nix project
bind -n M-F10 run 'create-tmux-session -n config -r nix "run:nvim ." vsplit:20'
# change window with Alt+{1..5} # change window with Alt+{1..5}
bind -n -N "Goto window 1" M-1 select-window -T -t 1 bind -n -N "Goto window 1" M-1 select-window -T -t 1
bind -n -N "Goto window 2" M-2 select-window -T -t 2 bind -n -N "Goto window 2" M-2 select-window -T -t 2
@ -86,7 +83,9 @@ in
set -g status-left-length 100 set -g status-left-length 100
set -g status-left '#[bg=colour0, fg=colour6]  #S ' set -g status-left '#[bg=colour0, fg=colour6]  #S '
set -g status-right ' ' set -g status-right ' '
'' + cfg.extraConfig; ''
+ inputs.nix-private.tmux.nix
+ cfg.extraConfig;
plugins = with pkgs; [ plugins = with pkgs; [
tmuxPlugins.tmux-fzf tmuxPlugins.tmux-fzf
]; ];