Installing gnome system-monitor

I’m running gnome 3.34.4. I tried installing this extension by flipping the switch:
https://extensions.gnome.org/extension/120/system-monitor/

but get the error Please install libgtop, network manager, and gir bindings.

I tried installing into my local nix-env: gnomeExtensions.system-monitor (https://github.com/NixOS/nixpkgs/blob/33b5621ef6640b6852989eda6616b24d03b42037/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix) but it didn’t seem to have any effect on the system and “flipping the switch” still failed. On reboot, I got the above error immediately.

Finally, I tried installing adjacently into the nix-env the dependencies of the above nixpkg, but that failed as well (got the same error).

Is this related? Recommended way to add Gnome extensions

In the meantime, for others facing this issue, the less-capable extension Vitals Vitals - GNOME Shell Extensions works great.

Did you uninstall the extension installed through the extension portal? It might be clashing.

Another issue might be that when you install extension through Nix, GNOME Shell might not notice until you restart it. (press Alt-F2 and enter r on XOrg, log out on Wayland).

Though, in this case, looking in the systemd journal, it appears that the extension is actually broken due to changes in GNOME Shell:

JS ERROR: Extension system-monitor@paradoxxx.zero.gmail.com: Error: Tried to construct an object without a GType; are you using GObject.registerClass() when inheriting from a GObject type?
SystemMonitor_TipItem@/home/jtojnar/.nix-profile/share/gnome-shell/extensions/system-monitor@paradoxxx.zero.gmail.com/extension.js:643:9
tip_format@/home/jtojnar/.nix-profile/share/gnome-shell/extensions/system-monitor@paradoxxx.zero.gmail.com/extension.js:901:27
SystemMonitor_Cpu@/home/jtojnar/.nix-profile/share/gnome-shell/extensions/system-monitor@paradoxxx.zero.gmail.com/extension.js:1199:14
createCpus@/home/jtojnar/.nix-profile/share/gnome-shell/extensions/system-monitor@paradoxxx.zero.gmail.com/extension.js:1366:20
enable@/home/jtojnar/.nix-profile/share/gnome-shell/extensions/system-monitor@paradoxxx.zero.gmail.com/extension.js:2319:26
_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:166:32
loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:348:26
_loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:590:18
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17
_loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:569:19
_enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:599:18
_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:630:18
init@resource:///org/gnome/shell/ui/extensionSystem.js:55:14
_initializeUI@resource:///org/gnome/shell/ui/main.js:254:22
start@resource:///org/gnome/shell/ui/main.js:143:5
@<main>:1:47

We even marked it as broken, only little too late for the change to be included in 20.04:

https://github.com/NixOS/nixpkgs/commit/d7b5e4e264587b46e88fab521b871bc90eb156fc#diff-9da0fbd5440fe0d34c10746cbe5017af

gnomeExtensions.system-monitor: unbreak with newer GNOME Shell by jtojnar · Pull Request #92886 · NixOS/nixpkgs · GitHub unbreaks the package.

1 Like