diff options
author | Profpatsch <mail@profpatsch.de> | 2020-06-27T03·34+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2020-06-27T03·42+0000 |
commit | 17eba437a77d2de549533c8b27d6f815f4059d1b (patch) | |
tree | 4ed978cd9634390d7358ba0f648858b540d7c9a3 /nix | |
parent | b6cb20b2d07664ef5926123bb69ce94f44c359bc (diff) |
feat(nix/binify): add binify r/1097
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" }`. Change-Id: I600bdcd8f143bca2dd8dfbb165a9a5a8d6397622 Reviewed-on: https://cl.tvl.fyi/c/depot/+/624 Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to '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} +'' |