diff options
Diffstat (limited to 'users/wpcarro/bin/__dispatch.sh')
-rwxr-xr-x | users/wpcarro/bin/__dispatch.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/users/wpcarro/bin/__dispatch.sh b/users/wpcarro/bin/__dispatch.sh new file mode 100755 index 000000000000..6da9a1c416cf --- /dev/null +++ b/users/wpcarro/bin/__dispatch.sh @@ -0,0 +1,33 @@ +#!/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 + +TARGET_TOOL=$(basename "$0") + +case "${TARGET_TOOL}" in + deploy-diogenes) + attr="users.wpcarro.nixos.deploy-diogenes" + ;; + rebuild-diogenes) + attr="users.wpcarro.nixos.rebuild-diogenes" + ;; + import-gpg) + attr="users.wpcarro.configs.import-gpg" + ;; + export-gpg) + attr="users.wpcarro.configs.export-gpg" + ;; + *) + 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}" "${@}" |