Files
topgrade/README.md

45 lines
2.1 KiB
Markdown
Raw Normal View History

2020-07-09 21:29:28 +03:00
![Topgrade](doc/topgrade.png)
2018-06-28 12:04:56 +03:00
[![Travis](https://api.travis-ci.org/r-darwish/topgrade.svg?branch=master)](https://travis-ci.org/r-darwish/topgrade)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/r-darwish/topgrade?svg=true)](https://ci.appveyor.com/project/r-darwish/topgrade)
2018-08-29 14:40:59 +03:00
![GitHub release](https://img.shields.io/github/release/r-darwish/topgrade.svg)
2018-07-05 13:01:43 +03:00
[![Crates.io](https://img.shields.io/crates/v/topgrade.svg)](https://crates.io/crates/topgrade)
2018-08-22 16:59:28 +03:00
[![AUR](https://img.shields.io/aur/version/topgrade.svg)](https://aur.archlinux.org/packages/topgrade/)
2018-08-29 14:40:59 +03:00
![homebrew](https://img.shields.io/homebrew/v/topgrade.svg)
2018-05-31 16:27:23 +03:00
2020-07-09 21:29:28 +03:00
![Demo](doc/screenshot.gif)
2018-05-31 16:27:23 +03:00
2022-01-23 15:44:58 +01:00
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.
2018-05-31 16:27:23 +03:00
## Installation
2022-01-23 15:44:58 +01:00
- Arch Linux: [AUR](https://aur.archlinux.org/packages/topgrade/) package.
- NixOS: _topgrade_ package in `nixpkgs`.
- macOS: [Homebrew](https://brew.sh/) or [MacPorts](https://www.macports.org/install.php).
2018-06-10 14:42:10 +03:00
2022-01-23 15:44:58 +01:00
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.
2018-09-05 11:23:04 +03:00
2021-12-06 14:14:07 +02:00
Topgrade requires Rust 1.51 or above.
2018-05-31 16:27:23 +03:00
## Usage
2022-01-23 15:44:58 +01:00
Just run `topgrade`.
See [the wiki](https://github.com/r-darwish/topgrade/wiki/Step-list) 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`
2022-01-23 15:44:58 +01:00
* **macOS** and **other Unix systems** - `${XDG_CONFIG_HOME:-~/.config}/topgrade.toml`
2019-06-05 14:15:45 +03:00
## Remote execution
2022-01-23 15:44:58 +01:00
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.