tvl-depot/nix/binify/default.nix
Profpatsch 2f21e0c8c0 refactor(nix): use our own writeScript(Bin)
We have this nice `runExecline` now, so we don’t need to use
`runCommand` (which spawns bash) just to write a simple script.

Change-Id: I2941ed8c1448fa1d7cc02dc18b24a8a945b2c38b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/704
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: BuildkiteCI
2020-06-30 00:19:27 +00:00

16 lines
516 B
Nix

{ 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 "${name}-bin" {} ''
mkdir -p $out/bin
ln -sT ${lib.escapeShellArg exe} $out/bin/${lib.escapeShellArg name}
''