feat(tmux): add tmux-new script

This commit is contained in:
Moritz Böhme 2023-10-27 09:00:02 +02:00
parent 58c8efa332
commit 02d9e30ce7
No known key found for this signature in database
GPG key ID: 970C6E89EB0547A9
3 changed files with 18 additions and 10 deletions

View file

@ -7,8 +7,7 @@ let
tmux-switch = pkgs.writeShellApplication {
name = "tmux-switch";
runtimeInputs = with pkgs; [ tmux ];
text = ''
#!/usr/bin/env bash
text = /* bash */ ''
if [[ -z ''${TMUX+x} ]]; then
tmux attach -t "$1"
else
@ -19,7 +18,7 @@ let
tmux-sessionizer = pkgs.writeFishApplication {
name = "ts";
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd tmux-switch gawk ];
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd tmux-new gawk ];
text = readFile ./tmux-sessionizer/script.fish;
completions = readFile ./tmux-sessionizer/completions.fish;
};
@ -31,6 +30,17 @@ let
completions = readFile ./tmux-attach/completions.fish;
};
tmux-new = pkgs.writeFishApplication {
name = "tn";
runtimeInputs = with pkgs; [ tmux ];
text = /* fish */ ''
if ! tmux has-session -t $argv[1] 2> /dev/null
tmux new-session -ds $argv[1] -c $argv[2]
end
tmux-switch $argv[1]
'';
};
in
{
options.my.programs.tmux = {
@ -60,6 +70,8 @@ in
home-manager.users.moritz.home.packages = [
tmux-sessionizer
tmux-attach
tmux-switch
tmux-new
];
home-manager.users.moritz.programs = {
tmux = {
@ -97,7 +109,7 @@ in
if ! fish_is_root_user && test "$TERM_PROGRAM" != 'vscode' && ${insideVariableMissing}
if test -z $tmux_autostarted
set -x tmux_autostarted true
tmux new -A -s home
tn home ~
end
end
'';