Keeping your system up to date mostly involves invoking more than a single package manager. This usually results in big shell one-liners saved in your shell history. Topgrade tries to solve this problem by detecting which tools you use and run their appropriate package managers.
Arch Linux users can use the AUR package.
Other systems users can either use cargo install
or use the compiled binaries from the release page.
Just run topgrade
. It will run the following steps:
yum upgrade
dnf upgrade
apt update && apt dist-upgrade
brew update && brew upgrade
-t/--tmux
- Topgrade will launch itself in a new tmux session. This flag has no effect if
Topgrade already runs inside tmux. This is useful when using topgrade on remote systems.You can place a configuration file at ~/.config/topgrade.toml
. Here's an example:
``` toml git_repos = [ "~/dev/topgrade", ]
[pre_commands] "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
[commands]
"Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
``
*
gitrepos- A list of custom Git repositories to pull
*
precommands- Commands to execute before starting any action. If any command fails, Topgrade
will not proceed
*
commands` - Custom upgrade steps. If any command fails it will be reported in the summary as all
upgrade steps are reported, but it will not cause Topgrade to stop.