diff --git a/bin/t b/bin/t deleted file mode 100755 index 42667e2..0000000 --- a/bin/t +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# Credit to ThePrimeagen. - -set -o nounset -set -o pipefail - -if [[ $# -eq 1 ]]; then - selected=$1 -else - # Get the session name from fuzzy-finding list of directories and generating a - # tmux-safe version. - - items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ - -maxdepth 1 -mindepth 1 -type d \ - ! -name "*-old" \ - ! -name "*.old" - ) - - selected=$(echo "${items}" | fzf) -fi - -if [[ -z "${selected}" ]]; then - exit 0 -fi - -session_name=$(basename "${selected}" | sed 's/\./_/g') -session_path="${selected}" - -# Git worktrees. -if [[ -e "${selected}/main" ]]; then - session_path="${selected}/main" -fi - -if tmux has-session -t "${session_name}" 2> /dev/null; then - tmux attach -t "${session_name}" -fi - -tmux new-session -d -s "${session_name}" -c "${session_path}" - -tmux switch-client -t "${session_name}" || tmux attach -t "${session_name}" diff --git a/lib/shared/home-manager-packages.nix b/lib/shared/home-manager-packages.nix index 952a0ea..d3e57a7 100644 --- a/lib/shared/home-manager-packages.nix +++ b/lib/shared/home-manager-packages.nix @@ -2,9 +2,54 @@ let php = pkgs.php82; phpPackages = pkgs.php82Packages; + + inherit (pkgs) writeShellScriptBin; + + script-t = writeShellScriptBin "t" '' + # Credit to ThePrimeagen. + + set -o nounset + set -o pipefail + + if [[ $# -eq 1 ]]; then + selected=$1 + else + # Get the session name from fuzzy-finding list of directories and generating a + # tmux-safe version. + items=$(find ~/Code/* ~/Code ~ ~/Documents /tmp \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name "*-old" \ + ! -name "*.old" + ) + + selected=$(echo "''${items}" | fzf) + fi + + if [[ -z "''${selected}" ]]; then + exit 0 + fi + + session_name=$(basename "''${selected}" | sed 's/\./_/g') + session_path="''${selected}" + + # Git worktrees. + if [[ -e "''${selected}/main" ]]; then + session_path="''${selected}/main" + fi + + if tmux has-session -t "''${session_name}" 2> /dev/null; then + tmux attach -t "''${session_name}" + fi + + tmux new-session -d -s "''${session_name}" -c "''${session_path}" + + tmux switch-client -t "''${session_name}" || tmux attach -t "''${session_name}" + ''; in with pkgs; [ + script-t + inputs.build-configs.packages.${pkgs.system}.default awscli2