diff options
Diffstat (limited to 'nix/binify/default.nix')
-rw-r--r-- | nix/binify/default.nix | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/nix/binify/default.nix b/nix/binify/default.nix new file mode 100644 index 000000000000..17fd980ad994 --- /dev/null +++ b/nix/binify/default.nix @@ -0,0 +1,16 @@ +{ pkgs, lib, ... }: + +# Create a store path where the executable `exe` +# is linked to $out/bin/${name}. +# This is useful for e.g. including it as a “package” +# in `buildInputs` of a shell.nix. +# +# For example, if I have the exeutable /nix/store/…-hello, +# I can make it into /nix/store/…-binify-hello/bin/hello +# with `binify { exe = …; name = "hello" }`. +{ exe, name }: + +pkgs.runCommandLocal "binify-${name}" {} '' + mkdir -p $out/bin + ln -sT ${lib.escapeShellArg exe} $out/bin/${lib.escapeShellArg name} +'' |