Skip to content
AperteDevPublic

About

Updates GNOME Shell extensions straight from their repositories, without waiting for extensions.gnome.org

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

69 Commits

Folders and files

Repository files navigation

Gextant icon

Gextant

Keeps your GNOME Shell extensions up to date, straight from their repositories.

License: GPL-3.0-or-later Latest release GitHub downloads AUR version COPR version

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:

Support me on Ko-fi Sponsor on GitHub Donate using Liberapay

Screenshots

The list of installed extensions, each with the versions found on GitHub, GitLab and extensions.gnome.org

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).

Features

  • 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 as gitlab.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.

Getting started

Gextant needs GNOME 48 or newer. Install it from:

  • Arch Linux (AUR): gextant (built from the release), gextant-bin (the release's binary) or gextant-git (the latest commit).
  • Fedora: sudo dnf copr enable selfref/gextant, then sudo dnf install gextant (COPR).
  • Debian and Ubuntu: the .deb of the latest release (built for Ubuntu 26.04).
  • Flatpak: the .flatpak bundle of the latest release, with flatpak 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.

Contributing

Ideas, bug reports and questions are welcome as issues; see CONTRIBUTING.md before opening a pull request.

Development

Building

Dependencies: Rust (stable), GTK 4.14+, libadwaita 1.7+, libsecret, blueprint-compiler and glib-compile-resources (GLib).

cargo run --release

make 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.

License

GPL-3.0-or-later

About

Updates GNOME Shell extensions straight from their repositories, without waiting for extensions.gnome.org

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages