63 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -o errexit
 | |
| set -o nounset
 | |
| set -o pipefail
 | |
| 
 | |
| function check {
 | |
|   nix flake check
 | |
| }
 | |
| 
 | |
| function help {
 | |
|   printf "%s <task> [args]\n\nTasks:\n" "$0"
 | |
| 
 | |
|   compgen -A function | grep -v "^_" | cat -n
 | |
| 
 | |
|   printf "\nExtended help:\n  Each task has comments for general usage\n"
 | |
| }
 | |
| 
 | |
| function nixos:build {
 | |
|   _nixos build "$@"
 | |
| }
 | |
| 
 | |
| function nixos:switch {
 | |
|   _nixos switch "$@"
 | |
| }
 | |
| 
 | |
| function nixos:test {
 | |
|   _nixos test "$@"
 | |
| }
 | |
| 
 | |
| function update {
 | |
|   nix flake update
 | |
| }
 | |
| 
 | |
| function wsl:build {
 | |
|   _home build wsl2
 | |
| }
 | |
| 
 | |
| function wsl:switch {
 | |
|   _home switch wsl2
 | |
| }
 | |
| 
 | |
| function _home {
 | |
|   local command="$1"
 | |
|   local flake="$2"
 | |
|   shift 2
 | |
| 
 | |
|   NIXPKGS_ALLOW_UNFREE=1 home-manager "$command" \
 | |
|     --extra-experimental-features flakes \
 | |
|     --extra-experimental-features nix-command \
 | |
|     --flake ".#$flake" \
 | |
|     --impure "$@"
 | |
| }
 | |
| 
 | |
| function _nixos {
 | |
|   local command="$1"
 | |
|   shift 1
 | |
| 
 | |
|   sudo nixos-rebuild "$command" --flake . "$@"
 | |
| }
 | |
| 
 | |
| TIMEFORMAT=$'\nTask completed in %3lR'
 | |
| time "${@:-help}"
 |