diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/__dispatch.sh | 56 | ||||
l--------- | bin/age | 1 | ||||
l--------- | bin/age-keygen | 1 | ||||
l--------- | bin/aoc2019 | 1 | ||||
l--------- | bin/kms_pass | 1 | ||||
l--------- | bin/kontemplate | 1 | ||||
l--------- | bin/meson | 1 | ||||
l--------- | bin/ninja | 1 | ||||
l--------- | bin/rebuilder | 1 | ||||
l--------- | bin/rink | 1 | ||||
l--------- | bin/stern | 1 | ||||
l--------- | bin/terraform | 1 |
12 files changed, 67 insertions, 0 deletions
diff --git a/bin/__dispatch.sh b/bin/__dispatch.sh new file mode 100755 index 000000000000..7a18b8b834a7 --- /dev/null +++ b/bin/__dispatch.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +# This script dispatches invocations transparently to programs instantiated from +# Nix. +# +# To add a new tool, insert it into the case statement below by setting `attr` +# to the key in nixpkgs which represents the program you want to run. +set -ueo pipefail + +readonly REPO_ROOT=$(dirname $0)/.. +TARGET_TOOL=$(basename $0) + +case "${TARGET_TOOL}" in + terraform) + attr="third_party.terraform-gcp" + ;; + kontemplate) + attr="kontemplate" + ;; + stern) + attr="third_party.stern" + ;; + kms_pass) + attr="ops.kms_pass" + TARGET_TOOL="pass" + ;; + aoc2019) + attr="fun.aoc2019.${1}" + ;; + rink) + attr="third_party.rink" + ;; + age) + attr="third_party.age" + ;; + age-keygen) + attr="third_party.age" + ;; + rebuilder) + attr="ops.nixos.rebuilder" + ;; + meson) + attr="third_party.meson" + ;; + ninja) + attr="third_party.ninja" + ;; + *) + echo "The tool '${TARGET_TOOL}' is currently not installed in this repository." + exit 1 + ;; +esac + +result=$(nix-build --no-out-link --attr "${attr}" "${REPO_ROOT}") +PATH="${result}/bin:$PATH" + +exec "${TARGET_TOOL}" "${@}" diff --git a/bin/age b/bin/age new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/age @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/age-keygen b/bin/age-keygen new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/age-keygen @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/aoc2019 b/bin/aoc2019 new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/aoc2019 @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/kms_pass b/bin/kms_pass new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/kms_pass @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/kontemplate b/bin/kontemplate new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/kontemplate @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/meson b/bin/meson new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/meson @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/ninja b/bin/ninja new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/ninja @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/rebuilder b/bin/rebuilder new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/rebuilder @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/rink b/bin/rink new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/rink @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/stern b/bin/stern new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/stern @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/terraform b/bin/terraform new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/terraform @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file |