about summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/__dispatch.sh66
l---------bin/age1
l---------bin/age-keygen1
l---------bin/depotfmt1
l---------bin/gerrit1
l---------bin/gerrit-update1
l---------bin/hash-password1
l---------bin/mg1
l---------bin/nint1
l---------bin/niv1
l---------bin/rebuild-system1
l---------bin/rink1
l---------bin/stern1
l---------bin/tf-glesys1
l---------bin/tf-keycloak1
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