52 lines
1.6 KiB
Org Mode
52 lines
1.6 KiB
Org Mode
#+title: GNOME
|
||||
|
|
#+setupfile: ../headers
|
|||
|
|
|
|||
|
|
* 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.
|
|||
|
|
#+begin_src nix :tangle yes
|
|||
|
|
{config, ...}: let
|
|||
|
|
m = config.flake.modules.nixos;
|
|||
|
|
in {
|
|||
|
|
flake.modules.nixos.gnome = {...}: {
|
|||
|
|
imports = [m.xserver];
|
|||
|
|
|
|||
|
|
<<display-manager>>
|
|||
|
|
<<gnome-extras>>
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
#+end_src
|
|||
|
|
|
|||
|
|
GNOME still needs the keyboard layout and video driver settings from
|
|||
|
|
[[file:xserver.org][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.
|
|||
|
|
#+name: display-manager
|
|||
|
|
#+begin_src nix
|
|||
|
|
config.services.displayManager.gdm.enable = true;
|
|||
|
|
config.services.desktopManager.gnome.enable = true;
|
|||
|
|
#+end_src
|
|||
|
|
|
|||
|
|
** 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.
|
|||
|
|
#+name: gnome-extras
|
|||
|
|
#+begin_src nix
|
|||
|
|
config.services.gnome = {
|
|||
|
|
gnome-browser-connector.enable = true;
|
|||
|
|
games.enable = false;
|
|||
|
|
gnome-remote-desktop.enable = true;
|
|||
|
|
gnome-online-accounts.enable = true;
|
|||
|
|
sushi.enable = true;
|
|||
|
|
};
|
|||
|
|
#+end_src
|