summaryrefslogtreecommitdiff
path: root/gnu/services/xorg.scm
AgeCommit message (Expand)Author
2019-05-09services: Log-in services now require "pam_loginuid"....Fixes <https://bugs.gnu.org/35553>. Reported by Bruno Haible <bruno@clisp.org>. * gnu/services/base.scm (login-pam-service): Pass #:login-uid? #t to 'unix-pam-service'. * gnu/services/ssh.scm (lsh-pam-services, openssh-pam-services): Likewise. * gnu/services/xorg.scm (slim-pam-service): Likewise. (gdm-pam-service): Likewise for "gdm-autologin" and "gdm-password". * gnu/tests/base.scm (run-basic-test)["getlogin on tty1"]: New test. * gnu/tests/ssh.scm (run-ssh-test): Add #:test-getlogin? parameter. ["getlogin"]: New test. (%test-dropbear): Pass #:test-getlogin? #f. Ludovic Courtès
2019-05-09services: slim: Provide the 'xorg-server' Shepherd service....This is a followup to 61569171d03146f41ba1b9aedf29fd8fa78d6102. * gnu/services/xorg.scm (slim-shepherd-service): Add 'xorg-server' to 'provision' when VT is "vt7". Ludovic Courtès
2019-05-07services: slim: Allow SLiM to be started on multiple ttys....This change makes it possible to add multiple SLiM services to an operating system configuration by setting the new 'display' and 'vt' fields in their configurations to different values. Each SLiM service will get its own authfile, logfile, lockfile, and shepherd service, which will start SLiM on a different tty. * gnu/services/xorg.scm: Export slim-configuration-display and slim-configuration-vt. (<slim-configuration>)[display, vt]: New fields. (slim-shepherd-service): Refactor let. [slim.cfg]: Use new fields for setting display_name, xserver_arguments, authfile, lockfile, and logfile. [shepherd-service][provision]: Name the shepherd service according to the value of 'vt'. [shepherd-service][start]: Delete the right lockfile. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Diego Nicola Barbato
2019-04-29services: slim: Honor the value of slim from slim-configuration....Previously setting the slim field in slim-configuration would have no effect. * gnu/services/xorg.scm (slim-shepherd-service): Remove unused let binding for slim. Use (slim-configuration-slim config) instead of the default slim. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Diego Nicola Barbato
2019-04-05services: localed: Do nothing for unconfigured keyboards....* gnu/services/xorg.scm (localed-service-type)[package]: Return the empty list when the 'keyboard-layout' field is #f. [compose]: Use 'find' instead of 'first'. Ludovic Courtès
2019-04-05services: localed: Properly handle lack of a 'keyboard-layout'....Fixes a type error when KEYBOARD-LAYOUT is #f. * gnu/services/xorg.scm (localed-dbus-service): Return the empty list when KEYBOARD-LAYOUT is #f. Ludovic Courtès
2019-04-05services: gdm: Properly handle empty extensions lists....Fixes a bug whereby not extending GDM would lead us to do: (first '()) in the 'compose' method. Regression introduced in 305a732a0a19c5810aab401aa7d70eba02ac386b. * gnu/services/xorg.scm (gdm-service-type)[compose]: Handle the case where EXTENSIONS is empty. [extend]: Handle the case where XORG-CONFIGURATION is #f. Ludovic Courtès
2019-04-05services: xorg: Add 'set-xorg-configuration'....* gnu/services/xorg.scm (gdm-service-type)[compose, extend]: New fields. (set-xorg-configuration): New procedure. * doc/guix.texi (Keyboard Layout): Use it. (X Window): Document it. * gnu/system/examples/desktop.tmpl: Add 'keyboard-layout' fields. Ludovic Courtès
2019-04-05services: Add 'localed' service type and have GDM extend it....This fixes a bug whereby GDM would always switch to US English keyboard layout regardless to the configured Xorg keyboard layout. * gnu/services/xorg.scm (<localed-configuration>): New record type. (localed-dbus-service): New procedure. (localed-service-type): New variable. (gdm-service-type): Extend LOCALED-SERVICE-TYPE. Ludovic Courtès
2019-03-31services: slim-configuration: Adapt exported getter methods....Commit 554b8607396785dcde6eb391f75f98a07ec582fd introduces changes to the slim-configuration record without updating the exported methods. * gnu/services/xorg.scm: Export slim-configuration-xorg and slim-configuration-sessreg. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tim Gesthuizen
2019-03-31doc: Document 'gdm-service-type'....* doc/guix.texi (X Window): Document 'gdm-service-type' and 'gdm-configuration'. Take description of '.desktop' files from the 'slim-service-type' description. * gnu/services/xorg.scm (gdm-service): Remove outdated comment. Ludovic Courtès
2019-03-25services: xorg: Fix cases where 'keyboard-layout' is #f....This is a followup to 598757e038ab5dea3b59c9c248a2ad860c41fe62. * gnu/services/xorg.scm (xorg-configuration->file): Check whether 'xorg-configuration-keyboard-layout' returns #f before calling 'keyboard-layout-options'. Ludovic Courtès
2019-03-24services: xorg: Add a 'keyboard-layout' field in <xorg-configuration>....* gnu/services/xorg.scm (<xorg-configuration>)[keyboard-layout]: New field. (xorg-configuration->file)[input-class-section]: New procedure. Use it. * doc/guix.texi (X Window): Document 'keyboard-layout' field. Co-authored-by: nee <nee-git@hidamari.blue> Ludovic Courtès
2019-03-24services: sddm, slim, gdm: Take an <xorg-configuration> record....* gnu/services/sddm.scm (<sddm-configuration>)[xorg-server-path] [xserver-arguments]: Remove. [xorg-configuration]: New field. (sddm-configuration-file): Adjust accordingly. * gnu/services/xorg.scm (<slim-configuration>)[startx]: Remove. [xorg-configuration]: New field. (slim-shepherd-service, slim-service): Adjust accordingly. (<gdm-configuration>)[x-server]: Remove. [xorg-configuration]: New field. (gdm-shepherd-service, gdm-service): Adjust accordingly. * doc/guix.texi (X Window): Update accordingly. Ludovic Courtès
2019-03-24services: xorg: Define an <xorg-configuration> record type....* gnu/services/xorg.scm (<xorg-configuration>): New record type. (xorg-configuration-file): Remove. (xorg-wrapper): Remove #:modules, #:configuration-file, and #:xorg-server; add optional 'config' parameter instead. Adjust accordingly. (xorg-start-command): Likewise. * doc/guix.texi (X Window): Document 'xorg-configuration'. Update 'xorg-start-command' documentation. Remove 'xorg-configuration-file' documentation. Ludovic Courtès
2019-03-24services: xorg: Remove unused #:guile parameter....* gnu/services/xorg.scm (xorg-wrapper): Remove #:guile, which was unused. (xorg-start-command): Likewise. (xinitrc): Likewise. Ludovic Courtès
2019-02-17services: xorg: Enable override of xserver-arguments....* gnu/services/xorg.scm (xorg-start-command): Add parameter #:xserver-arguments. * doc/guix.texi (X Window): Document it. Jan Nieuwenhuizen
2019-02-17services: gdm: Allow for custom X session scripts....* 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> Timothy Sample
2019-02-17services: gdm: Make dependencies explicit....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> Timothy Sample
2019-02-17gnu: gdm: Run dbus-daemon via a wrapper script....* 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> Timothy Sample
2019-02-17services: gdm: Remove etc service....* 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> Timothy Sample
2019-02-10services: gdm: Disable debugging output....* gnu/services/xorg.scm (gdm-etc-service)[gdm-configuration-file]: Comment out debugging setting. Ludovic Courtès
2019-01-28gnu: %default-xorg-modules: Include xf86-video-amdgpu....* gnu/services/xorg.scm (%default-xorg-modules): Include xf86-video-amdgpu. Rephrase comment to clarify the priority order. Pierre Neidhardt
2019-01-10services: Use 'define-deprecated' for service procedures....* 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. Ludovic Courtès
2019-01-10services: gdm: Add default value....* gnu/services/xorg.scm (<gdm-configuration>)[x-server]: Add default value. (gdm-service-type)[default-value, description]: New fields. (gdm-service): Mark as deprecated. Ludovic Courtès
2018-12-30services: gdm: Enable auto-start....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> Timothy Sample
2018-12-30services: gdm: Remove 'allow-root?' option....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> Timothy Sample
2018-02-20services: slim: Make the logged-in session show up in "w"....* gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11 session. * doc/guix.texi (slim-configuration): Document new field "sessreg". Danny Milosavljevic
2018-02-17services: xorg: Import (ice-9 rdelim)....* gnu/services/xorg.scm (xinitrc): Import (ice-9 rdelim). Danny Milosavljevic
2018-01-29doc, gnu: Fix spelling of screen-things....* doc/guix.texi (X Window): Write 'screen locker' and 'screen saver' in prose. * gnu/services/xorg.scm (screen-locker-service): Likewise. Tobias Geerinckx-Rice
2017-12-04services: xorg: Properly handle the case where ~/.xession is used....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. Ludovic Courtès
2017-12-01services: xorg: Add 'font-misc-misc' to the default font set....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. Ludovic Courtès
2017-11-28services: xorg: Remove WindowMaker as a default fallback....* 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. Ludovic Courtès
2017-11-28services: xorg: Document 'slim-configuration' and deprecate 'slim-service'....* 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'. Ludovic Courtès
2017-11-28services: slim: Remove unused 'bash' configuration field....* gnu/services/xorg.scm (<slim-configuration>)[bash]: Remove. (slim-service): Adjust accordingly. Ludovic Courtès
2017-11-28services: xorg: Allow users to specify a list of modules....* 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'. Ludovic Courtès
2017-11-07services: gdm: Add environment variables....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> Timothy Sample
2017-09-20gnu: services: Add modesetting driver to xorg configuration path....* 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> Andy Wingo
2017-08-25gnu: Add draft of gdm service....* 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. Andy Wingo
2017-08-25gnu: services: Refactor to separate X and startx wrappers....* gnu/services/xorg.scm (xorg-wrapper): New public function. (xorg-start-command): Use xorg-wrapper. Andy Wingo
2017-02-19gnu: Remove xf86-video-modesetting....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. Marius Bakke
2016-10-06services: xorg: Add ATI video driver to the default modules....* gnu/services/xorg.scm (%default-xorg-modules): Add xf86-video-ati. Signed-off-by: 宋文武 <iyzsong@gmail.com> 8p8c
2016-09-10system: Use 'file-append' to denote file names....* 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"). Ludovic Courtès
2016-09-06services: Export initrc....* gnu/services/xorg.scm (define-module): Export initrc. David Craven
2016-09-01gnu: slim: Move to display-managers.scm....* 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. Marius Bakke
2016-07-21services: Export *-service-type and *-configuration....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> Tomáš Čech
2016-07-12gnu: Switch to 'with-imported-modules'....* 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. Ludovic Courtès
2016-03-24services: xorg: Fix ~/.xsession handling....Fixes a regression introduced in c510cbb4ecb270ca3edf282c6769aa2bfb144822. * gnu/services/xorg.scm (xinitrc)[builder]: Add missing 'apply' when XSESSION-FILE exists. Ludovic Courtès
2016-03-18services: xorg: Accept session commands with arguments....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. Ludovic Courtès
2016-02-24gnu: services: Start X with -configdir....* 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. Andy Wingo