63 lines
		
	
	
	
		
			981 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			981 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}"
 |