dots/conf.sh

49 lines
1.2 KiB
Bash
Executable file

#! /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