This script rebuilds & activates system configuration based on the hostname. Currently since there is only one host this isn't particularly interesting.
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/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="ops.kms_pass"
 | |
|     TARGET_TOOL="pass"
 | |
|     ;;
 | |
|   aoc2019)
 | |
|     attr="fun.aoc2019.${1}"
 | |
|     ;;
 | |
|   rink)
 | |
|     attr="third_party.rink"
 | |
|     ;;
 | |
|   age)
 | |
|     attr="third_party.age"
 | |
|     ;;
 | |
|   age-keygen)
 | |
|     attr="third_party.age"
 | |
|     ;;
 | |
|   rebuilder)
 | |
|     attr="ops.nixos.rebuilder"
 | |
|     ;;
 | |
|   *)
 | |
|     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}" "${@}"
 |