Pop!_OS shell on NixOS?

Hello! New to NixOS and not sure if this is the right place to ask. I’m curious if I can install Pop!_OS shell (GitHub - pop-os/shell: Pop!_OS Shell) on NixOS x Gnome?

1 Like

You can try adding environment.systemPackages = with pkgs; [ gnomeExtensions.pop-shell ]; to your config.

3 Likes

I’ll give it a try! Still trying to figure out how to test via boot loader.

This works for me too, thanks!


Some notes:

I had some trouble because the gnome keybindings take precedence. For instance, in Pop!_OS shell, super+h should move focus left. But gnome wants this to be “hide window”. I can get the desired behavior by searching “super+h” in the gnome keyboard shortcuts tool and disabling it. After that Pop!_OS shell, handles it.

Although I’m having a hard time replicating it now, I also struggled while attempting to disable the hotkey because the window which accepts a new key is modal (so the rest of the settings display becomes disable) but I couldn’t find it anywhere. Had to super+tab away and come back before it would be visible… but first I had to give it the new hotkey, otherwise it would set the hotkey itself to super+tab.

I notice this sentence from the paperwm readme:

PaperWM doesn’t handle attached modal dialogs very well, so it’s best to turn it off in Gnome Tweaks (under Windows).

Presumably Pop is under similar constraints and would also benefit from this change? I haven’t explored it.

Having managed to get the hotkey out of my way, I dumped the config to nix. This was the relevant one:

# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
{ lib, ... }:

with lib.hm.gvariant;

{
  dconf.settings = {

   # some settings omitted

    "org/gnome/desktop/wm/keybindings" = {
      minimize = [];
    };

  };
}

I expect that other Pop hotkeys are still masked, but I only really care about move window and move focus.

Lastly, it’s useful to know that the gnome-extensions cli exists. Pop came up on a restart for me, but when I was playing with others (e.g. forge) I had to enable it too.

4 Likes

I notice there are several documented bindings/shortcuts (from the page that opens when you press “view all” in the shell’s tray icon) that just don’t work, even if they aren’t masked by default GNOME binds (lest the bind happens to be noop; it is not always obvious what bind to search for, and it is not possible to do a reverse lookup, AFAICT).

And does this shell not have customizable binds? I can’t find a menu for it.

This whole bind masking approach seems very round-about: is this a NixOS effect, or is this just how it is implemented?

Hey! I’m extremely new to nixos, and this will be my 2nd package installed after vim. I installed with the gui installer and got the default gnome extension manager. The pop shell isn’t showing up in the System Extensions manager, but I’ve followed these instructions, and run sudo nixos-rebuild switch. Any ideas? Any additional messing around in the home folder to get this working?

You should either re-login or reboot and it should show up.

1 Like