aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/packages/scripts/small_functions/update
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-04-15 14:24:06 +0200
committerSoispha <soispha@vhack.eu>2023-05-09 19:30:38 +0200
commit2ea7ba5c2b166c3f04caa30b578040865b4286d9 (patch)
tree2db55e6f87adea10c8c7d1c2a9623d705ce075c6 /home-manager/packages/scripts/small_functions/update
parentFix(hm/conf/mail): Use correct smtp & imap domains (diff)
downloadnixos-config-2ea7ba5c2b166c3f04caa30b578040865b4286d9.zip
Feat(hm/pkgs/scritps/update): Add branch selection
Diffstat (limited to '')
-rwxr-xr-xhome-manager/packages/scripts/small_functions/update37
1 files changed, 34 insertions, 3 deletions
diff --git a/home-manager/packages/scripts/small_functions/update b/home-manager/packages/scripts/small_functions/update
index 858dae7c..7b7b2e01 100755
--- a/home-manager/packages/scripts/small_functions/update
+++ b/home-manager/packages/scripts/small_functions/update
@@ -3,8 +3,39 @@
# shellcheck source=/dev/null
. %SHELL_LIBRARY_PATH
-cd /etc/nixos
-git pull --rebase
-nixos-rebuild switch
+help() {
+ cat << EOF
+ --branch | -b [branchname] select a branch to update from.
+ --help | -h output this help.
+EOF
+ exit "$1";
+}
+
+BRANCH="";
+while [ "$#" -gt 0 ];do
+ case "$1" in
+ "--help" | "-h")
+ help 0;
+ ;;
+ "--branch" | "-b")
+ if [ -n "$2" ];then
+ BRANCH="$2";
+ else
+ error "$1 requires an argument";
+ help 1;
+ fi
+ shift 2;
+ ;;
+ *)
+ error "the option $1 does not exist!";
+ help 1;
+ ;;
+ esac
+done
+
+cd /etc/nixos || die "No /etc/nixos"
+[ "$BRANCH" = "" ] || git switch "$BRANCH";
+git pull --rebase
+nixos-rebuild switch