(gnu home services desktop) module provides services that you may
find useful on “desktop” systems running a graphical user environment such
This is the service type representing the X Window graphical display server (also referred to as “X11”).
X Window is necessarily started by a system service; on Guix System,
starting it is the responsibility of
gdm-service-type and similar
services (see Оконная система X). At the level of Guix Home, as an unprivileged
user, we cannot start X Window; all we can do is check whether it is
running. This is what this service does.
As a user, you probably don’t need to worry or explicitly instantiate
home-x11-service-type. Services that require an X Window graphical
display, such as
home-redshift-service-type below, instantiate it and
depend on its corresponding
x11-display Shepherd service
(see Managing User Daemons).
When X Window is running, the
x11-display Shepherd service starts and
DISPLAY environment variable of the
process, using its original value if it was already set; otherwise, it fails
The service can also be forced to use a given value for
herd start x11-display :3
In the example above,
x11-display is instructed to set
This is the service type for Redshift, a program that adjusts the display color temperature according to
the time of day. Its associated value must be a
home-redshift-configuration record, as shown below.
A typical configuration, where we manually specify the latitude and longitude, might look like this:
home-redshift-configuration fields are:
redshift) (type: file-like)
Redshift package to use.
geoclue2) (type: symbol)
'geoclue2. In the former
case, you must also specify the
so Redshift can determine daytime at your place. In the latter case, the
Geoclue system service must be running; it will be queried for location
randr) (type: symbol)
Color adjustment method.
6500) (type: integer)
Daytime color temperature (kelvins).
4500) (type: integer)
Nighttime color temperature (kelvins).
Daytime screen brightness, between 0.1 and 1.0, or left unspecified.
Nighttime screen brightness, between 0.1 and 1.0, or left unspecified.
Custom time for the transition from night to day in the
"HH:MM" format. When specified, solar elevation is not
used to determine the daytime/nighttime period.
Likewise, custom time for the transition from day to night in the evening.
"") (type: raw-configuration-string)
Extra content appended as-is to the Redshift configuration file. Run
man redshift for more information about the configuration file
This is the service type for running a session-specific D-Bus, for unprivileged applications that require D-Bus to be running.
The configuration record for
The package providing the
This is the service type for Unclutter, a program that runs on the
background of an X11 session and detects when the X pointer hasn’t moved for
a specified idle timeout, after which it hides the cursor so that you can
focus on the text underneath. Its associated value must be a
home-unclutter-configuration record, as shown below.
A typical configuration, where we manually specify the idle timeout (in seconds), might look like this:
The configuration record for
unclutter) (type: file-like)
Unclutter package to use.
5) (type: integer)
A timeout in seconds after which to hide cursor.
This is the service type for the
xmodmap utility to
modify keymaps and pointer button mappings under the Xorg display server.
Its associated value must be a
home-xmodmap-configuration record, as
key-map field takes a list of objects, each of which is either a
statement (a string) or an assignment (a pair of strings). As
an example, the snippet below swaps around the Caps_Lock and the
Control_L keys, by first removing the keysyms (on the right-hand side)
from the corresponding modifier maps (on the left-hand side), re-assigning
them by swapping each other out, and finally adding back the keysyms to the
Запись конфигурации для
home-xmodmap-service-type. Доступными полями
xmodmap) (type: file-like)
xmodmap package to use.
'()) (type: list)
The list of expressions to be read by
xmodmap on service startup.