#! /bin/sh # basic scripts in for managing dotfiles and minor system tasks update_packages() { echo "updating packages" # brew if [ -f /opt/homebrew/bin/brew ]; then echo "homebrew detected, updating..." /opt/homebrew/bin/brew update /opt/homebrew/bin/brew upgrade fi # pkg (termux) if which pkg > /dev/null; then echo "pkg detected, updating..." pkg update pkg upgrade fi # nix flake if which nix > /dev/null; then echo "nix detected, updating..." nix flake update git commit flake.lock -m "nix: update flake sources to $(nix flake metadata --json | jq '.locks.nodes.nixpkgs.locked.rev' --raw-output | cut -c1-7)" # rebuild and switch for nix and darwin systems if which nixos-rebuild > /dev/null; then echo "detected nixos system, rebuilding..." sudo nixos-rebuild switch --flake . elif which darwin-rebuild > /dev/null; then echo "detected darwin system, rebuilding..." darwin-rebuild switch --flake . else echo "didn't detect a nixos or darwin system, continuing..." fi fi } HELPTEXT="$0 usage: update update packages on your system" if [ "$1" = "update" ]; then update_packages else echo "$HELPTEXT" fi