fix
This commit is contained in:
parent
d9d40dcf09
commit
0f6a49366e
|
@ -6,15 +6,20 @@ set -o pipefail
|
||||||
|
|
||||||
progname=$0
|
progname=$0
|
||||||
|
|
||||||
error() {
|
warn() {
|
||||||
|
local line
|
||||||
for line in "$@"; do
|
for line in "$@"; do
|
||||||
echo "$progname: $line" 1>&2
|
echo "$progname: $line" 1>&2
|
||||||
done
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
error() {
|
||||||
|
warn "$@"
|
||||||
|
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
args=$(getopt --options f:o:t: --longoptions=flake:,on:,to: --name "$progname" -- "$@")
|
args=$(getopt --options f:o:t:v --longoptions=flake:,on:,to:,verbose --name "$progname" -- "$@")
|
||||||
|
|
||||||
eval set -- "$args"
|
eval set -- "$args"
|
||||||
|
|
||||||
|
@ -24,6 +29,7 @@ flags=(
|
||||||
--use-remote-sudo
|
--use-remote-sudo
|
||||||
--no-write-lock-file
|
--no-write-lock-file
|
||||||
)
|
)
|
||||||
|
verbose=false
|
||||||
while true; do
|
while true; do
|
||||||
case $1 in
|
case $1 in
|
||||||
(-f | --flake)
|
(-f | --flake)
|
||||||
|
@ -41,6 +47,7 @@ while true; do
|
||||||
;;
|
;;
|
||||||
(-v | --verbose)
|
(-v | --verbose)
|
||||||
flags+=(--verbose)
|
flags+=(--verbose)
|
||||||
|
verbose=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
(--)
|
(--)
|
||||||
|
@ -60,9 +67,17 @@ if (( $# == 0 )); then
|
||||||
error 'a subcommand is required'
|
error 'a subcommand is required'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sub=$1
|
run() {
|
||||||
|
cmd=(nixos-rebuild "${flags[@]}" "$@")
|
||||||
|
|
||||||
cmd=(nixos-rebuild "${flags[@]}")
|
if "$verbose"; then
|
||||||
|
warn "running ${cmd[*]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
"${cmd[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
sub=$1
|
||||||
|
|
||||||
case $sub in
|
case $sub in
|
||||||
(s | switch)
|
(s | switch)
|
||||||
|
@ -72,9 +87,7 @@ case $sub in
|
||||||
error 'too many arguments'
|
error 'too many arguments'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmd+=(switch)
|
run switch
|
||||||
echo "${cmd[@]}"
|
|
||||||
"${cmd[@]}"
|
|
||||||
;;
|
;;
|
||||||
(b | boot)
|
(b | boot)
|
||||||
shift
|
shift
|
||||||
|
@ -83,9 +96,7 @@ case $sub in
|
||||||
error 'too many arguments'
|
error 'too many arguments'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmd+=(boot)
|
run boot
|
||||||
echo "${cmd[@]}"
|
|
||||||
"${cmd[@]}"
|
|
||||||
;;
|
;;
|
||||||
(*)
|
(*)
|
||||||
error 'invalid subcommand'
|
error 'invalid subcommand'
|
||||||
|
|
Loading…
Reference in a new issue