2018-06-05 15:58:19 +03:00
|
|
|
# Topgrade [](https://travis-ci.org/r-darwish/topgrade)
|
2018-05-31 16:27:23 +03:00
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
Keeping your system up to date mostly involves invoking more than a single package manager. This
|
2018-06-10 11:23:44 +03:00
|
|
|
usually results in big shell one-liners saved in your shell history. Topgrade tries to solve this
|
2018-05-31 16:27:23 +03:00
|
|
|
problem by detecting which tools you use and invoke their appropriate package managers.
|
|
|
|
|
|
|
|
|
|
## Installation
|
2018-06-03 13:53:00 +03:00
|
|
|
You can either use `cargo install` or use the compiled binaries from the release page.
|
2018-05-31 16:27:23 +03:00
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
Just invoke `topgrade`. It will invoke the following steps:
|
|
|
|
|
|
|
|
|
|
* Check if the following paths are tracked by Git. If so, pull them:
|
|
|
|
|
* ~/.emacs.d (Should work whether you use [Spacemacs](http://spacemacs.org/) or a custom configuration)
|
|
|
|
|
* ~/.zshrc
|
|
|
|
|
* [~/.oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)
|
|
|
|
|
* ~/.tmux
|
|
|
|
|
|
|
|
|
|
* *Unix*: Invoke [zplug](https://github.com/zplug/zplug) update
|
|
|
|
|
* *Unix*: Upgrade tmux plugins with [TPM](https://github.com/tmux-plugins/tpm)
|
|
|
|
|
* Invoke Cargo [install-update](https://github.com/nabijaczleweli/cargo-update)
|
|
|
|
|
* Upgrade Emacs packages
|
2018-06-07 08:51:16 +03:00
|
|
|
* Upgrade Vim packages. Works with the following plugin frameworks:
|
|
|
|
|
* [NeoBundle](https://github.com/Shougo/neobundle.vim)
|
|
|
|
|
* [Vundle](https://github.com/VundleVim/Vundle.vim)
|
|
|
|
|
* [Plug](https://github.com/junegunn/vim-plug)
|
2018-06-06 11:29:55 +03:00
|
|
|
* Upgrade NPM globally installed packages
|
|
|
|
|
* Upgrade Atom packages
|
2018-05-31 16:53:11 +03:00
|
|
|
* *Linux*: Invoke the system package manager:
|
|
|
|
|
* *Arch*: Invoke [yay](https://github.com/Jguer/yay) or fall back to pacman
|
2018-06-09 20:41:37 +03:00
|
|
|
* *CentOS/RHEL*: Invoke `yum upgrade`
|
|
|
|
|
* *Fedora* - Invoke `dnf upgrade`
|
|
|
|
|
* *Debian/Ubuntu*: Invoke `apt update && apt dist-upgrade`
|
2018-06-03 16:12:16 +03:00
|
|
|
* *Linux*: Invoke [fwupdmgr](https://github.com/hughsie/fwupd) to show firmware upgrade. (View only. No upgrades will actually be performed)
|
2018-05-31 16:53:11 +03:00
|
|
|
* *Linux*: Run [needrestart](https://github.com/liske/needrestart)
|
|
|
|
|
* *macOS*: Upgrade [Homebrew](https://brew.sh/) packages
|
|
|
|
|
* *macOS*: Upgrade App Store applications
|