diff options
Diffstat (limited to 'overlays/personal')
-rw-r--r-- | overlays/personal/choose/choose.in | 20 | ||||
-rw-r--r-- | overlays/personal/choose/choosebin.in | 17 | ||||
-rw-r--r-- | overlays/personal/choose/default.nix | 8 | ||||
-rw-r--r-- | overlays/personal/default.nix | 5 | ||||
-rw-r--r-- | overlays/personal/pr-tracker/default.nix | 32 |
5 files changed, 82 insertions, 0 deletions
diff --git a/overlays/personal/choose/choose.in b/overlays/personal/choose/choose.in new file mode 100644 index 000000000000..7f60b47386a3 --- /dev/null +++ b/overlays/personal/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/overlays/personal/choose/choosebin.in b/overlays/personal/choose/choosebin.in new file mode 100644 index 000000000000..7f8ea520c994 --- /dev/null +++ b/overlays/personal/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/overlays/personal/choose/default.nix b/overlays/personal/choose/default.nix new file mode 100644 index 000000000000..d4e845f8b967 --- /dev/null +++ b/overlays/personal/choose/default.nix @@ -0,0 +1,8 @@ +{ runCommand, makeWrapper, execline, fzf }: + +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/overlays/personal/default.nix b/overlays/personal/default.nix new file mode 100644 index 000000000000..9cb1371925aa --- /dev/null +++ b/overlays/personal/default.nix @@ -0,0 +1,5 @@ +self: super: { + choose = self.callPackage ./choose { }; + + pr-tracker = self.callPackage ./pr-tracker { }; +} diff --git a/overlays/personal/pr-tracker/default.nix b/overlays/personal/pr-tracker/default.nix new file mode 100644 index 000000000000..ba8c05f06706 --- /dev/null +++ b/overlays/personal/pr-tracker/default.nix @@ -0,0 +1,32 @@ +{ lib, rustPlatform, fetchurl, makeWrapper, pkg-config +, openssl, systemd, gitMinimal +}: + +rustPlatform.buildRustPackage rec { + pname = "pr-tracker"; + version = "1.0.0"; + + src = fetchurl { + url = "https://git.qyliss.net/pr-tracker/snapshot/pr-tracker-${version}.tar.xz"; + sha256 = "0faj2ir0m4cs6y10xkqc9xvrqkv9w2j4z4yhv354dbfchsg127jk"; + }; + + cargoSha256 = "0kgs5h7h30481h67lgxv38px736293jwnmasvzah170sy94q012a"; + + nativeBuildInputs = [ makeWrapper pkg-config ]; + buildInputs = [ openssl systemd ]; + strictDeps = true; + + postInstall = '' + wrapProgram $out/bin/pr-tracker \ + --prefix PATH : ${lib.makeBinPath [ gitMinimal ]} + ''; + + meta = with lib; { + homepage = "https://git.qyliss.net/pr-tracker/about/"; + description = "Nixpkgs pull request channel tracker"; + maintainers = with maintainers; [ qyliss ]; + license = licenses.agpl3Plus; # with linking exception for OpenSSL + platforms = platforms.unix; + }; +} |