Files
dotfiles/dot_config/topgrade.toml
T

97 lines
3.5 KiB
TOML

# ~/.config/topgrade.toml — tailored for CachyOS (Arch · shelly · fish)
# Only the keys that matter for this box are uncommented; everything else
# keeps topgrade's sane defaults.
[misc]
# shelly escalates privileges mid-run; cache sudo creds up front so an
# unattended run doesn't block on a password prompt halfway through.
pre_sudo = true
# topgrade on this box is cargo-installed (~/.cargo/bin/topgrade), and the
# [cargo] step below (cargo-update) already owns updating it. Self-update
# stays off so two updaters don't fight over the same binary.
no_self_update = true
# Run distro cleanup after upgrading (paccache / shelly cache clean).
# Needs `pacman-contrib` for paccache; harmlessly skipped if absent.
cleanup = true
# Surface *.pacnew / *.pacsave you need to merge — critical on a rolling
# Arch base. (default true; pinned here as a reminder.)
show_distribution_summary = true
# Globally skipped steps:
# containers → topgrade pulls :latest for every local image on every run,
# which is noisy and can drag in breaking tags. Drop this entry
# if you actually want your dev images auto-refreshed.
disable = ["containers", "config_update"]
ignore_failures = ["uv", "containers"]
# NOTE: the [python] pip/conda steps are off by default and left that way —
# that's what protects your pinned torch 2.10.0+rocm7.2.4 from a blind upgrade.
# Optional: update topgrade on goliath in the same pass. Requires topgrade
# installed there + tmux locally; rides your existing SSH ControlMaster.
# remote_topgrades = ["goliath"]
[linux]
# shelly is the CachyOS default package manager CLI now. Pin it so topgrade
# never silently falls back to bare `pacman` (which would skip the AUR *and*
# CachyOS's precompiled-AUR repo), and never picks up the still-installed
# paru via autodetect.
# Valid values: autodetect, aura, garuda_update, pacman, pamac, paru, pikaur,
# shelly, trizen, yay
arch_package_manager = "paru"
# Pull archlinux.org news before the upgrade. CachyOS tracks Arch, so
# manual-intervention advisories (keyring, library bumps) still apply to you.
show_arch_news = true
# Extra flags for shelly, if ever needed (e.g. ignoring a pinned package):
# shelly_arguments = "upgrade-all -n"
[cargo]
# Also update git-sourced installs (your smartcommit / niri-app / skillforge CLIs),
# not just crates.io ones. This step is also what keeps topgrade itself fresh.
git = true
# Requires the updater binary: shelly install cargo-update
[firmware]
# Check + display only — review fwupd updates before flashing the Z13 rather
# than auto-applying firmware in an unattended run.
upgrade = false
[git]
# Predefined repos still get pulled by default. Add your own globs if you want
# dotfiles fetched in the same pass; left commented so topgrade doesn't trip
# over a dirty working tree mid-run.
# repos = ["~/.config/niri", "~/.config/mango", "~/dotfiles"]
# arguments = "--rebase --autostash"
[flatpak]
# User-scope flatpaks update without sudo. Only set this if you keep
# system-wide installs.
# use_sudo = true
[pre_commands]
# "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
"Dotstate Sync" = "dotstate sync"
"GHQ Update" = "ghq list | ghq get -u -s"
# Commands to run after anything
[post_commands]
# "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
"Omp Update" = "omp update"
"Hermes Update" = "hermes update --backup --yes"
"Herdr Update" = "herdr update"
"Shelly Update" = "shelly upgrade-all -n"
"Cachy Update" = "cachy-update"