System

Topgrade – system specific update tool

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.

This is free and open source software.

Features include:

  • Linux: Run the system package manager:
    • Arch based: Run 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:
  • 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 pearl update.
  • Windows: Run Topgrade inside WSL.
  • Windows: Upgrade Powershell modules.
  • Windows: Upgrade all Chocolatey packages.
  • Windows: Upgrade all Scoop packages.
  • Check if the following paths are tracked by Git. If so, pull them:
    • ~/.emacs.d (Should work whether you use Spacemacs or a custom configuration)
    • ~/.zshrc
    • ~/.tmux
    • ~/.config/fish
    • ~/.config/nvim
    • ~/.vim
    • ~/.config/openbox
    • ~/.config/bspwm
    • ~/.config/i3
    • ~/.config/sway
    • Powershell Profile
    • Microsoft Terminal configuration
    • Custom defined paths
  • Unix: Run zr update
  • Unix: Run zplug update
  • Unix: Run oh-my-zsh update
  • Unix: Run antigen update
  • Unix: Run antibody update
  • Unix: Run fisher
  • Unix: Upgrade tmux plugins with 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
  • Upgrade Emacs packages (You’ll get a better output if you have Paradox installed)
  • Upgrade Flutter SDK
  • Upgrade OCaml packages
  • Upgrade vcpkg globally installed packages
  • Upgrade myrepos managed sourcecode repositories
  • Upgrade Python packages installed using pipx
  • Upgrade R globally installed packages
  • Upgrade stack
  • Upgrade Vim/Neovim packages. Works with the following plugin frameworks:
    • NeoBundle
    • Vundle
    • Plug
    • Dein
    • 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 to show firmware upgrade. (View only. No upgrades will actually be performed).
  • Linux: Run pihole updater.
  • Run custom defined commands.
  • Final stage:
    • Linux: Run needrestart
    • Windows: Run Windows Update (You’ll have to install PSWindowsUpdate)
    • macOS: Upgrade App Store applications using masmacOS: Upgrade the system
    • FreeBSD: Run freebsd-upgrade
    • Cross-platform support – runs under Linux, FreeBSD, macOS, and Windows.

Website: github.com/topgrade-rs/topgrade
Support:
Developer: Many contributors
License: GNU General Public License v3.0

Topgrade in action

Topgrade is written in Rust. Learn Rust with our recommended free books and free tutorials.


Popular series
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source.
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments