From 7dccaa90e5dcf4c57848e6198ffd7abbafff3b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Thu, 29 May 2025 22:27:45 +0200 Subject: [PATCH] packages/nix-which: init --- nix/packages/by-name/nix-which/package.nix | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 nix/packages/by-name/nix-which/package.nix diff --git a/nix/packages/by-name/nix-which/package.nix b/nix/packages/by-name/nix-which/package.nix new file mode 100644 index 00000000..896ab411 --- /dev/null +++ b/nix/packages/by-name/nix-which/package.nix @@ -0,0 +1,27 @@ +{ + writeShellApplication, + which, + lib, +}: let + # Use this to not pollute the PATH inside + # Otherwise nix-which which will be an edge case + whichExe = "${lib.getExe which}"; +in + writeShellApplication { + name = "nix-which"; + text = '' + if [ "$#" -ne 1 ]; then + echo "Must provide exactly one argument, the package to be dereferenced" + exit 1 + fi + target="$1" + + target="$(${whichExe} "$target")" + echo "==> $target" + + while [ -L "$target" ]; do + target="$(readlink "$target")" + echo "==> $target" + done + ''; + }