#!/bin/sh set -eu usage() { cat <<-'EOF' Usage: update update -h EOF } help() { cat <<-'EOF' Options: -h, --help show this message Updates miscellaneous things on the workstation: - "guix pull" on the "andreh" and "root" accounts; - get latest RFCs; - updates RSS feeds; - updates source code repositories. Examples: Just use it: $ update EOF } for flag in "$@"; do case "$flag" in (--) break ;; (--help) usage help exit ;; (*) ;; esac done while getopts 'h' flag; do case "$flag" in (h) usage help exit ;; (*) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) HOSTNAME="$(hostname)" if [ -e /etc/nixos/configuration.nix ]; then pass show "$HOSTNAME"/andreh | head -n1 | sudo -S nix-channel --update else nix-channel --update fi guix pull -v3 rfc -u repos ~/dev/misc/ "$XDG_PREFIX" "$PRIV_CONFIG" | xargs -I% -P4 x \ echo 'Fetching on %.' AND \ timeout 60 vcs -C% fetch OR \ echo 'WARNING: Failed to fetch repository: %.' >&2 ||: