summaryrefslogtreecommitdiff
path: root/gnu/services/xorg.scm
AgeCommit message (Collapse)Author
2019-02-17services: xorg: Enable override of xserver-arguments.Jan Nieuwenhuizen
* gnu/services/xorg.scm (xorg-start-command): Add parameter #:xserver-arguments. * doc/guix.texi (X Window): Document it.
2019-02-17services: gdm: Allow for custom X session scripts.Timothy Sample
* gnu/packages/gnome.scm (gdm)[arguments]: Update pre-configure phase so that GDM runs an X session script specified by the variable GDM_X_SESSION; remove the '--enable-gdm-xsession' configuration option. * gnu/services/xorg.scm (<gdm-configuration>): Add 'x-session' field. (gdm-shepherd-service): Set the GDM_X_SESSION variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17services: gdm: Make dependencies explicit.Timothy Sample
This commit removes the remaining implicit dependencies that the GDM service had on the GNOME Desktop service. * gnu/services/xorg.scm (gdm-configuration): Add a gnome-shell-assets field for specifying any icons or fonts that the GNOME Shell theme needs. (gdm-shepherd-service): Remove environment variables pointing to '/run/current-system' and set XDG_DATA_DIRS so that it points to 'gnome-shell' and its assets. (gdm-service-type): Extend 'profile-service-type' to ensure that necessary fonts are installed in the system profile. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17gnu: gdm: Run dbus-daemon via a wrapper script.Timothy Sample
* gnu/packages/gnome.scm (gdm)[arguments]: Modify the pre-configure phase so that GDM propagates the GDM_DBUS_DAEMON variable into the session environment and uses its value to invoke dbus-daemon. * gnu/services/xorg.scm (dbus-daemon-wrapper): New variable. (<gdm-configuration>): Add 'dbus-daemon' field. (gdm-shepherd-service): Set GDM_DBUS_DAEMON before invoking gdm. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-17services: gdm: Remove etc service.Timothy Sample
* gnu/packages/gnome.scm (gdm)[arguments]: Update pre-configure phase to make GDM get the configuration file path from an environment variable. * gnu/services/xorg.scm (gdm-etc-service): Remove function. (gdm-configuration-file): New function. (gdm-shepherd-service): Set GDM_CUSTOM_CONF before invoking GDM. (gdm-service-type)[extensions]: Remove etc-service-type extension. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-02-10services: gdm: Disable debugging output.Ludovic Courtès
* gnu/services/xorg.scm (gdm-etc-service)[gdm-configuration-file]: Comment out debugging setting.
2019-01-28gnu: %default-xorg-modules: Include xf86-video-amdgpu.Pierre Neidhardt
* gnu/services/xorg.scm (%default-xorg-modules): Include xf86-video-amdgpu. Rephrase comment to clarify the priority order.
2019-01-10services: Use 'define-deprecated' for service procedures.Ludovic Courtès
* gnu/services/base.scm (urandom-seed-service, gpm-service): Define using 'define-deprecated'. * gnu/services/messaging.scm (bitlbee-service): Likewise. * gnu/services/networking.scm (dhcp-client-service): Likewise. (ntp-service): Likewise. * gnu/services/xorg.scm (slim-service): Likewise. (gdm-service): Likewise.
2019-01-10services: gdm: Add default value.Ludovic Courtès
* gnu/services/xorg.scm (<gdm-configuration>)[x-server]: Add default value. (gdm-service-type)[default-value, description]: New fields. (gdm-service): Mark as deprecated.
2018-12-30services: gdm: Enable auto-start.Timothy Sample
GDM is now reliable enough to run automatically. * gnu/services/xorg.scm (gdm-shepherd-service): Do not set 'auto-start?' to '#f'. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2018-12-30services: gdm: Remove 'allow-root?' option.Timothy Sample
This option results in allowing all login attempts without asking for credentials. The name is confusing, but rather than rename it, we will remove it, since it seems like a feature that no one would want. * gnu/services/xorg.scm (<gdm-configuration>): Remove 'allow-root?'. (gdm-pam-service): Do not use 'gdm-configuration-allow-root?'. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2018-02-20services: slim: Make the logged-in session show up in "w".Danny Milosavljevic
* gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11 session. * doc/guix.texi (slim-configuration): Document new field "sessreg".
2018-02-17services: xorg: Import (ice-9 rdelim).Danny Milosavljevic
* gnu/services/xorg.scm (xinitrc): Import (ice-9 rdelim).
2018-01-29doc, gnu: Fix spelling of screen-things.Tobias Geerinckx-Rice
* doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in prose. * gnu/services/xorg.scm (screen-locker-service): Likewise.
2017-12-04services: xorg: Properly handle the case where ~/.xession is used.Ludovic Courtès
Fixes a regression introduced in 65c0f43649b455db94f1e8b0a244a889cb961b25 in the case where users provide ~/.xsession and SESSION is #f. * gnu/services/xorg.scm (xinitrc): In the XSESSION-FILE case, check whether SESSION is #f.
2017-12-01services: xorg: Add 'font-misc-misc' to the default font set.Ludovic Courtès
Fixes <https://bugs.gnu.org/24279>. Reported by John Darrington <john@darrington.wattle.id.au>. * gnu/services/xorg.scm (%default-xorg-fonts): Add FONT-MISC-MISC.
2017-11-28services: xorg: Remove WindowMaker as a default fallback.Ludovic Courtès
* gnu/services/xorg.scm (xinitrc)[builder](system-profile) (user-profile): New variables. (xsession-command, find-session): New procedures. When FALLBACK-SESSION is #f, find a valid session at run time. * doc/guix.texi (X Window): Adjust accordingly, and insist that one or more window managers must be installed.
2017-11-28services: xorg: Document 'slim-configuration' and deprecate 'slim-service'.Ludovic Courtès
* gnu/services/xorg.scm (<slim-configuration>): Provide default values for all fields. (slim-service-type)[default-value]: New field. * doc/guix.texi (X Window): Remove 'slim-service' documentation. Document 'slim-service-type' and 'slim-configuration'. * gnu/services/desktop.scm (%desktop-services): Use 'slim-service-type'.
2017-11-28services: slim: Remove unused 'bash' configuration field.Ludovic Courtès
* gnu/services/xorg.scm (<slim-configuration>)[bash]: Remove. (slim-service): Adjust accordingly.
2017-11-28services: xorg: Allow users to specify a list of modules.Ludovic Courtès
* gnu/services/xorg.scm (%default-xorg-fonts): New variable. (xorg-configuration-file): Add #:modules and #:fonts. Rewrite to return a 'computed-file' that honors MODULES and FONTS. (xorg-wrapper): Pass #:modules to 'xorg-configuration-file'. (xorg-start-command): Add #:fonts. Pass #:fonts and #:modules to 'xorg-configuration-file'. * doc/guix.texi (X Window): Adjust documentation of 'xorg-start-command' and 'xorg-configuration-file'.
2017-11-07services: gdm: Add environment variables.Timothy Sample
While not an optimal solution (see comment), this makes GDM functional. * gnu/services/xorg.scm (gdm-shepherd-service): Set PATH and XDG_DATA_DIRS environment variables. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-20gnu: services: Add modesetting driver to xorg configuration path.Andy Wingo
* gnu/services/xorg.scm (xorg-configuration-file): Add drivers path from xorg-server. This includes the modesetting driver. Signed-off-by: Andy Wingo <wingo@igalia.com>
2017-08-25gnu: Add draft of gdm service.Andy Wingo
* gnu/services/xorg.scm (%gdm-accounts, <gdm-configuration>) (gdm-etc-service, gdm-pam-service, gdm-shepherd-service, gdm-service-programs) (gdm-service-type, gdm-service): New public variables. Not yet working.
2017-08-25gnu: services: Refactor to separate X and startx wrappers.Andy Wingo
* gnu/services/xorg.scm (xorg-wrapper): New public function. (xorg-start-command): Use xorg-wrapper.
2017-02-19gnu: Remove xf86-video-modesetting.Marius Bakke
This is part of xorg-server since version 1.17: https://cgit.freedesktop.org/xorg/xserver/commit/?id=35dc7c75150733dbcef8a18b6796f49a7c48ebee * gnu/packages/xorg.scm (xf86-video-modesetting): Remove variable. * gnu/services/xorg.scm (xorg-configuration-file, %default-xorg-modules): Adjust accordingly.
2016-10-06services: xorg: Add ATI video driver to the default modules.8p8c
* gnu/services/xorg.scm (%default-xorg-modules): Add xf86-video-ati. Signed-off-by: 宋文武 <iyzsong@gmail.com>
2016-09-10system: Use 'file-append' to denote file names.Ludovic Courtès
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/databases.scm, gnu/services/dbus.scm, gnu/services/desktop.scm, gnu/services/dict.scm, gnu/services/mail.scm, gnu/services/networking.scm, gnu/services/sddm.scm, gnu/services/spice.scm, gnu/services/ssh.scm, gnu/services/web.scm, gnu/services/xorg.scm, gnu/system.scm: Replace the #~(string-append #$pkg "/bin/foo") idiom with (file-append pkg "/bin/foo").
2016-09-06services: Export initrc.David Craven
* gnu/services/xorg.scm (define-module): Export initrc.
2016-09-01gnu: slim: Move to display-managers.scm.Marius Bakke
* gnu/packages/display-managers.scm: New file. * gnu/packages/slim.scm: Delete file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu/services/xorg.scm: Likewise.
2016-07-21services: Export *-service-type and *-configuration.Tomáš Čech
This allows users to use 'modify-services' and similar constructs for all these service types. * gnu/services/avahi.scm: export avahi-configuration. * gnu/services/base.scm: export gpm-configuration and rngd-configuration. * gnu/services/databases.scm: export *-service-type and *-configuration. * gnu/services/dbus.scm: export dbus-configuration. * gnu/services/dict.scm: export dicod-service-type. * gnu/services/lirc.scm: export lirc-configuration and lirc-service-type. * gnu/services/mail.scm: export dovecot-service-type. * gnu/services/web.scm: export nginx-configuration and nginx-service-type. * gnu/services/xorg.scm: export screen-locker and screen-locker?. * gnu/services/ssh.scm: export lsh-configuration and lsh-service-type. * gnu/services/desktop.scm: export *-service, *-service-type and *-configuration. * gnu/services/networking.scm: export *-configuration and *-service-type. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-12gnu: Switch to 'with-imported-modules'.Ludovic Courtès
* gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation.
2016-03-24services: xorg: Fix ~/.xsession handling.Ludovic Courtès
Fixes a regression introduced in c510cbb4ecb270ca3edf282c6769aa2bfb144822. * gnu/services/xorg.scm (xinitrc)[builder]: Add missing 'apply' when XSESSION-FILE exists.
2016-03-18services: xorg: Accept session commands with arguments.Ludovic Courtès
Before that, a session command with several items, such as 'gnome-session --disable-acceleration-check', would trigger the fallback session. * gnu/services/xorg.scm (xinitrc)[builder]: Accept command lines with more than one arguments.
2016-02-24gnu: services: Start X with -configdir.Andy Wingo
* gnu/services/xorg.scm (%default-xorg-modules): New public variable. (xorg-configuration-directory): New function. (xorg-start-command): Add #:modules keyword argument, defaulting to %default-xorg-modules. Build an xorg.conf.d directory from those modules, and pass it to X via the -configdir parameter.
2016-01-29services: Rename 'dmd' services to 'shepherd'.Alex Kost
* gnu/services/shepherd.scm (dmd-root-service-type, %dmd-root-service) (dmd-service-type, <dmd-service>, dmd-service, dmd-service?) (make-dmd-service, dmd-service-documentation, dmd-service-provision) (dmd-service-requirement, dmd-service-respawn, dmd-service-start) (dmd-service-stop, dmd-service-auto-start?, dmd-service-modules) (dmd-service-imported-modules, dmd-service-file-name, dmd-service-file) (dmd-service-back-edges): Rename to... (shepherd-root-service-type, %shepherd-root-service, shepherd-service-type) (<shepherd-service>, shepherd-service, shepherd-service?) (make-shepherd-service, shepherd-service-documentation) (shepherd-service-provision, shepherd-service-requirement) (shepherd-service-respawn, shepherd-service-start) (shepherd-service-stop, shepherd-service-auto-start?) (shepherd-service-modules, shepherd-service-imported-modules) (shepherd-service-file-name, shepherd-service-file) (shepherd-service-back-edges): ...this * gnu/services.scm: Adjust comments. * gnu/services/avahi.scm (avahi-dmd-service): Rename to... (avahi-shepherd-service): ... this. * gnu/services/base.scm (%root-file-system-dmd-service) (file-system->dmd-service-name, mapped-device->dmd-service-name) (dependency->dmd-service-name, file-system-dmd-service) (mingetty-dmd-service, nscd-dmd-service, guix-dmd-service) (guix-publish-dmd-service, udev-dmd-service, gpm-dmd-service): Rename to... (%root-file-system-shepherd-service) (file-system->shepherd-service-name, mapped-device->shepherd-service-name) (dependency->shepherd-service-name, file-system-shepherd-service) (mingetty-shepherd-service, nscd-shepherd-service, guix-shepherd-service) (guix-publish-shepherd-service, udev-shepherd-service) (gpm-shepherd-service): ... this. * gnu/services/databases.scm (postgresql-dmd-service): Rename to... (postgresql-shepherd-service): ... this. * gnu/services/desktop.scm (upower-dmd-service, elogind-dmd-service): Rename to... (upower-shepherd-service, elogind-shepherd-service): ... this. * gnu/services/dbus.scm (dbus-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/lirc.scm (lirc-dmd-service): Rename to... (lirc-shepherd-service): ... this. * gnu/services/mail.scm (dovecot-dmd-service): Rename to... (dovecot-shepherd-service): ... this. * gnu/services/networking.scm (ntp-dmd-service, tor-dmd-service) (bitlbee-dmd-service, wicd-dmd-service, network-manager-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/ssh.scm (lsh-dmd-service): Rename to... (lsh-shepherd-service): ... this. * gnu/services/web.scm (nginx-dmd-service): Rename to... (nginx-shepherd-service): ... this. * gnu/services/xorg.scm (slim-dmd-service): Rename to... (slim-shepherd-service): ... this. * gnu/system.scm (essential-services): Use '%shepherd-root-service'. * gnu/system/install.scm (cow-store-service-type): Adjust accordingly. * guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type) (export-dmd-graph): Likewise. * tests/guix-system.sh: Likewise. * tests/services.scm ("dmd-service-back-edges"): Rename to... ("shepherd-service-back-edges"): Adjust accordingly. * doc/guix.texi: Likewise. * doc/images/service-graph.dot: Use 'shepherd' service name.
2016-01-29services: xorg: Use 'shepherd' instead of 'dmd'.Alex Kost
* gnu/services/xorg.scm (slim-configuration-dmd): Rename to... (slim-configuration-shepherd): ... this. (slim-shepherd-service): Adjust accordingly. (slim-service): Take 'shepherd' keyword argument.
2016-01-29Rename (gnu services dmd) to (gnu services shepherd).Alex Kost
* gnu/services/dmd.scm: Rename to... * gnu/services/shepherd.scm: ... this. * gnu/system.scm: Use it. * gnu/system/install.scm: Likewise. * gnu/services/xorg.scm: Likewise. * gnu/services/web.scm: Likewise. * gnu/services/ssh.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/services/mail.scm: Likewise. * gnu/services/lirc.scm: Likewise. * gnu/services/desktop.scm: Likewise. * gnu/services/dbus.scm: Likewise. * gnu/services/databases.scm: Likewise. * gnu/services/base.scm: Likewise. * gnu/services/avahi.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/services.scm: Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu-system.am (GNU_SYSTEM_MODULES): Likewise. * po/guix/POTFILES.in: Likewise.
2015-11-25services: xorg: Export additional symbols.David Thompson
'slim-configuration' and 'slim-service-type' are needed if one wishes to use 'modify-services' on a service list that includes the slim service. * gnu/services/xorg.scm: Export 'slim-configuration' and 'slim-service-type'.
2015-11-03system: Rename (gnu system linux) to (gnu system pam).Ludovic Courtès
* gnu/system/linux.scm: Rename to... * gnu/system/pam.scm: ... this. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu.scm, gnu/services/base.scm, gnu/services/desktop.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system.scm, gnu/system/vm.scm: Likewise.
2015-11-02services: slim: Add xterm to the system profile.Ludovic Courtès
* gnu/services/xorg.scm (slim-service-type): Extend PROFILE-SERVICE-TYPE. * gnu/system/examples/desktop.tmpl (packages): Remove XTERM.
2015-10-29services: Add screen-locker service.Ludovic Courtès
* gnu/system/linux.scm (base-pam-services): Remove "xlock" and "xscreensaver". * gnu/services/xorg.scm (<screen-locker>): New record type. (screen-locker-pam-services, screen-locker-setuid-programs, screen-locker-service): New procedures. (screen-locker-service-type): New variable. * gnu/services/desktop.scm (%desktop-services): Use them. * doc/guix.texi (X Window): Document 'screen-locker-service'. (Desktop Services): Mention it.
2015-10-20services: xorg: Include font-alias in default FontPath.Eric Bavier
* gnu/services/xorg.scm (xorg-configuration-file): Add font-alias directories to xserver.conf FontPath.
2015-10-10services: Introduce extensible services.Ludovic Courtès
This patch rewrites GuixSD services to make them extensible. * gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/dbus.scm. * gnu/services.scm (<service>): Replace with new record type. (<service-extension>, <service-type>): New record types. (write-service-type, compute-boot-script, second-argument): New procedures. (%boot-service, boot-service-type): New variables. (file-union, directory-union, modprobe-wrapper, activation-service->script, activation-script, gexps->activation-gexp): New procedures. (activation-service-type, %activation-service): New variables. (etc-directory, files->etc-directory, etc-service): New procedures. (etc-service-type, setuid-program-service, firmware-service-type): New variables. (firmware->activation-gexp): New procedure. (&service-error, &missing-target-service-error, &ambiguous-target-service-error): New condition types. (service-back-edges, fold-services): New procedures. * gnu/services/avahi.scm (<avahi-configuration>): New record type. (configuration-file): Replace keyword parameters with a single 'config' parameter. (%avahi-accounts, %avahi-activation, avahi-service-type): New variables. (avahi-dmd-service): New procedure. (avahi-service): Rewrite using 'service' and 'avahi-configuration'. * gnu/services/base.scm (%root-file-system-dmd-service, root-file-system-service-type): New variables. (root-file-system-service): Use them. (file-system->dmd-service-name): New procedure. (file-system-service-type): New variable. (file-system-service): Use it. Replace keyword parameters with a single 'file-system' object. (user-unmount-service-type): New variable. (user-unmount-service): Use it. (user-processes-service-type): New variable. (user-processes-service): Use it. (host-name-service-type): New variable. (host-name-service): Use it. (console-keymap-service-type): New variable. (console-keymap-service): Use it. (console-font-service-type): New variable. (console-font-service): Use it. (mingetty-pam-service, mingetty-dmd-service): New procedures. (mingetty-service-type): New variable. (mingetty-service): Use it. (nscd-dmd-service): New procedure. (nscd-activation, nscd-service-type): New variables. (nscd-service): Use the latter. (syslog-service-type): New variable. (syslog-service): Use it. (<guix-configuration>): New record type. (%default-guix-configuration): New variable. (guix-dmd-service, guix-accounts, guix-activation): New procedures. (guix-service-type): New variable. (guix-service): Replace list of keyword parameters with a single 'config' parameter. Rewrite using 'service'. (<udev-configuration>): New record type. (udev-dmd-service): New procedure. (udev-service-type): New variable. (udev-service): Use it. (device-mapping-service-type): New variable. (device-mapping-service): Use it. (swap-service-type): New variable. (swap-service): Use it. * gnu/services/databases.scm (<postgresql-configuration>): New record type. (%postgresql-accounts, postgresql-activation): New variables. (postgresql-dmd-service): New procedure. (postgresql-service): Rewrite using 'service' and 'postgresql-configuration'. * gnu/services/dbus.scm: New file. * gnu/services/desktop.scm (dbus-configuration-directory, dbus-service): Remove. (wrapped-dbus-service): New procedure. (<upower-configuration>): New record type. (upower-configuration-file): Replace keyword parameters with single <upower-configuration> parameter. (%upower-accounts, %upower-activation): New variables. (upower-dbus-service, upower-dmd-service): New procedures. (upower-service-type): New variable. (upower-service): Rewrite using 'service' and 'upower-configuration'. (%colord-activation, %colord-accounts): New variables. (colord-dmd-service): New procedure. (colord-service-type): New variable. (colord-service): Rewrite using 'service'. (<geoclue-configuration>): New record type. (geoclue-configuration-file): Replace keyword parameters with a single 'config' parameter. (geoclue-dbus-service, geoclue-dmd-service): New procedures. (%geoclue-accounts, geoclue-service-type): New variables. (geoclue-service): Rewrite using 'service' and 'geoclue-configuration'. (%polkit-accounts, %polkit-pam-services, polkit-service-type): New variables. (polkit-dmd-service): New procedure. (polkit-service): Rewrite using 'service'. (<elogind-configuration>)[elogind]: New field. (elogind-dmd-service): New procedure. (elogind-service-type): New variable. (elogind-service): Rewrite using 'service'. (%desktop-services): Remove argument to 'dbus-service'. Remove 'map' over %BASE-SERVICES. * gnu/services/dmd.scm (dmd-boot-gexp): New procedure. (dmd-root-service-type, %dmd-root-service): New variables. (dmd-service-type): New macro. (<dmd-service>): New record type. * gnu/services/lirc.scm (<lirc-configuration>): New record type. (%lirc-activation): New variable. (lirc-dmd-service): New procedure. (lirc-service-type): New variable. (lirc-service): Rewrite using 'service' and 'lirc-configuration'. * gnu/services/networking.scm (<static-networking>): New record type. (static-networking-service-type): New variable. (static-networking-service): Rewrite using 'service' and 'static-networking'. (dhcp-client-service-type): New variable. (dhcp-client-service): Rewrite using 'service'. (<ntp-configuration>): New record type. (ntp-dmd-service): New procedure. (ntp-service-type): New variable. (ntp-service): New procedure. (%tor-accounts, tor-service-type): New variable. (tor-dmd-service): New procedure. (tor-service): Rewrite using 'service'. (<bitlbee-configuration>): New record type. (bitlbee-dmd-service): New procedure. (%bitlbee-accounts, %bitlbee-activation, bitlbee-service-type): New variables. (bitlbee-service): Rewrite using 'service'. (%wicd-activation): New variable. (wicd-dmd-service): New procedure. (wicd-service-type): New variable. (wicd-service): Rewrite using 'service'. * gnu/services/ssh.scm (<lsh-configuration>): New record type. (activation): Rename to... (lsh-initialization): ... this. (lsh-activation, lsh-dmd-service, lsh-pam-services): New procedures. (lsh-service-type): New variable. (lsh-service): Rewrite using 'service' and 'lsh-configuration'. * gnu/services/web.scm (<nginx-configuration>): New record type. (%nginx-accounts): New variable. (nginx-activation, nginx-dmd-service): New procedures. (nginx-service-type): New variable. (nginx-service): Rewrite using 'service' and 'nginx-configuration'. * gnu/services/xorg.scm (<slim-configuration>): New record type. (slim-pam-service, slim-dmd-service): New procedures. (slim-service-type): New variable. (slim-service): Rewrite using 'service' and 'slim-configuration'. * gnu/system.scm (file-union): Remove. (other-file-system-services): Adjust to new 'file-system-service' signature. (essential-services): Add #:container? parameter. Add %DMD-ROOT-SERVICE, %ACTIVATION-SERVICE, and calls to 'pam-root-service', 'account-service', 'operating-system-etc-service', and a SETUID-PROGRAM-SERVICE instance. (operating-system-services): Pass #:container? to 'essential-services. (etc-directory): Remove. (operating-system-etc-service): New procedure. Rewrite as a call to 'etc-service'. (operating-system-accounts): Change to not return accounts required by services. (operating-system-etc-directory): Rewrite as a call to 'fold-services' and 'etc-directory'. (user-group->gexp, user-account->gexp, modprobe-wrapper): Remove. (operating-system-activation-script): Rewrite as a call to 'fold-services' and 'activation-service->script'. (operating-system-boot-script): Likewise. (operating-system-derivation): Add call to 'lower-object'. (emacs-site-file, emacs-site-directory, shells-file): Change to use 'computed-file' and 'scheme-file' instead of the monadic procedures. * gnu/system/install.scm (cow-store-service-type): New variable. (cow-store-service): Rewrite using 'service'. (/etc/configuration-files): New procedure. (configuration-template-service-type, %configuration-template-service): New variables. (configuration-template-service): Remove. (installation-services): Adjust accordingly. Adjust argument to 'guix-service'. * gnu/system/linux.scm (/etc-entry, pam-root-service): New procedures. (pam-root-service-type): New variable. * gnu/system/shadow.scm (user-group->gexp, user-account->gexp, account-activation, etc-skel, account-service): New procedures. (account-service-type): New variable. * tests/services.scm: New file. * doc/guix.texi (Base Services, Desktop Services): Adjust accordingly. (Defining Services): Rewrite. * doc/images/service-graph.dot: New file. * doc.am (DOT_FILES): Add it. * po/guix/POTFILES.in: Add gnu/services.scm.
2015-10-10system: Make service procedures non-monadic.Ludovic Courtès
* gnu/services/avahi.scm (configuration-file): Use 'plain-file' instead of 'text-file'. (avahi-service): Turn into a regular procedure that returns a <service>. * gnu/services/base.scm (root-file-system-service, file-system-service, user-unmount-service, user-processes-service, host-name-service, console-keymap-service, console-font-service, mingetty-service, nscd.conf-file, nscd-service): Likewise. (%default-syslog.conf): New variable. (syslog-service): Use it. Turn into a regular procedure. (guix-service, udev-rules-union, kvm-udev-rule, udev-service, device-mapping-service, swap-service): Likewise. * gnu/services/databases.scm (%default-postgres-hba, %default-postgres-ident): Use 'plain-file' instead of 'text-file'. (%default-postgres-config): Use 'mixed-text-file' instead of 'text-file*'. (postgresql-service): Use 'program-file' instead of 'gexp->script'. Turn into a regular procedure. * gnu/services/desktop.scm (dbus-configuration-directory): Use 'computed-file' instead of 'gexp->derivation'. (upower-configuration-file, geoclue-configuration-file, elogind-configuration-file): Use 'plain-file' instead of 'text-file'. (dbus-service, upower-service, colord-service, geoclue-service, polkit-service, elogind-service): Turn into regular procedures. (%desktop-services): Remove use of 'mlet' when iterating on %BASE-SERVICES. * gnu/services/lirc.scm (lirc-service): Turn into a regular procedure. * gnu/services/networking.scm (static-networking-service, dhcp-client-service, ntp-service, tor-service, bitlbee-service, wicd-service): Likewise. * gnu/services/ssh.scm (lsh-service): Likewise. * gnu/services/web.scm (nginx-service): Likewise. * gnu/services/xorg.scm (xorg-configuration-file): Use 'mixed-text-file' instead of 'text-file*'. (xorg-start-command, slim-service): Turn into regular procedures. (xinitrc): Use 'program-file' instead of 'gexp->script'. * gnu/system/install.scm (cow-store-service, configuration-template-service): Turn into regular procedures. * gnu/system.scm (other-file-system-services, device-mapping-services, swap-services, essential-services, operating-system-services, user-shells, operating-system-accounts): Remove now unnecessary 'mlet' and turn into regular procedures. (operating-system-etc-directory, operating-system-activation-script, operating-system-boot-script): Adjust accordingly. * doc/guix.texi (Base Services, Networking Services, X Window, Desktop Services, Database Services, Web Services, Various Services, Name Service Switch): Adjust accordingly.
2015-05-21services: xorg: Add xf86-input-libinput to the server's module path.Ludovic Courtès
* gnu/services/xorg.scm (xorg-configuration-file): Add XF86-INPUT-LIBINPUT.
2015-05-21services: xorg: Assume STARTX is a regular value.Ludovic Courtès
* gnu/services/xorg.scm (slim-service): Expect STARTX to be a regular value, not a monadic value.
2015-05-21services: xorg: Allow extra config text to be added verbatim.Ludovic Courtès
* gnu/services/xorg.scm (xorg-configuration-file): Add #:extra-config and honor it. * doc/guix.texi (X Window): Adjust accordingly.
2015-05-21services: xorg: Make 'xorg-configuration-file' public.Ludovic Courtès
* gnu/services/xorg.scm (xorg-configuration-file): New procedure, with code formerly in 'xorg-start-command'. (xorg-start-command): Remove #:drivers and #:resolutions; add #:configuration-file; use it as well as 'xorg-configuration-file'.
2015-05-08doc: Document sessions and ~/.xsession for SLiM.Ludovic Courtès
* gnu/services/xorg.scm (slim-service): Document session types and ~/.xsession. * doc/guix.texi (X Window): Adjust accordingly.
2015-05-07artwork: Update to latest version.Ludovic Courtès
* gnu/artwork.scm (%artwork-repository): Update. * gnu/services/xorg.scm (%default-slim-theme-name): Change to "0.x". * gnu/system/grub.scm (%background-image): Change to GuixSD-fully-black-4-3.svg.