All checks were successful
/ check (push) Successful in 42s
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
37 lines
835 B
Nix
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 20)" || 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.
|
|
];
|
|
})
|
|
];
|
|
};
|
|
}
|