GNOME: Difference between revisions
imported>Nix m add Software/Applications subcategory |
imported>Artturin mNo edit summary |
||
Line 11: | Line 11: | ||
services.xserver.desktopManager.gnome.enable = true; | services.xserver.desktopManager.gnome.enable = true; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
== Excluding some GNOME applications from the default install == | == Excluding some GNOME applications from the default install == | ||
Not all applications that come pre-installed with the GNOME desktop environment are desirable for everyone to have on their machines. There's a way to edit | Not all applications that come pre-installed with the GNOME desktop environment are desirable for everyone to have on their machines. There's a way to edit {{inline Command|configuration.nix}} to exclude these kinds of packages, for example as follows: | ||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
Line 70: | Line 54: | ||
services.udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ]; | services.udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ]; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
== Running ancient applications == | |||
Long ago, in the GNOME 2 era, applications used GConf service to store configuration. This has been deprecated for many years but some applications were abandoned before they managed to upgrade to a newer dconf system. If you are running such application and getting an error like: | |||
<syntaxHighlight> | |||
GLib.GException: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information | |||
</syntaxHighlight> | |||
you need to add {{ic|gnome2.GConf}} to the list of dbus packages in your {{ic|configuration.nix}}: | |||
<syntaxHighlight lang=nix> | |||
services.dbus.packages = with pkgs; [ gnome2.GConf ]; | |||
</syntaxHighlight> | |||
After applying the update one also has restart their desktop session to refresh the user-specific dbus session. | |||
== Also see == | == Also see == |
Revision as of 05:32, 23 October 2021
GNOME (/(ɡ)noʊm/) is a desktop environment that aims to be simple and easy to use. It is designed by The GNOME Project and is composed entirely of free and open-source software. GNOME is a part of the GNU Project.
Installing GNOME
To use GNOME, add this to your configuration.nix:
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
Excluding some GNOME applications from the default install
Not all applications that come pre-installed with the GNOME desktop environment are desirable for everyone to have on their machines. There's a way to edit Template:Inline Command to exclude these kinds of packages, for example as follows:
environment.gnome.excludePackages = [ pkgs.gnome.cheese pkgs.gnome-photos pkgs.gnome.gnome-music pkgs.gnome.gnome-terminal pkgs.gnome.gedit pkgs.epiphany pkgs.evince pkgs.gnome.gnome-characters pkgs.gnome.totem pkgs.gnome.tali pkgs.gnome.iagno pkgs.gnome.hitori pkgs.gnome.atomix pkgs.gnome-tour ];
Running GNOME programs outside of GNOME
While we are packaging GNOME platform-based applications to be largely self-contained, they still depend, for one reason or another, on some global configuration. The gnome.nix
module sets all the necessary options for you but if you are running customized set-up, you might need to replicate that yourself.
For instance, if you see the following error:
dconf-WARNING **: failed to commit changes to dconf: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files
you should enable dconf module:
programs.dconf.enable = true;
Many applications rely heavily on having an icon theme available, GNOME’s Adwaita is a good choice but most recent icon themes should work as well.
environment.systemPackages = [ gnome3.adwaita-icon-theme ];
Systray Icons
To get systray icons, install the related gnome shell extension
environment.systemPackages = with pkgs; [ gnomeExtensions.appindicator ];
And ensure gnome-settings-daemon udev rules are enabled :
services.udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ];
Running ancient applications
Long ago, in the GNOME 2 era, applications used GConf service to store configuration. This has been deprecated for many years but some applications were abandoned before they managed to upgrade to a newer dconf system. If you are running such application and getting an error like:
GLib.GException: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information
you need to add gnome2.GConf
to the list of dbus packages in your configuration.nix
:
services.dbus.packages = with pkgs; [ gnome2.GConf ];
After applying the update one also has restart their desktop session to refresh the user-specific dbus session.