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.
On NixOS, use the topgrade
package in nixpkgs
.
macOS users can install topgrade via Homebrew or MacPorts.
Other systems users can either use cargo install
or use the compiled binaries from the release page. The compiled
binaries contain a self-upgrading feature.
Topgrade requires Rust 1.51 or above.
Just run topgrade
. See the wiki for the list of things Topgrade supports
See config.example.toml
for an example configuration file.
The configuration should be placed in the following paths depending by the operating system:
- macOS -
~/.config/topgrade.toml
- Windows -
%APPDATA%/topgrade.toml
- Other Unix systems -
~/.config/topgrade.toml
You can specify a key called remote_topgrades
in the configuration file. This key should contain a
list of hostnames that have topgrade installed on them. Topgrade will execute Topgrades on these
remote hosts. To limit the execution only to specific hosts use the --remote-host-limit
parameter.