Keeps your GNOME Shell extensions up to date, straight from their repositories.
Gextant is an app for the GNOME desktop that lists your GNOME Shell extensions and tells you when
a newer version is out, without waiting for the review on extensions.gnome.org. It finds each
extension's repository from its own metadata.json, reads the latest release from GitHub or
GitLab, and compares it with what is installed and with what extensions.gnome.org has, so you see
at a glance when the portal is behind.
Gextant is at an early stage: it lists your extensions and checks them for updates, but it does not install or update anything yet; that is next (see the roadmap).
Gextant is developed in my free time. If it keeps your extensions fresh, you can support its development:
Each place that has a version shows as its icon and number: GitHub, GitLab, or the GNOME mark for
extensions.gnome.org. What you have being current is shown quietly, in plain grey and black; a
place with something newer is a blue pill, and its extension gets an update icon, moves to the top
of the list and is counted in the title. Grey means the two cannot be compared, and a yellow ?
that the place has no version to give (the tooltip says why).
- Your extensions in a list: the ones you installed, then the system's, each with its name, UUID and version.
- Checked for new versions when Gextant starts and from the refresh button, against the extension's repository and, separately, extensions.gnome.org.
- The repository is found from the extension's
metadata.json: GitHub and GitLab projects (gitlab.com, and hosts such asgitlab.gnome.org), their project pages, and websites that link to the repository. - Places that agree on a version share one chip, so a repository ahead of the portal shows as two and you see when it is behind.
- Repositories are read from the forges' own pages, so a check costs no API quota; what was found is kept for a few hours, so starting the app does not ask everything again.
- Optional GitHub and GitLab access tokens, kept in your keyring, for when a forge's limit is used up or a repository is private.
All of what Gextant does, and what it will, is listed in FEATURES.md.
Gextant needs GNOME 48 or newer. Install it from:
- Arch Linux (AUR):
gextant(built from the release),gextant-bin(the release's binary) orgextant-git(the latest commit). - Fedora:
sudo dnf copr enable selfref/gextant, thensudo dnf install gextant(COPR). - Debian and Ubuntu: the
.debof the latest release (built for Ubuntu 26.04). - Flatpak: the
.flatpakbundle of the latest release, withflatpak install dev.aperte.Gextant.flatpak. It reads your extensions' folder, not the system's, so it lists the ones you installed. - Any other distribution: the release's tarball, extracted into
/, or build it from source.
Then open Gextant: it lists your extensions and starts checking them.
Ideas, bug reports and questions are welcome as issues; see CONTRIBUTING.md before opening a pull request.
Dependencies: Rust (stable), GTK 4.14+, libadwaita 1.7+, libsecret, blueprint-compiler and
glib-compile-resources (GLib).
cargo run --releasemake install installs it for the current user (~/.local), make uninstall removes it.
Every push is checked by CI; releases are made by the manual Release workflow and listed in the changelog.
