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 a prefs.js template
  • -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


⭐ 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