mirror of
https://github.com/davegallant/nix-config
synced 2025-08-07 00:58:16 +00:00
Switch from bash tmux-sessionizer to rust tmux-sessionizer
This commit is contained in:
@@ -195,7 +195,7 @@ in {
|
|||||||
m = "make";
|
m = "make";
|
||||||
nix-install = "nix-env -iA";
|
nix-install = "nix-env -iA";
|
||||||
ps = "procs";
|
ps = "procs";
|
||||||
t = "tmux-sessionizer";
|
t = "tms";
|
||||||
tf = "terraform";
|
tf = "terraform";
|
||||||
tree = "eza --tree";
|
tree = "eza --tree";
|
||||||
v = "nvim";
|
v = "nvim";
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
final: prev: {
|
final: prev: {
|
||||||
sbx-h6-rgb = prev.callPackage ./sbx-h6-rgb { };
|
sbx-h6-rgb = prev.callPackage ./sbx-h6-rgb { };
|
||||||
tmux-sessionizer = prev.callPackage ./tmux-sessionizer { };
|
|
||||||
vpngate = prev.callPackage ./vpngate { };
|
vpngate = prev.callPackage ./vpngate { };
|
||||||
}
|
}
|
||||||
|
@@ -1,20 +0,0 @@
|
|||||||
{ stdenv, lib, fetchurl, }:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "tmux-sessionizer";
|
|
||||||
version = "0.0.0";
|
|
||||||
|
|
||||||
executable = ./tmux-sessionizer;
|
|
||||||
|
|
||||||
phases = [ "unpackPhase" ]; # Remove all other phases
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp ${executable} $out/bin/tmux-sessionizer
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description =
|
|
||||||
"\n Tmux sessionizer adapted from https://sourcegraph.com/github.com/ThePrimeagen/.dotfiles@5cd09f06d6683b91c26822a73b40e3d7fb9af57a/-/blob/bin/.local/bin/tmux-sessionizer";
|
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,31 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Credit to ThePrimeagen for this:
|
|
||||||
# https://sourcegraph.com/github.com/ThePrimeagen/.dotfiles@5cd09f06d6683b91c26822a73b40e3d7fb9af57a/-/blob/bin/.local/bin/tmux-sessionizer
|
|
||||||
|
|
||||||
|
|
||||||
readarray -t directories < ~/.config/tmux-sessionizer
|
|
||||||
|
|
||||||
if [[ $# -eq 1 ]]; then
|
|
||||||
selected=$1
|
|
||||||
else
|
|
||||||
selected=$(find "${directories[@]}" -mindepth 1 -maxdepth 1 -type d | fzf --exact)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z $selected ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
selected_name=$(basename "$selected" | tr . _)
|
|
||||||
tmux_running=$(pgrep tmux)
|
|
||||||
|
|
||||||
if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then
|
|
||||||
tmux new-session -s "$selected_name" -c "$selected"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! tmux has-session -t "$selected_name" 2> /dev/null; then
|
|
||||||
tmux new-session -ds "$selected_name" -c "$selected"
|
|
||||||
fi
|
|
||||||
|
|
||||||
tmux switch-client -t "$selected_name"
|
|
Reference in New Issue
Block a user