GitHunt
ST

stefanhusmann/topgrade

Upgrade everything

Topgrade

Travis
AppVeyor
GitHub release
Crates.io
AUR
homebrew

Demo

Keeping your system up to date usually involves invoking multiple package managers.
This results in big, non-portable shell one-liners saved in your shell.
To remedy this, topgrade detects which tools you use and runs the appropriate commands to update them.

Installation

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.

Usage

Just run topgrade.
See the wiki for the list of things Topgrade supports.

Customization

See config.example.toml for an example configuration file.

Configuration path

The configuration should be placed in the following paths depending by the operating system:

  • Windows - %APPDATA%/topgrade.toml
  • macOS and other Unix systems - ${XDG_CONFIG_HOME:-~/.config}/topgrade.toml

Remote execution

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 use ssh to run topgrade on remote hosts before acting locally.
To limit the execution only to specific hosts use the --remote-host-limit parameter.

Languages

Rust98.6%Roff0.8%Vim Script0.3%Emacs Lisp0.2%KakouneScript0.0%
GNU General Public License v3.0
Created September 26, 2022
Updated September 26, 2022
stefanhusmann/topgrade | GitHunt