gnome-extensions(1)
π gnome-extensions β the manual, but make it cute π
okay bestie, gather round, because this is the gnome-extensions page from the User Commands section (section 1 of your friendly neighborhood manual), and honestly? it's giving "I manage my whole GNOME extension life from the terminal and I thrive." β¨
π¦ NAME π¦
gnome-extensions β the command line tool for managing GNOME extensions. no GUI, just vibes and UUIDs. periodt. π
πΈ SYNOPSIS πΈ
gnome-extensions help [COMMAND]
gnome-extensions version
gnome-extensions enable UUID
gnome-extensions disable UUID
gnome-extensions reset UUID
gnome-extensions info UUID
gnome-extensions show UUID
gnome-extensions list [OPTION...]
gnome-extensions prefs UUID
gnome-extensions create [OPTION...]
gnome-extensions pack [OPTION...]
gnome-extensions install [OPTION...] PACK
gnome-extensions uninstall UUID
gnome-extensions upload [OPTION...] PACK...
π DESCRIPTION π
gnome-extensions is a little utility that makes some common GNOME extensions operations available right there on the command line. that's it, that's the pitch β it ate and left no crumbs π«Ά
π COMMON OPTIONS π
Every single command except help and version handles this option:
--quiet,-qβ do not print error messages. shhh π€« it's not ignoring you, it's just choosing peace.
π COMMANDS π
π help [COMMAND]
Displays a short synopsis of the available commands, OR gives you the detailed β¨teaβ¨ on one specific command if you pass one.
π version
Prints the program version. iconic, brief, perfect.
π enable UUID
Enables the extension identified by UUID.
listen, this command will not detect any errors coming from the extension itself, so if you wanna confirm the extension state is actually ACTIVE, go hit up the info command. trust. π
If the extension is already enabled, the command will do nothing. it's unbothered fr fr.
π disable UUID
Disables the extension identified by UUID.
If the extension is not enabled, the command will do nothing. no drama, no notes. π
π reset UUID
Reset the extension identified by UUID.
heads up bestie: the extension will be disabled in GNOME, but it may be enabled by other sessions like GNOME Classic. so check your vibe check accordingly.
π info UUID
Show details of the extension identified by UUID, including name, description and state. the full dossier. π΅οΈββοΈ
π show UUID
Synonym of info. same energy, different spelling, both slay.
π list [OPTION...]
Displays a list of installed extensions.
πΈ Options
--userβ include extensions installed in the user's$HOME--systemβ include extensions installed in the system--enabledβ include enabled extensions--disabledβ include disabled extensions--activeβ only include extensions in active state--inactiveβ only include extensions in inactive state--prefsβ only include extensions with preferences--updatesβ only include extensions with pending updates-d,--detailsβ show some extra information for each extension
π prefs UUID
Open the preference dialog of the extension identified by UUID. the settings girlies stay winning ποΈ
π create [OPTION...]
Creates a new extension from a template. new project, new era, main character energy. β¨
πΈ Options
--name=NAMEβ set the user-visible name in the extension's metadata to NAME--description=DESCβ set the description in the extension's metadata to DESC--uuid=UUIDβ set the unique extension ID in the metadata to UUID--gettext-domain=DOMAINβ set the gettext domain used by the extension--settings-schema=SCHEMAβ set the GSettings schema used by the extension--template=TEMPLATEβ use TEMPLATE as base for the new extension--prefsβ include aprefs.jstemplate-i,--interactiveβ prompt for any extension metadata that hasn't been provided on the command line
π pack [OPTION...] [SOURCE-DIRECTORY]
Creates an extension bundle that is suitable for publishing. get it ready for the world, bestie π
The bundle will always include the required files extension.js and metadata.json, as well as any of the optional stylesheet.css, stylesheet-dark.css, stylesheet-light.css or prefs.js if found. Every additional source that should be included must be specified with --extra-source.
If the extension includes one or more GSettings schemas, they can either be placed in a schemas/ folder to be picked up automatically, or be specified with --schema.
Similarly, translations are included automatically when they are located in a po/ folder β otherwise the --podir option can be used to point to the correct directory. If no gettext domain is provided on the command line, the value of the gettext-domain metadata field is used if it exists, and the extension UUID if not.
All files are searched in SOURCE-DIRECTORY if specified, or the current directory otherwise.
πΈ Options
--extra-source=FILEβ additional source to include in the bundle--schema=SCHEMAβ a GSettings schema that should be included--podir=PODIRβ a directory with translations that should be compiled and included--gettext-domain=DOMAINβ the gettext domain to use for translations-f,--forceβ overwrite an existing pack-o,--out-dir=DIRECTORYβ the directory where the pack should be created
π install [OPTION...] PACK
Installs an extension from the bundle PACK.
The command unpacks the extension files and moves them to the expected location in the user's $HOME, so that it will be loaded in the next session.
okay real talk for a sec π¨ β it is mainly intended for testing, not as a replacement for the extension website. As extensions have privileged access to the user's session, it is advised to never load extensions from untrusted sources without carefully reviewing their content. this is the one part of the page where the vibe check is serious. no cap.
πΈ Options
--forceβ override an existing extension
π uninstall UUID
Uninstalls the extension identified by UUID. bye bestie, it was real π«Ά
π upload [OPTION...] PACK...
Upload one or more extension packs to <https://extensions.gnome.org>. π
If login credentials are required, they can be entered interactively when prompted. This is generally preferred over the --password or --password-file options, which risk exposing the password in logs, the environment or filesystem (depending on how it was provided).
like, genuinely: interactive login is the moment. the other two are the risky ones. protect your password like it's your notes app. π
πΈ Options
--accept-tosβ accept the terms of service at <https://extensions.gnome.org/upload/>--user=USERβ username to log into <https://extensions.gnome.org>--password=PASSWORDβ password to log into <https://extensions.gnome.org>--password-file=FILEβ file to read <https://extensions.gnome.org> password from
β EXIT STATUS β
On success 0 is returned, a non-zero failure code otherwise. zero means slay, anything else means something went sideways. π
π BUGS π
The tool is part of the gnome-shell project, and bugs should be reported in its issue tracker at <https://gitlab.gnome.org/GNOME/gnome-shell/issues>. found a bug? go tell the devs, they wanna know fr fr. π
aaaand that's the whole page, bestie β signing off from the gnome-extensions(1) manual page, from the User Commands crew. go enable something cute. πβ¨ππ¦
π¦ where this page comes from
- nixpkgs unstable: gnome-shell 50.4
- ubuntu stonking: gnome-shell 51.0-2ubuntu3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms