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?

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

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

1 Like