64 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/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}"
							 |