GNOME: Difference between revisions

Crazivik (talk | contribs)
m Refrences: spelling!!
Jasi (talk | contribs)
m Discover dconf settings: Use code font instead of erroneous backticks.
 
(5 intermediate revisions by 3 users not shown)
Line 8: Line 8:
To use the GNOME desktop environment on NixOS, the following configuration options must be set:
To use the GNOME desktop environment on NixOS, the following configuration options must be set:


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|3={ config, pkgs, ... }:
 
{
{
   # Pre 25.11
   # Pre 25.11
   services.xserver.enable = true;
   services.xserver.enable = true;
Line 18: Line 20:
   services.displayManager.gdm.enable = true;
   services.displayManager.gdm.enable = true;
   services.desktopManager.gnome.enable = true;
   services.desktopManager.gnome.enable = true;
}
 
</nowiki>}}
  # To disable installing GNOME's suite of applications
  # and only be left with GNOME shell.
  services.gnome.core-apps.enable = false;
  services.gnome.core-developer-tools.enable = false;
  services.gnome.games.enable = false;
  environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ];
 
}|name=/etc/nixos/configuration.nix|lang=nix}}


Despite the options in NixOS versions before 25.11 being under the <code>xserver</code> module, GNOME uses [[Wayland]] by default. NixOS 25.11 and later removes support for the [[Xorg]] session entirely (though Xwayland is still included and supported for compatibility).
Despite the options in NixOS versions before 25.11 being under the <code>xserver</code> module, GNOME uses [[Wayland]] by default. NixOS 25.11 and later removes support for the [[Xorg]] session entirely (though Xwayland is still included and supported for compatibility).
Line 114: Line 123:
== Tips and tricks ==
== Tips and tricks ==


=== Barebones / Minimal Gnome Desktop ===
This can now be used as a base to build upon with additional apps as required for a Minimal DE.{{File|3={
  # Pre 25.11
  services.xserver.enable = true;
  services.xserver.displayManager.gdm.enable = true;
  services.xserver.desktopManager.gnome.enable = true;
  # As of 25.11
  services.displayManager.gdm.enable = true;
  services.desktopManager.gnome.enable = true;
  services.gnome = {
  core-apps.enable = false;
  core-developer-tools.enable = false;
  games.enable = false;
  };
  environment.systemPackages = with pkgs; [
  gnome-console
  ];
  environment.gnome.excludePackages = with pkgs; [
  gnome-tour
  gnome-user-docs
  ];
}|name=/etc/nixos/configuration.nix|lang=nix}}
=== GNOME power user apps ===
=== GNOME power user apps ===
Both GNOME Tweaks (accessible as <code>gnome-tweaks</code>) and [https://gitlab.gnome.org/TheEvilSkeleton/Refine Refine]  (accessible as <code>refine</code>) allow you to change certain GNOME settings that are hidden by default (such as interface font, window decoration buttons like maximize/minimize, icon themes and GTK themes, etc).  
Both GNOME Tweaks (accessible as <code>gnome-tweaks</code>) and [https://gitlab.gnome.org/TheEvilSkeleton/Refine Refine]  (accessible as <code>refine</code>) allow you to change certain GNOME settings that are hidden by default (such as interface font, window decoration buttons like maximize/minimize, icon themes and GTK themes, etc).  
Line 188: Line 171:


=== Discover dconf settings ===
=== Discover dconf settings ===
If you wish to discover the corresponding dconf entry for a given setting in a program, you can run `dconf watch /` inside of a terminal and change the setting graphically. For example, when changing toggling the Quick-Settings option "Dark Style" from "on" to "off" and back to "on," this will be the output:<syntaxhighlight lang="shell-session">
If you wish to discover the corresponding dconf entry for a given setting in a program, you can run <code>dconf watch /</code> inside of a terminal and change the setting graphically. For example, when changing toggling the Quick-Settings option "Dark Style" from "on" to "off" and back to "on," this will be the output:<syntaxhighlight lang="shell-session">
$ dconf watch /
$ dconf watch /
/org/gnome/desktop/interface/color-scheme
/org/gnome/desktop/interface/color-scheme
Line 256: Line 239:
=== Excluding GNOME Applications ===
=== Excluding GNOME Applications ===


To exclude certain applications that are installed by default with GNOME, set the {{nixos:option|environment.gnome.excludePackages}} module option:
To exclude certain applications that are installed by default with GNOME, set the {{nixos:option|environment.gnome.excludePackages}} module option (Optional Packages: [https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/desktop-managers/gnome.nix#L449-L471 gnome.nix]):


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>