chore: Significantly restructure folder layout
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)
This commit is contained in:
parent
e52eed3cd4
commit
03bfe08e1d
110 changed files with 1 additions and 998 deletions
44
bin/__dispatch.sh
Executable file
44
bin/__dispatch.sh
Executable file
|
@ -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}" "${@}"
|
Loading…
Add table
Add a link
Reference in a new issue