diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index 518ae72..86a70be 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -45,8 +45,6 @@ in mv = "mv -i"; cd = "z"; - f = "fzf --multi --bind \"enter:become($EDITOR {+})\""; - nixos-switch = nom-system-command "sudo nixos-rebuild switch --flake ~/.dotfiles"; nixos-boot = nom-system-command "sudo nixos-rebuild boot --flake ~/.dotfiles"; nixos-update = "pushd ~/.dotfiles && nix flake update && popd"; diff --git a/modules/programs/tmux.nix b/modules/programs/tmux.nix index 32836bd..912f7ad 100644 --- a/modules/programs/tmux.nix +++ b/modules/programs/tmux.nix @@ -4,13 +4,13 @@ with lib; let cfg = config.my.programs.tmux; - fzf1 = pkgs.writeShellApplication { - name = "fzf1"; - runtimeInputs = with pkgs; [ coreutils fzf ]; + tmux-sessionizer = pkgs.writeShellApplication { + name = "ts"; + runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd ]; text = '' #!/usr/bin/env bash - options=$(fzf --filter "''$*" < /dev/stdin) + options=$(fd -HIg '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | fzf --filter "''$*") if [[ -z $options ]]; then exit 1 @@ -24,48 +24,17 @@ let exit 0 fi - echo "$selected" - ''; - }; - - tmux-switch = pkgs.writeShellApplication { - name = "tmux-switch"; - runtimeInputs = with pkgs; [ tmux ]; - text = '' - #!/usr/bin/env bash - if [[ -z ''${TMUX+x} ]]; then - tmux attach -t "$1" - else - tmux switch-client -t "$1" - fi - ''; - }; - - tmux-sessionizer = pkgs.writeShellApplication { - name = "ts"; - runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd fzf ]; - text = '' - #!/usr/bin/env bash - - selected=$(fd -HIg '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | ${getExe fzf1} "$*") - selected_name=$(basename "$selected" | tr . _) if ! tmux has-session -t="$selected_name" 2> /dev/null; then tmux new-session -ds "$selected_name" -c "$selected" fi - ${getExe tmux-switch} "$selected_name" - ''; - }; - - tmux-attach = pkgs.writeShellApplication { - name = "ta"; - runtimeInputs = with pkgs; [ tmux ]; - text = '' - #!/usr/bin/env bash - selected=$(tmux list-sessions -F '#{session_name}' | ${getExe fzf1} "$*") - ${getExe tmux-switch} "$selected" + if [[ -z ''${TMUX+x} ]]; then + tmux attach -t "$selected_name" + else + tmux switch-client -t "$selected_name" + fi ''; }; @@ -95,10 +64,7 @@ in config = mkIf cfg.enable { my.shell.abbreviations.t = "tmux"; - home-manager.users.moritz.home.packages = [ - tmux-sessionizer - tmux-attach - ]; + home-manager.users.moritz.home.packages = [ tmux-sessionizer ]; home-manager.users.moritz.programs = { tmux = { enable = true; @@ -106,6 +72,7 @@ in customPaneNavigationAndResize = true; keyMode = "vi"; mouse = true; + newSession = true; prefix = "C-Space"; sensibleOnTop = false; plugins = with pkgs.tmuxPlugins; [