diff options
-rw-r--r-- | .envrc | 5 | ||||
-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 | ||||
-rw-r--r-- | tools/depot-deps.nix | 34 |
17 files changed, 36 insertions, 83 deletions
diff --git a/.envrc b/.envrc index 162f060fc4ab..a2f332887060 100644 --- a/.envrc +++ b/.envrc @@ -1,5 +1,4 @@ # Configure the local PATH to contain tools which are fetched ad-hoc # from Nix. - -export PATH="${PWD}/bin:${PATH}" -export REPO_ROOT="${PWD}" +use nix -A tools.depot-deps +watch_file tools/depot-deps.nix diff --git a/bin/__dispatch.sh b/bin/__dispatch.sh deleted file mode 100755 index a8a9d2652622..000000000000 --- a/bin/__dispatch.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/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 deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/age +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/age-keygen b/bin/age-keygen deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/age-keygen +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/depotfmt b/bin/depotfmt deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/depotfmt +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/gerrit b/bin/gerrit deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/gerrit +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/gerrit-update b/bin/gerrit-update deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/gerrit-update +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/hash-password b/bin/hash-password deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/hash-password +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/mg b/bin/mg deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/mg +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/nint b/bin/nint deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/nint +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/niv b/bin/niv deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/niv +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/rebuild-system b/bin/rebuild-system deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/rebuild-system +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/rink b/bin/rink deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/rink +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/stern b/bin/stern deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/stern +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/tf-glesys b/bin/tf-glesys deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/tf-glesys +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/bin/tf-keycloak b/bin/tf-keycloak deleted file mode 120000 index 8390ec9c9652..000000000000 --- a/bin/tf-keycloak +++ /dev/null @@ -1 +0,0 @@ -__dispatch.sh \ No newline at end of file diff --git a/tools/depot-deps.nix b/tools/depot-deps.nix new file mode 100644 index 000000000000..c805746c8971 --- /dev/null +++ b/tools/depot-deps.nix @@ -0,0 +1,34 @@ +# Shell derivation to invoke //nix/lazy-deps with the dependencies +# that should be lazily made available in depot. +{ pkgs, depot, ... }: + +let + deps = depot.nix.lazy-deps { + age-keygen.attr = "third_party.nixpkgs.age"; + age.attr = "third_party.nixpkgs.age"; + depotfmt.attr = "tools.depotfmt"; + gerrit-update.attr = "tools.gerrit-update"; + gerrit.attr = "tools.gerrit-cli"; + 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.rebuildSystem"; + rink.attr = "third_party.nixpkgs.rink"; + + tf-glesys = { + attr = "ops.glesys.terraform"; + cmd = "terraform"; + }; + + tf-keycloak = { + attr = "ops.keycloak.terraform"; + cmd = "terraform"; + }; + }; +in +pkgs.mkShell { + buildInputs = [ + deps + ]; +} |