From 07e0c6c973d6a18328a000c4e1f4c14860ad1e3a Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Mon, 14 Apr 2025 15:12:10 +0200 Subject: pkgs/fupdate-sys: Use correct name for shell script --- pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh | 161 +++++++++++++++++++++++++++++ pkgs/by-name/fu/fupdate-sys/update-sys.sh | 161 ----------------------------- 2 files changed, 161 insertions(+), 161 deletions(-) create mode 100755 pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh delete mode 100755 pkgs/by-name/fu/fupdate-sys/update-sys.sh (limited to 'pkgs') diff --git a/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh b/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh new file mode 100755 index 00000000..38debf44 --- /dev/null +++ b/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh @@ -0,0 +1,161 @@ +#!/usr/bin/env dash + +# FIXME(@bpeetz): Ideally I could replace this script with a deployment tool. Thus we +# would have the same tool on the server as I use in my config. <2025-04-14> + +# Shell library {{{ +die() { + error "$1" + if [ -n "$2" ]; then + exit "$2" + else + exit 1 + fi +} +print() { + printf "%s" "$*" +} +println() { + printf "%s\n" "$*" +} +eprint() { + >&2 print "$@" +} +eprintln() { + >&2 println "$@" +} +if [ -n "$NO_COLOR" ]; then + error() { + eprintln "==> ERROR:" "$*" + } + warning() { + eprintln "==> WARNING:" "$*" + } + debug() { + [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln "==> [Debug:]" "$*" + } + debug2() { + [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln " -> [Debug:]" "$*" + } + msg() { + eprintln "==>" "$*" + } + msg2() { + eprintln " ->" "$*" + } + prompt() { + eprint "..>" "$*" + } +else + error() { + eprintln "\033[1;91m==> ERROR:\033[0m" "\033[1;93m$*\033[0m" + } + warning() { + eprintln "\033[1;91m==> WARNING:\033[0m" "\033[1;93m$*\033[0m" + } + debug() { + [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln "\033[1;94m==> [Debug:]\033[0m" "\033[1;93m$*\033[0m" + } + debug2() { + [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln "\033[1;94m -> [Debug:]\033[0m" "\033[1;93m$*\033[0m" + } + msg() { + eprintln "\033[1;96m==>\033[0m" "\033[1;93m$*\033[0m" + } + msg2() { + eprintln "\033[1;96m ->\033[0m" "\033[1;93m$*\033[0m" + } + prompt() { + eprint "\033[1;96m..>\033[0m" "\033[1;93m$*\033[0m" + } +fi +# }}} + + +NAME="update-sys" +help() { + cat <] [--help] + +OPTIONS: + --branch | -b BRANCHNAME + select a branch to update from. + + --mode | -m MODE + select a mode to update with + + --help | -h + output this help. +ARGUMENTS: + BRANCHNAME := [[ git branch --list --format '%(refname:short)' ]] + The name of the branch to deploy the config from + + MODE := switch|boot|test|build|dry-build|dry-activate|edit|repl|build-vm|build-vm-with-bootloader + See the 'nixos-rebuild' manpage for more information about these modes. +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 + ;; + "--mode" | "-m") + if [ -n "$2" ]; then + MODE="$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" +msg "Starting system update..." +git remote update origin --prune >/dev/null 2>&1 +if ! [ "$BRANCH" = "" ]; then + git switch "$BRANCH" >/dev/null 2>&1 && msg2 "Switched to branch '$BRANCH'" +fi +msg2 "Updating git repository..." +git pull --rebase + +# We use a tempfile, to make this truly async. +default_branch=$(mktemp) +cleanup() { + rm "$default_branch" +} +trap cleanup EXIT + +git remote show origin | grep 'HEAD' | cut -d':' -f2 | sed -e 's/^ *//g' -e 's/ *$//g' >"$default_branch" & + +msg2 "Updating system..." +if [ -n "$MODE" ]; then + nixos-rebuild "$MODE" +else + nixos-rebuild switch +fi + +git switch "$(cat "$default_branch")" >/dev/null 2>&1 && msg2 "Switched to branch '$(cat "$default_branch")'" +msg "Finished Update!" + +# vim: ft=sh diff --git a/pkgs/by-name/fu/fupdate-sys/update-sys.sh b/pkgs/by-name/fu/fupdate-sys/update-sys.sh deleted file mode 100755 index 38debf44..00000000 --- a/pkgs/by-name/fu/fupdate-sys/update-sys.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/env dash - -# FIXME(@bpeetz): Ideally I could replace this script with a deployment tool. Thus we -# would have the same tool on the server as I use in my config. <2025-04-14> - -# Shell library {{{ -die() { - error "$1" - if [ -n "$2" ]; then - exit "$2" - else - exit 1 - fi -} -print() { - printf "%s" "$*" -} -println() { - printf "%s\n" "$*" -} -eprint() { - >&2 print "$@" -} -eprintln() { - >&2 println "$@" -} -if [ -n "$NO_COLOR" ]; then - error() { - eprintln "==> ERROR:" "$*" - } - warning() { - eprintln "==> WARNING:" "$*" - } - debug() { - [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln "==> [Debug:]" "$*" - } - debug2() { - [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln " -> [Debug:]" "$*" - } - msg() { - eprintln "==>" "$*" - } - msg2() { - eprintln " ->" "$*" - } - prompt() { - eprint "..>" "$*" - } -else - error() { - eprintln "\033[1;91m==> ERROR:\033[0m" "\033[1;93m$*\033[0m" - } - warning() { - eprintln "\033[1;91m==> WARNING:\033[0m" "\033[1;93m$*\033[0m" - } - debug() { - [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln "\033[1;94m==> [Debug:]\033[0m" "\033[1;93m$*\033[0m" - } - debug2() { - [ -n "$SHELL_LIBRARY_DEBUG" ] && eprintln "\033[1;94m -> [Debug:]\033[0m" "\033[1;93m$*\033[0m" - } - msg() { - eprintln "\033[1;96m==>\033[0m" "\033[1;93m$*\033[0m" - } - msg2() { - eprintln "\033[1;96m ->\033[0m" "\033[1;93m$*\033[0m" - } - prompt() { - eprint "\033[1;96m..>\033[0m" "\033[1;93m$*\033[0m" - } -fi -# }}} - - -NAME="update-sys" -help() { - cat <] [--help] - -OPTIONS: - --branch | -b BRANCHNAME - select a branch to update from. - - --mode | -m MODE - select a mode to update with - - --help | -h - output this help. -ARGUMENTS: - BRANCHNAME := [[ git branch --list --format '%(refname:short)' ]] - The name of the branch to deploy the config from - - MODE := switch|boot|test|build|dry-build|dry-activate|edit|repl|build-vm|build-vm-with-bootloader - See the 'nixos-rebuild' manpage for more information about these modes. -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 - ;; - "--mode" | "-m") - if [ -n "$2" ]; then - MODE="$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" -msg "Starting system update..." -git remote update origin --prune >/dev/null 2>&1 -if ! [ "$BRANCH" = "" ]; then - git switch "$BRANCH" >/dev/null 2>&1 && msg2 "Switched to branch '$BRANCH'" -fi -msg2 "Updating git repository..." -git pull --rebase - -# We use a tempfile, to make this truly async. -default_branch=$(mktemp) -cleanup() { - rm "$default_branch" -} -trap cleanup EXIT - -git remote show origin | grep 'HEAD' | cut -d':' -f2 | sed -e 's/^ *//g' -e 's/ *$//g' >"$default_branch" & - -msg2 "Updating system..." -if [ -n "$MODE" ]; then - nixos-rebuild "$MODE" -else - nixos-rebuild switch -fi - -git switch "$(cat "$default_branch")" >/dev/null 2>&1 && msg2 "Switched to branch '$(cat "$default_branch")'" -msg "Finished Update!" - -# vim: ft=sh -- cgit 1.4.1