Add dmenu integration for tmux-sessionizer
All checks were successful
/ check (push) Successful in 1m19s
All checks were successful
/ check (push) Successful in 1m19s
This commit is contained in:
parent
8f5acb2fdb
commit
ae6d6fa4e0
2 changed files with 14 additions and 1 deletions
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
tmux-sessionizer = {
|
tmux-sessionizer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableDmenuIntegration = true;
|
||||||
|
|
||||||
directories =
|
directories =
|
||||||
let
|
let
|
||||||
|
|
|
@ -13,6 +13,7 @@ in
|
||||||
{
|
{
|
||||||
options.cli.tmux-sessionizer = {
|
options.cli.tmux-sessionizer = {
|
||||||
enable = mkEnableOption "Enable tmux-sessionizer";
|
enable = mkEnableOption "Enable tmux-sessionizer";
|
||||||
|
enableDmenuIntegration = mkEnableOption "Enable dmenu integration";
|
||||||
|
|
||||||
directories = mkOption {
|
directories = mkOption {
|
||||||
default = [ config.home.homeDirectory ];
|
default = [ config.home.homeDirectory ];
|
||||||
|
@ -24,7 +25,18 @@ in
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
tmux-sessionizer
|
tmux-sessionizer
|
||||||
];
|
] ++ (optional cfg.enableDmenuIntegration (
|
||||||
|
pkgs.writeShellApplication {
|
||||||
|
name = "tmux-sessionizer-dmenu";
|
||||||
|
|
||||||
|
text = ''
|
||||||
|
# shellcheck disable=SC2046
|
||||||
|
selected=$(find $(eval echo "$(xargs < "$XDG_CONFIG_HOME/tmux-sessionizer/directories")") -mindepth 1 -maxdepth 1 -type d | dmenu -i -l 20)
|
||||||
|
|
||||||
|
${pkgs.coreutils}/bin/nohup st -e tmux-sessionizer "$selected" >/dev/null 2>&1 &
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"tmux-sessionizer/default".source = "${
|
"tmux-sessionizer/default".source = "${
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue