# Install topgrade with Homebrew, apk, MacPorts, Nix, zypper, scoop, winget

Upgrade all the things. Version 17.9.0 via Homebrew; verified 2026-07-28. Also installable with nix: nix profile install nixpkgs#topgrade.

## Install

```sh
sudo av install brew:topgrade
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install topgrade
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install topgrade
```

  Evidence: MacPorts ports tree: sysutils/topgrade/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add topgrade
```

  Evidence: Alpine Linux edge package indexes: topgrade from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#topgrade
```

  Evidence: nixpkgs package indexes: pkgs/by-name/to/topgrade/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install topgrade
```

  Evidence: openSUSE Tumbleweed package metadata: topgrade from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/topgrade
```

  Evidence: Scoop official bucket manifest trees: bucket/topgrade.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id topgrade-rs.topgrade -e
```

  Evidence: Windows Package Manager source index: topgrade-rs.topgrade from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:topgrade
- **Package manager:** Homebrew
- **Version:** 17.9.0
- **Source summary:** Upgrade all the things
- **Homepage:** <https://github.com/topgrade-rs/topgrade>
- **Repository:** <https://github.com/topgrade-rs/topgrade>
- **Last updated:** 2026-07-28T16:21:40Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- topgrade (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 17.9.0
## Project history and usage

Topgrade is a Rust command-line system maintenance tool whose goal is to update many package managers and developer-tool ecosystems with one command. Its slogan, reflected in its crate metadata, is 'Upgrade all the things.'

### Project history

The topgrade crate was first published on crates.io in June 2018. The current topgrade-rs README states that the project is a fork of r-darwish/topgrade created to keep the tool maintained, and explains the problem it solves: system updates often require a collection of non-portable shell one-liners across different package managers.

The maintained project has become a catalogue of package-manager integrations. The README documents official and community installation routes across releases, Cargo, deb-get, AUR, PyPI/pipx/uv, Winget, Homebrew, Fedora Copr, Chocolatey, Scoop, MacPorts, Pacstall, Nix, Alpine, and Void. The changelog shows ongoing work on specific package managers and tools, including Homebrew, Nix, winget, mise, cargo, uv, firmware tools, editors, AI/developer tools, and desktop app managers.

By 2026, the project was releasing in the 17.x line; crates.io reports 17.6.2 as the current maximum version, and the changelog records 17.6.2 on June 20, 2026. Its release cadence and breadth of integrations make it a maintenance hub rather than a wrapper around one package manager.

### Adoption history

Topgrade's adoption is cross-platform and package-manager oriented. The official README presents Homebrew and Winget alongside Cargo and distro package routes, while the input metadata shows Homebrew, Alpine, MacPorts, Nix, Scoop, Winget, and zypper packaging. This breadth reflects its audience: users who accumulate several package ecosystems on one machine.

### How it is used

The normal usage is intentionally small: run `topgrade`. The tool detects installed update mechanisms and runs the appropriate commands; users can configure behavior in `topgrade.toml`, define custom commands, use remote execution over SSH, and choose platform-specific integrations.

### Why package nerds care

Topgrade is unusually important for package nerds because it turns package-manager sprawl into a single ritual. It does not replace Homebrew, Cargo, Nix, winget, pipx, or distro managers; it orchestrates them, making it attractive to users whose machines contain many overlapping software supply chains.

### Timeline

- 2018: topgrade crate first published on crates.io.
- Current project: topgrade-rs README identifies the maintained fork from r-darwish/topgrade.
- 2025: 16.x releases expand integrations and release automation across package managers.
- 2026: 17.0.0 bumps the minimum supported Rust version.
- 2026: 17.6.2 released with fixes for Homebrew, Linuxbrew, pip3 on Termux, Nix, and PowerShell behavior.

### Related projects

- Homebrew, Cargo, Nix, Winget, Scoop, MacPorts, Chocolatey, pipx, uv, mise, AUR, deb-get, zypper.

### Sources

- <https://crates.io/crates/topgrade>
- <https://github.com/topgrade-rs/topgrade#readme>
- <https://raw.githubusercontent.com/topgrade-rs/topgrade/main/CHANGELOG.md>
- <https://raw.githubusercontent.com/topgrade-rs/topgrade/main/Cargo.toml>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for topgrade. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ${XDG_CONFIG_HOME:-~/.config}/topgrade.toml, ${XDG_CONFIG_HOME:-~/.config}/topgrade/topgrade.toml
## Other Package-Manager Records

- Nix - topgrade: normalized package name match | nixpkgs package indexes: pkgs/by-name/to/topgrade/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - topgrade - 17.9.0-r0: normalized package name match | Alpine Linux edge package indexes: topgrade from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | run upgrades of packages in OS and other package managers | https://github.com/topgrade-rs/topgrade
- apk - topgrade-bash-completion - 17.9.0-r0: normalized package name match | Alpine Linux edge package indexes: topgrade-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for topgrade | https://github.com/topgrade-rs/topgrade
- apk - topgrade-doc - 17.9.0-r0: normalized package name match | Alpine Linux edge package indexes: topgrade-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | run upgrades of packages in OS and other package managers (documentation) | https://github.com/topgrade-rs/topgrade
- apk - topgrade-fish-completion - 17.9.0-r0: normalized package name match | Alpine Linux edge package indexes: topgrade-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for topgrade | https://github.com/topgrade-rs/topgrade
- apk - topgrade-zsh-completion - 17.9.0-r0: normalized package name match | Alpine Linux edge package indexes: topgrade-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for topgrade | https://github.com/topgrade-rs/topgrade
- zypper - topgrade - 17.9.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: topgrade from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Upgrade all the things | https://github.com/topgrade-rs/topgrade
- MacPorts - topgrade: normalized package name match | MacPorts ports tree: sysutils/topgrade/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/topgrade: normalized package name match | Scoop official bucket manifest trees: bucket/topgrade.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - topgrade-rs.topgrade: normalized package name match | Windows Package Manager source index: topgrade-rs.topgrade from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/topgrade.yml](https://github.com/mxcl/pkgdb/blob/main/combined/topgrade.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
