Get Started
Upgrading topgrade
The precompiled binaries supplied in the Github releases page are compiled with a self upgrade feature. Topgrade will try to upgrade itself before attempting anything else and will respawn itself when an update is downloaded. If you choose to install Topgrade in this method it is recommended that you place the binary in some place which is writable by your user account, such as ~/.local/bin
or %APPDATA%
.
If you prefer to have Topgrade installed in system-wide manner then it's recommended to using OS package manager or cargo install
.
Supported platforms
Topgrade should probably work on whichever platform it can be build. The real question is whether Topgrade knows that platform and can utilize its unique features, such as the operating system's package manager. Topgrade is tested on and knows the following platforms:
- Linux
- Arch based
- Red Hat based
- Debian based
- Clear Linux
- Gentoo
- NixOS
- openSUSE
- Void
- DragonFly BSD
- FreeBSD
- macOS
- Windows
DragonFly and Free BSD
Instalation
Either use cargo install
or the compiled binaries from the release page.
The compiled binaries contain a self-upgrading feature.
Currently, Topgrade requires Rust 1.65 or above. In general, Topgrade tracks the latest stable toolchain.
Usage
Just run topgrade
.
Configuration
See config.example.toml
for an example configuration file.
Configuration Path
${XDG_CONFIG_HOME:-~/.config}
topgrade
will look for the configuration file in the following places, in order of priority:
CONFIG_DIR/topgrade.toml
CONFIG_DIR/topgrade/topgrade.toml
If the file with higher priority is present, no matter it is valid or not, the other configuration files will be ignored.
On the first run(no configuration file exists), topgrade
will create a configuration file at CONFIG_DIR/topgrade.toml
for you.
GNU/Linux
Installation
Other systems users can either use cargo install
or the compiled binaries from the release page.
The compiled binaries contain a self-upgrading feature.
Currently, Topgrade requires Rust 1.65 or above. In general, Topgrade tracks the latest stable toolchain.
Usage
Just run topgrade
.
Configuration
See config.example.toml
for an example configuration file.
Configuration Path
${XDG_CONFIG_HOME:-~/.config}
CONFIG_DIR/topgrade.toml
CONFIG_DIR/topgrade/topgrade.toml
If the file with higher priority is present, no matter it is valid or not, the other configuration files will be ignored.
On the first run(no configuration file exists), topgrade
will create a configuration file at CONFIG_DIR/topgrade.toml
for you.
macOS
Installation
Usage
Just run topgrade
.
Configuration
See config.example.toml
for an example configuration file.
Configuration Path
${XDG_CONFIG_HOME:-~/.config}
topgrade
will look for the configuration file in the following places, in order of priority:
CONFIG_DIR/topgrade.toml
CONFIG_DIR/topgrade/topgrade.toml
If the file with higher priority is present, no matter it is valid or not, the other configuration files will be ignored.
On the first run(no configuration file exists), topgrade
will create a configuration file at CONFIG_DIR/topgrade.toml
for you.
Windows
Usage
Just run topgrade
.
Configuration
See config.example.toml
for an example configuration file.
Configuration Path
%APPDATA%
topgrade
will look for the configuration file in the following places, in order of priority:
CONFIG_DIR/topgrade.toml
CONFIG_DIR/topgrade/topgrade.toml
If the file with higher priority is present, no matter it is valid or not, the other configuration files will be ignored.
On the first run(no configuration file exists), topgrade
will create a configuration file at CONFIG_DIR/topgrade.toml
for you.
FAQ
It is important to note that Topgrade may be unable to upgrade certain applications used for launching it, including third-party terminals like cmder.
We suggest either creating a shortcut for 'topgrade--keep' or running Topgrade via your preferred shell.
Please note that if installed via scoop, Topgrade may fail to upgrade itself unless self_rename = true
is set in topgrade.toml.
Notifications
Topgrades sends a desktop notification when a step has been failed. Desktop notifications works by default in macOS. On Linux, notify-send has to be installed in order for them to work.
Desktop notifications in other platforms is not supported at the moment.
If the configuration variable notify_each_step is set to true, Topgrade will send a desktop notification at the beginning of each step.