about summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-12-20T20·18+0000
committerVincent Ambo <tazjin@google.com>2019-12-20T20·18+0000
commit03bfe08e1dd9faf48b06cb146bfa446575cde88a (patch)
tree55317968922a9b2a01516f1b79527874df037517 /bin
parente52eed3cd4f73779c2e7c350537fb346835ba9f3 (diff)
chore: Significantly restructure folder layout r/237
This moves the various projects from "type-based" folders (such as
"services" or "tools") into more appropriate semantic folders (such as
"nix", "ops" or "web").

Deprecated projects (nixcon-demo & gotest) which only existed for
testing/demonstration purposes have been removed.

(Note: *all* builds are broken with this commit)
Diffstat (limited to 'bin')
-rwxr-xr-xbin/__dispatch.sh44
l---------bin/aoc20191
l---------bin/blog_cli1
l---------bin/kms_pass1
l---------bin/kontemplate1
l---------bin/rink1
l---------bin/stern1
l---------bin/terraform1
8 files changed, 51 insertions, 0 deletions
diff --git a/bin/__dispatch.sh b/bin/__dispatch.sh
new file mode 100755
index 0000000000..f12d6ed368
--- /dev/null
+++ b/bin/__dispatch.sh
@@ -0,0 +1,44 @@
+#!/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"
+    ;;
+  blog_cli)
+    attr="tools.blog_cli"
+    ;;
+  stern)
+    attr="third_party.stern"
+    ;;
+  kms_pass)
+    attr="tools.kms_pass"
+    TARGET_TOOL="pass"
+    ;;
+  aoc2019)
+    attr="fun.aoc2019.${1}"
+    ;;
+  rink)
+    attr="third_party.rink"
+    ;;
+  *)
+    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/aoc2019 b/bin/aoc2019
new file mode 120000
index 0000000000..8390ec9c96
--- /dev/null
+++ b/bin/aoc2019
@@ -0,0 +1 @@
+__dispatch.sh
\ No newline at end of file
diff --git a/bin/blog_cli b/bin/blog_cli
new file mode 120000
index 0000000000..8390ec9c96
--- /dev/null
+++ b/bin/blog_cli
@@ -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 0000000000..8390ec9c96
--- /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 0000000000..8390ec9c96
--- /dev/null
+++ b/bin/kontemplate
@@ -0,0 +1 @@
+__dispatch.sh
\ No newline at end of file
diff --git a/bin/rink b/bin/rink
new file mode 120000
index 0000000000..8390ec9c96
--- /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 0000000000..8390ec9c96
--- /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 0000000000..8390ec9c96
--- /dev/null
+++ b/bin/terraform
@@ -0,0 +1 @@
+__dispatch.sh
\ No newline at end of file