From 6f3cd4b6093b45253c92c715b2744858cf71d6a8 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 25 Feb 2019 18:26:39 +0000 Subject: choose: init --- nixpkgs-overlays/scripts/choose/choose.in | 20 ++++++++++++++++++++ nixpkgs-overlays/scripts/choose/choosebin.in | 17 +++++++++++++++++ nixpkgs-overlays/scripts/choose/default.nix | 8 ++++++++ nixpkgs-overlays/scripts/default.nix | 3 +++ 4 files changed, 48 insertions(+) create mode 100644 nixpkgs-overlays/scripts/choose/choose.in create mode 100644 nixpkgs-overlays/scripts/choose/choosebin.in create mode 100644 nixpkgs-overlays/scripts/choose/default.nix create mode 100644 nixpkgs-overlays/scripts/default.nix diff --git a/nixpkgs-overlays/scripts/choose/choose.in b/nixpkgs-overlays/scripts/choose/choose.in new file mode 100644 index 000000000000..7f60b47386a3 --- /dev/null +++ b/nixpkgs-overlays/scripts/choose/choose.in @@ -0,0 +1,20 @@ +#! @execline@/bin/execlineb -S0 + +define -s fzf_opts "--reverse" + +ifelse { importas -i _ DISPLAY } +{ + alacritty --class float -e + getpid my_pid + importas -i -u my_pid my_pid + backtick -i -n term_pid { awk "{print $4}" /proc/${my_pid}/stat } + importas -i -u term_pid term_pid + redirfd -r 0 /proc/${term_pid}/fd/0 + redirfd -w 1 /proc/${term_pid}/fd/1 + @fzf@/bin/fzf $fzf_opts $@ +} + +ifelse { importas -i _ TMUX } +{ @fzf@/bin/fzf-tmux $fzf_opts $@ } + +@fzf@/bin/fzf $fzf_opts $@ diff --git a/nixpkgs-overlays/scripts/choose/choosebin.in b/nixpkgs-overlays/scripts/choose/choosebin.in new file mode 100644 index 000000000000..7f8ea520c994 --- /dev/null +++ b/nixpkgs-overlays/scripts/choose/choosebin.in @@ -0,0 +1,17 @@ +#! @execline@/bin/execlineb -S0 + +backtick -i entry_points { + importas PATH PATH + heredoc 0 $PATH + tr : " " +} +importas -s -i -u entry_points entry_points + +pipeline { + redirfd -w 2 /dev/null + find -L $entry_points -mindepth 1 -maxdepth 1 -executable -type f +} + +pipeline { awk -F / "{print $NF}" } + +@out@/bin/choose --prompt "$ " $@ diff --git a/nixpkgs-overlays/scripts/choose/default.nix b/nixpkgs-overlays/scripts/choose/default.nix new file mode 100644 index 000000000000..1091c84b647f --- /dev/null +++ b/nixpkgs-overlays/scripts/choose/default.nix @@ -0,0 +1,8 @@ +{ runCommand, makeWrapper, execline, fzf }: + +in runCommand "choose" { inherit execline fzf; } '' + install -d $out/bin + substituteAll ${./choose.in} $out/bin/choose + substituteAll ${./choosebin.in} $out/bin/choosebin + chmod +x $out/bin/* +'' diff --git a/nixpkgs-overlays/scripts/default.nix b/nixpkgs-overlays/scripts/default.nix new file mode 100644 index 000000000000..983d32d867a4 --- /dev/null +++ b/nixpkgs-overlays/scripts/default.nix @@ -0,0 +1,3 @@ +self: super: { + choose = self.callPackage ./choose { }; +} -- cgit 1.4.1