From 1b1e03619a5e22359ef45714cd4d231ff6664229 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 2 Nov 2025 01:49:48 +0000 Subject: [PATCH] Add `dmenu_tmux` Signed-off-by: Oliver Davies --- modules/dmenu-tmux.nix | 28 ++++++++++++++++++++++++++++ modules/sxhkd/keybindings.nix | 1 + 2 files changed, 29 insertions(+) create mode 100644 modules/dmenu-tmux.nix diff --git a/modules/dmenu-tmux.nix b/modules/dmenu-tmux.nix new file mode 100644 index 00000000..eee0ac54 --- /dev/null +++ b/modules/dmenu-tmux.nix @@ -0,0 +1,28 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.writeShellApplication { + name = "dmenu_tmux"; + + text = '' + selected="$(z tmux list | dmenu -l 20)" + + if [[ -n "$selected" ]]; then + echo "$selected" + + # TODO: open a terminal with the selected session. + fi + ''; + + runtimeInputs = with pkgs; [ + dmenu + inputs.z.packages.${pkgs.stdenv.hostPlatform.system}.default + ]; + }) + ]; + }; +} diff --git a/modules/sxhkd/keybindings.nix b/modules/sxhkd/keybindings.nix index 81294179..f713990d 100644 --- a/modules/sxhkd/keybindings.nix +++ b/modules/sxhkd/keybindings.nix @@ -13,6 +13,7 @@ "super + shift + i" = "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; "super + shift + p" = "${lib.getExe pkgs.passmenu-otp} -i"; + "super + shift + t" = "dmenu_tmux"; "super + shift + v" = "dmenu_mpv"; "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; "{_, shift +, super +}XF86MonBrightness{Down,Up}" =