diff --git a/modules/scripts/start-tmux.nix b/modules/scripts/start-tmux.nix new file mode 100644 index 00000000..316fdfc1 --- /dev/null +++ b/modules/scripts/start-tmux.nix @@ -0,0 +1,33 @@ +{ withSystem, ... }: + +let + name = "start-tmux"; +in +{ + perSystem = + { pkgs, ... }: + { + packages.${name} = pkgs.writeShellApplication { + inherit name; + + # TODO: Add `z` once its available as a package. + runtimeInputs = with pkgs; [ + fzf + ]; + + text = '' + selected="$(z tmux session list | fzf)" + + [[ -n $selected ]] && z tmux session connect "$selected" + ''; + }; + }; + + flake.modules.homeManager.base = + { pkgs, ... }: + { + home.packages = [ + (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) + ]; + }; +}