nix-config/modules/dmenu-tmux.nix
Oliver Davies d5b5a58c0c Show more suggestions
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
2025-11-02 15:23:48 +00:00

37 lines
835 B
Nix

{ inputs, ... }:
{
flake.modules.homeManager.gui =
{ pkgs, ... }:
{
home.packages = [
(pkgs.writeShellApplication {
name = "dmenu_tmux";
text = ''
selected="$(z tmux list | dmenu -l 40)" || exit 0
if tmux list-sessions >/dev/null 2>&1; then
if pgrep -x st >/dev/null; then
z tmux connect "$selected"
exit 0
fi
fi
pkill -x st 2>/dev/null || true
sleep 0.1
exec st -e z tmux connect "$selected"
'';
runtimeInputs = with pkgs; [
dmenu
inputs.z.packages.${pkgs.stdenv.hostPlatform.system}.default
# TODO: ensure st is installed and that my version is used.
];
})
];
};
}