I encountered an issue where I needed to enable window tiling in NixOS using GNOME. To address this, I decided to use the Pop Shell extension, which provides advanced tiling features.
First, ensure GNOME Tweaks is installed to allow adjustment of various settings. Add the following line to the `environment.systemPackages` in `configuration.nix`:
environment.systemPackages = with pkgs; [
gnome3.gnome-tweaks
];
Add the Pop Shell extension to the list of GNOME Shell extensions.
services.gnome.extensions = {
enable = true;
packages = with gnomeExtensions; [ pop-shell ];
};
Update your `configuration.nix` file to include the Pop Shell extension and GNOME Tweaks. Below are the relevant parts of the configuration file:
{ config, pkgs, lib, ... }:
let
secrets = import ./secrets.nix;
gnomeExtensions = pkgs.callPackage <nixpkgs/pkgs/desktops/gnome/extensions> {};
in
{
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.gnome.extensions = {
enable = true;
packages = with gnomeExtensions; [ pop-shell ];
};
environment.systemPackages = with pkgs; [
gnome3.gnome-tweaks
gnomeExtensions.pop-shell
];
}
Rebuild the NixOS configuration to apply the changes:
sudo nixos-rebuild switch
Restart the GNOME Shell to enable the new extension:
- Press `Alt + F2`.
- Type `r`.
- Press `Enter`.
Open GNOME Tweaks and verify that the Pop Shell extension is enabled. Configure the settings as needed.
By following these steps, I successfully enabled window tiling in GNOME on NixOS using the Pop Shell extension.