From ddc76def2cf58864b548f46711c555e87deee1c3 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Thu, 27 Feb 2020 21:22:57 +0200 Subject: [PATCH] Migrate stuff from the readme to the wiki --- README.md | 111 +----------------------------------------------------- 1 file changed, 1 insertion(+), 110 deletions(-) diff --git a/README.md b/README.md index 54f1a09d..8cc20bf2 100644 --- a/README.md +++ b/README.md @@ -12,25 +12,6 @@ Keeping your system up to date mostly involves invoking more than a single packa 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. -## 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 - ## Installation Arch Linux users can use the [AUR](https://aur.archlinux.org/packages/topgrade/) package. @@ -49,98 +30,8 @@ Topgrade isn't guaranteed to work on Rust versions older than the latest stable intend to install Topgrade using Cargo then you should either install Rust using rustup or use a distribution which ships the latest version of Rust, such as Arch Linux. -### 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`. - -If you prefer to have Topgrade installed in system-wide manner then it's recommended to either -install it using the OS package manager or `cargo install`. Topgrade will not have the self upgrade -feature but it will keep itself up to date by calling the operating system's package manager. - ## Usage -Just run `topgrade`. It will run the following steps: - -* Try to self-upgrade if compiled with this feature. Topgrade will respawn itself if it was upgraded. -* **Linux**: Run the system package manager: - * **Arch based**: Run [yay](https://github.com/Jguer/yay) or fall back to pacman - * **Redhat based**: Run `yum upgrade` (or `dnf` if present) - * **Debian based**: Run `apt update && apt dist-upgrade` - * **Clear Linux**: Run `swupd update` - * **Gentoo**: Run `layman -s ALL && emerge --sync -q && eix-update && emerge -uDNa world` - * **openSUSE**: Run `zypper refresh && zypper dist-upgrade` - * **Void**: Run `xbps-install -Su` -* **Linux**: Run [etc-update](https://dev.gentoo.org/~zmedico/portage/doc/man/etc-update.1.html): -* **DragonFly BSD**: Upgrade and audit packages -* **FreeBSD**: Upgrade and audit packages -* **Unix**: Run `brew update && brew upgrade`. This should handle both Homebrew and Linuxbrew -* **Unix**: Run `nix upgrade-nix && nix --upgrade`. -* **Unix**: Run [Pearl](https://github.com/pearl-core/pearl) `pearl update`. -* **Windows**: Run Topgrade inside WSL. -* **Windows**: Upgrade Powershell modules -* **Windows**: Upgrade all [Chocolatey](https://chocolatey.org/) packages -* **Windows**: Upgrade all [Scoop](https://scoop.sh) packages -* 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 - * ~/.tmux - * ~/.config/fish - * ~/.config/nvim - * ~/.vim - * ~/.config/openbox - * ~/.config/bspwm - * ~/.config/i3 - * ~/.config/sway - * Powershell Profile - * [Microsoft Terminal](https://github.com/microsoft/terminal) configuration - * Custom defined paths -* **Unix**: Run [zr](https://github.com/jedahan/zr) update -* **Unix**: Run [zplug](https://github.com/zplug/zplug) update -* **Unix**: Run [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) update -* **Unix**: Run [antigen](https://github.com/zsh-users/antigen) update -* **Unix**: Run [antibody](https://getantibody.github.io/) update -* **Unix**: Run [fisher](https://github.com/jorgebucaran/fisher) -* **Unix**: Upgrade tmux plugins with [TPM](https://github.com/tmux-plugins/tpm). *Note*: Do not use - the `-b` flag in your configuration as suggested by the TPM readme. -* Update Rustup by running `rustup update`. This will also attempt to run `rustup self update` when Rustup is installed inside the home directory. -* Run Cargo [install-update](https://github.com/nabijaczleweli/cargo-update) -* Upgrade Emacs packages (You'll get a better output if you have [Paradox](https://github.com/Malabarba/paradox) installed) -* Upgrade [Flutter SDK](https://flutter.dev/docs/development/tools/sdk/upgrading) -* Upgrade [Go packages](https://golang.org/pkg/cmd/go/internal/get/) -* Upgrade [OCaml packages](https://opam.ocaml.org/) -* Upgrade [vcpkg](https://github.com/Microsoft/vcpkg) globally installed packages -* Upgrade [myrepos](https://myrepos.branchable.com/) managed sourcecode repositories -* Upgrade Python packages installed using [pipx](https://github.com/cs01/pipx) -* Upgrade [R globally installed packages](https://github.com/ankane/jetpack) -* Upgrade [stack](https://docs.haskellstack.org/en/stable/README/) -* Upgrade Vim/Neovim 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) - * [Dein](https://github.com/Shougo/dein.vim) - * [Voom](https://github.com/airblade/voom) -* Node - * Run `yarn global update` if yarn is installed. - * Run `npm update -g`. In Unix systems other then macOS the step will be - performed only if`npm root -g` is a path inside your home directory. -* Run `composer global update` if Composer's home directory is inside the home directory of the - user. Run `valet install` after. -* Upgrade Atom packages -* Run `gem upgrade --user-install` if `~/.gem` exists -* **Linux**: Update Flatpak packages -* **Linux**: Update snap packages -* **Linux**: Run [fwupdmgr](https://github.com/hughsie/fwupd) to show firmware upgrade. (View - only. No upgrades will actually be performed) -* **Linux**: Run [pihole](https://pi-hole.net/) updater -* Run custom defined commands -* Final stage - * **Linux**: Run [needrestart](https://github.com/liske/needrestart) - * **Windows**: Run Windows Update (You'll have to install [PSWindowsUpdate](https://marckean.com/2016/06/01/use-powershell-to-install-windows-updates/)) - * **macOS**: Upgrade App Store applications using [mas](https://github.com/mas-cli/mas) - * **macOS**: Upgrade the system - * **FreeBSD**: Run `freebsd-upgrade` +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.