Configuration is now held by the `.org` files. All `.nix` files are tangled from the org-mode files.
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
|