64 lines
971 B
Bash
Executable file
64 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}"
|