diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/__dispatch.sh | 66 | ||||
l--------- | bin/age | 1 | ||||
l--------- | bin/age-keygen | 1 | ||||
l--------- | bin/depotfmt | 1 | ||||
l--------- | bin/gerrit | 1 | ||||
l--------- | bin/gerrit-update | 1 | ||||
l--------- | bin/hash-password | 1 | ||||
l--------- | bin/mg | 1 | ||||
l--------- | bin/nint | 1 | ||||
l--------- | bin/niv | 1 | ||||
l--------- | bin/rebuild-system | 1 | ||||
l--------- | bin/rink | 1 | ||||
l--------- | bin/stern | 1 | ||||
l--------- | bin/tf-glesys | 1 | ||||
l--------- | bin/tf-keycloak | 1 |
15 files changed, 80 insertions, 0 deletions
diff --git a/bin/__dispatch.sh b/bin/__dispatch.sh new file mode 100755 index 000000000000..a8a9d2652622 --- /dev/null +++ b/bin/__dispatch.sh @@ -0,0 +1,66 @@ +#!/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 + age) + attr="third_party.nixpkgs.age" + ;; + age-keygen) + attr="third_party.nixpkgs.age" + ;; + gerrit) + attr="tools.gerrit-cli" + ;; + gerrit-update) + attr="tools.gerrit-update" + ;; + hash-password) + attr="tools.hash-password" + ;; + mg) + attr="tools.magrathea" + ;; + nint) + attr="nix.nint" + ;; + niv) + attr="third_party.nixpkgs.niv" + ;; + rebuild-system) + attr="ops.nixos.rebuild-system" + ;; + rink) + attr="third_party.nixpkgs.rink" + ;; + stern) + attr="third_party.nixpkgs.stern" + ;; + depotfmt) + attr="tools.depotfmt" + ;; + tf-glesys) + TARGET_TOOL="terraform" + attr="ops.glesys.terraform" + ;; + tf-keycloak) + TARGET_TOOL="terraform" + attr="ops.keycloak.terraform" + ;; + *) + 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/depotfmt b/bin/depotfmt new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/depotfmt @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/gerrit b/bin/gerrit new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/gerrit @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/gerrit-update b/bin/gerrit-update new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/gerrit-update @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/hash-password b/bin/hash-password new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/hash-password @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/mg b/bin/mg new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/mg @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/nint b/bin/nint new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/nint @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/niv b/bin/niv new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/niv @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/rebuild-system b/bin/rebuild-system new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/rebuild-system @@ -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/tf-glesys b/bin/tf-glesys new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/tf-glesys @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/bin/tf-keycloak b/bin/tf-keycloak new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/tf-keycloak @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file |