initial commit
This commit is contained in:
38
bin/nomarchy-update
Executable file
38
bin/nomarchy-update
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Nomarchy Update Script
|
||||
# 1. Updates the flake inputs in /etc/nixos
|
||||
# 2. Applies system-wide NixOS changes
|
||||
# 3. Applies user-level Home Manager changes
|
||||
|
||||
set -e
|
||||
|
||||
REPO_DIR="/etc/nixos"
|
||||
|
||||
if [ ! -d "$REPO_DIR" ]; then
|
||||
echo "Error: $REPO_DIR not found. Are you running on a Nomarchy system?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "--- Starting Nomarchy Update ---"
|
||||
|
||||
# 1. Update Flake Lock
|
||||
echo "Updating flake inputs..."
|
||||
sudo nix --extra-experimental-features "nix-command flakes" flake update --flake "$REPO_DIR"
|
||||
|
||||
# 2. Rebuild System
|
||||
echo "Applying system-level updates..."
|
||||
sudo nixos-rebuild switch --flake "$REPO_DIR#default"
|
||||
|
||||
# 3. Rebuild Home Environment
|
||||
echo "Applying user-level updates..."
|
||||
home-manager switch --flake "$REPO_DIR#default" --impure
|
||||
|
||||
# 4. Commit changes if it's a git repo
|
||||
if [ -d "$REPO_DIR/.git" ]; then
|
||||
echo "Committing update to local history..."
|
||||
sudo git -C "$REPO_DIR" add flake.lock
|
||||
sudo git -C "$REPO_DIR" commit -m "chore: update system (flake.lock)" || echo "No lockfile changes to commit."
|
||||
fi
|
||||
|
||||
echo "--- Nomarchy Update Complete ---"
|
||||
Reference in New Issue
Block a user