diff --git a/pkgs/tmux-sessionizer/default.nix b/pkgs/tmux-sessionizer/default.nix index d7c13486..8393f62f 100644 --- a/pkgs/tmux-sessionizer/default.nix +++ b/pkgs/tmux-sessionizer/default.nix @@ -4,6 +4,7 @@ symlinkJoin, coreutils, gnused, + eza, fzf, findutils, }: @@ -14,6 +15,7 @@ let coreutils gnused self'.packages.tmux-wrapped + eza fzf findutils ]; diff --git a/pkgs/tmux-sessionizer/tmux-sessionizer.sh b/pkgs/tmux-sessionizer/tmux-sessionizer.sh index d6351677..689dd8f6 100755 --- a/pkgs/tmux-sessionizer/tmux-sessionizer.sh +++ b/pkgs/tmux-sessionizer/tmux-sessionizer.sh @@ -30,11 +30,19 @@ if [ $# -eq 1 ]; then ;; esac else + # shellcheck disable=SC2016 project=$({ find "$HOME/work" -mindepth 1 -maxdepth 1 -type d -exec basename {} \; echo "setup" echo "doc" - } | fzf) + } | fzf \ + --preview 'case {} in + setup) dir=$HOME/setup ;; + doc) dir=$HOME/sync/doc ;; + *) dir=$HOME/work/{} ;; + esac + eza --tree --level=2 --color=always "$dir" 2>/dev/null || ls "$dir"' \ + --preview-window 'right:60%') fi if [ -z "$project" ]; then