diff --git a/rebuild.sh b/rebuild.sh index b37be13..9988b7b 100755 --- a/rebuild.sh +++ b/rebuild.sh @@ -1,5 +1,12 @@ #!/usr/bin/env bash +if [ -d "result" ]; +then + preserve_result=true +else + preserve_result=false +fi + while [ $# -gt 0 ]; do case "$1" in --target*|-t*) @@ -18,12 +25,20 @@ while [ $# -gt 0 ]; do if [[ "$1" != *=* ]]; then shift; fi user="${1#*=}" ;; + --preserve-result) + preserve_result=true + ;; + --no-preserve-result) + preserve_result=false + ;; --help|-h) echo "--help -h: print this message" echo "--target -t: set the target system to rebuild on" echo "--flake -f: set the flake to rebuild on the target system" echo "--mode -m: set the mode to rebuild flake as on the target system" echo "--user -u: set the user to rebuild flake as on the target system" + echo "--preserve-result: do not remove the generated result folder after building" + echo "--no-preserve-result: remove any result folder after building" exit 0 ;; *) @@ -39,9 +54,17 @@ flake=${flake:-$target} mode=${mode:-switch} user=${user:-$USER} -if [[ "$target" == "$(hostname)" ]] +if [[ "$target" == "$(hostname)" ]]; then nixos-rebuild $mode --use-remote-sudo --flake .#$flake else nixos-rebuild $mode --use-remote-sudo --target-host $user@$target --flake .#$flake fi + +if [ -d "result" ]; +then + if [[ "$preserve_result" == "false" ]]; + then + rm -r result + fi +fi \ No newline at end of file