Files
nix-config/modules/desktop/gnome.org
phundrak a3df5e937f refactor: change to litterate config
Configuration is now held by the `.org` files. All `.nix` files are
tangled from the org-mode files.
2026-10-26 00:43:40 +01:00

1.6 KiB
Raw Permalink Blame History

GNOME

GNOME

GNOME is my desktop environment of choice on the hosts that don’t run a bare Wayland compositor like Hyprland or Sway on their own. I keep it around in case I break my config in either compositor. Here’s the skeleton of the nixos.gnome module.

{config, ...}: let
  m = config.flake.modules.nixos;
in {
  flake.modules.nixos.gnome = {...}: {
    imports = [m.xserver];

    <<display-manager>>
    <<gnome-extras>>
  };
}

GNOME still needs the keyboard layout and video driver settings from xserver, so this module pulls that one in directly rather than making every host import both.

Login and Session

GDM is GNOME’s own display manager, paired here with the GNOME session itself.

config.services.displayManager.gdm.enable = true;
config.services.desktopManager.gnome.enable = true;

Extra GNOME Services

gnome-browser-connector lets browser extensions talk to the GNOME Shell’s own extension, gnome-remote-desktop gives me built-in RDP support, gnome-online-accounts handles signing into things like Nextcloud from GNOME’s own settings, and sushi is the quick file previewer Nautilus uses. games I turn off explicitly, since I have no use for GNOME’s bundled casual games.

config.services.gnome = {
  gnome-browser-connector.enable = true;
  games.enable = false;
  gnome-remote-desktop.enable = true;
  gnome-online-accounts.enable = true;
  sushi.enable = true;
};