/etc/git/

l'/>
aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/xorg.scm
AgeCommit message (Expand)Author
2023-06-04services: screen-locker-service-type: Configurable PAM and setuid....screen-locker-service-type by default does both define PAM entry and make program setuid binary. Normally both methods are mutually exclusive, if binary has setuid set it does not really needs PAM, otherway around also similar, if PAM is enabled binary should not relay on setuid. Recent swaylock package now compiled with PAM support. When PAM support is compiled in, swaylock rejects executing if binary is also setuid program. This change turns screen-locker-configuration from strict PAM AND setuid to more flexible PAM AND/OR setuid. Allowing swaylock to be configured properly while supporting other screen locker preferences. * gnu/services/xorg.scm (screen-locker-configuration): Switch from define-record-type to define-configuration. [using-pam?]: New field to control PAM entry existence. [using-setuid?]: New field to control setuid binary existence. (screen-locker-pam-services): Should not make unix-pam-service if using-pam? is set to #f. (screen-locker-setuid-programs): Should not make program setuid program if using-setuid? is set to #f. (screen-locker-generate-doc): Internal function to generate configuration documentation. (screen-locker-service): Adapt to new screen-locker-configuration. * gnu/services/desktop.scm (desktop-services-for-system): Adapt to new screen-locker-configuration. * doc/guix.texi: Reflect new changes to screen-locker-configuration. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz> muradm
2023-05-11system: pam: Let PAM extensions add shepherd requirements....* gnu/system/pam.scm (<pam-extension>): New record type. (pam-shepherd-service): Add Shepherd synchronization point. * gnu/services/mail.scm (dovecot-shepherd-service) * gnu/services/lightdm.scm (lightdm-shepherd-service) * gnu/services/mail.scm (opensmtpd-shepherd-service) * gnu/services/sddm.scm (sddm-shepherd-service) * gnu/services/ssh.scm (lsh-shepherd-service, openssh-shepherd-service) * gnu/services/xorg.scm (slim-shepherd-service, gdm-shepherd-service) * gnu/services/base.scm (greetd-shepherd-services): Add PAM requirement. * gnu/system/pam.scm (/etc-entry, extend-configuration, pam-root-service-type, pam-root-service) * gnu/services/authentication.scm (pam-ldap-pam-service) * gnu/services/base.scm (pam-limits-service-type) (greetd-pam-service) * gnu/services/desktop.scm (pam-gnome-keyring) * gnu/services/kerberos.scm (pam-krb5-pam-service) * gnu/services/pam-mount.scm (pam-mount-pam-service): Adapt to use pam-extension. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2023-03-25services: xorg-wrapper: Support xorg server input rewriting....This patch adds support for proper xorg server input rewriting. It uses the lookup-package-direct-input procedure to configure the X server paths dynamically, instead of always using the hard coded package. Something like this is now possible: (define other-mesa (package-input-rewriting/spec `(("mesa" . ,(const other-mesa))))) (xorg-configuration (xorg-configuration (server (other-mesa xorg-server)))) Without this patch the X server would still be configured with mesa (causing version issues), and not with other-mesa (as per the input rewrite). * gnu/services/xorg.scm (xorg-configuration-server-package-path) (xorg-configuration-dri-driver-path, xorg-configuration-xkb-bin-dir) (xorg-configuration-xkb-dir): New procedures. (xorg-wrapper): Use them for dri and xkb paths. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> r0man
2023-03-10services: xorg: Deprecate 'screen-locker-service' procedure....* doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'. Document <screen-locker-configuration>. * gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type. * gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>. (<screen-locker>): Rename to ... (<screen-locker-configuration>): ... this. (<screen-locker-configuration>)[empty?]: Rename to ... (<screen-locker-configuration>)[allow-empty-password?]: ... this. (screen-locker-pam-services): Update record name. (screen-locker-setuid-programs): Update accessor name. (screen-locker-service): Deprecate procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal
2022-11-18services: Add Shepherd 'configuration' action to various services....* gnu/services/avahi.scm (avahi-shepherd-service): Add 'actions' field. * gnu/services/base.scm (nscd-actions): Add call to 'shepherd-configuration-action'. * gnu/services/desktop.scm (upower-shepherd-service): Add 'actions' field. (elogind-shepherd-service): Likewise. * gnu/services/dict.scm (dicod-shepherd-service): Likewise. * gnu/services/networking.scm (openntpd-shepherd-service): Likewise. (tor-shepherd-service): Likewise. * gnu/services/ssh.scm (openssh-shepherd-service): Likewise. * gnu/services/web.scm (nginx-shepherd-service): Likewise. * gnu/services/xorg.scm (gdm-shepherd-service): Likewise. * gnu/tests/base.scm (run-basic-test)["nscd configuration action"]: New test. * doc/guix.texi (Services): Document it. Ludovic Courtès
2022-10-11services: slim-service-type: Do not extend profile with xterm....This is not done for gdm-service-type, so do not do it here either, for consistency. Perhaps that change had been motivated by the fact that using ratpoison without a default terminal makes for a poor user experience (one cannot even view the help screen without a terminal); this was fixed with the preceding commit. * gnu/services/xorg.scm (slim-service-type) [profile-service-type]: Remove extension. Maxim Cournoyer
2022-10-07services: xorg: Add auto-suspend? field to <gdm-configuration>....* gnu/services/xorg.scm (<gdm-configuration>) <auto-suspend?>: New field. (gdm-dconf-profiles): New variable. * gnu/services/xorg.scm (gdm-shepherd-service) <environment-variables> [!auto-suspend?]: Specify DCONF_PROFILE. (gdm-service-type): Extend DCONF-SERVICE-TYPE. * doc/guix.texi (X Window): Document the new field. Maxim Cournoyer
2022-10-07services: Add dconf-service-type....This allows the dconf profile directive "system-db:" to look up profiles by name from under /etc/dconf/db/. * gnu/services/xorg.scm (dconf-keyfile, dconf-profile): New procedures. (dconf-profiles?): New predicate. (dconf-configuration): New procedure. (dconf-profile->profile-file): Likewise. (dconf-profile->db-keyfile): Likewise. (dconf-profile->db-keyfile-dir): Likewise. (dconf-profile->db): Likewise. (dconf-profile->files): Likewise. (dconf-service-type): New service type. Maxim Cournoyer
2022-10-07services: gdm: Add a configuration field to enable XDMCP....* gnu/services/xorg.scm (<gdm-configuration>)[xdmcp?]: New field. * gnu/services/xorg.scm (gdm-configuration-file): Use it. Use (ice-9 format) to serialize boolean. (gdm-polkit-rules): New variable. (gdm-service-type): Use it to extend polkit. * doc/guix.texi (X Window): Document it. Maxim Cournoyer
2022-09-16services: desktop: Mount /var/lib/gdm on a tmpfs file system....Fixes <https://issues.guix.gnu.org/44944>. * gnu/services/xorg.scm (%gdm-activation): Delete variable. (gdm-service-type): De-register it. * gnu/services/desktop.scm (%gdm-file-system): New variable. (gdm-file-system-service): Likewise. (desktop-services-for-system): Use it. Maxim Cournoyer
2022-03-25services: xorg: Remove xf86-input-synaptics from %default-xorg-modules....Fixes <https://issues.guix.gnu.org/35450>. This driver isn't intended to be installed by default as it takes precedence over the recommended xf86-input-libinput. * gnu/services/xorg.scm (%default-xorg-modules): Remove xf86-input-synaptics. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> SeerLite
2022-02-10services: gdm-service-type: Require elogind....* gnu/services/xorg.scm (gdm-shepherd-service): Make it require elogind. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2022-01-08services: set-xorg-configuration: Use target-x86-64?....* gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: Use target-x86-64? from (guix utils) to decide if the system is an x86_64 system instead of comparing the strings ourselves. Chris Marusich
2022-01-06services: Consistently use SDDM rather than GDM on non-x86_64....This is a follow-up to 49599fab564f203b8e92d32e9b28c99e99849bfb. Fixes: <https://issues.guix.gnu.org/52908>. * gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: When the current system or target system begins with the string "x86_64", use gdm-service-type as before; otherwise, use sddm-service-type. * gnu/system/examples/vm-image.tmpl (services): Add sddm-service-type to the list of service types to remove. Chris Marusich
2021-12-05Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus
2021-11-30services: Accept <inferior-package>s in lieu of <package>s....* gnu/services/authentication.scm (fprintd-configuration) (nslcd-configuration): Substitute file-like objects for package ones. * gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration): Likewise. * gnu/services/cups.scm (package-list?, cups-configuration): Likewise. * gnu/services/dns.scm (verify-knot-configuration) (ddclient-configuration): Likewise. * gnu/services/docker.scm (docker-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/getmail.scm (getmail-configuration): Likewise. * gnu/services/mail.scm (dovecot-configuration) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise. Tobias Geerinckx-Rice
2021-11-24gnu: gdm: Pass GDK_PIXBUF_MODULE_FILE to sessions....* gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Add patch. * gnu/local.mk (dist_patch_DATA): List it. * gnu/packages/gnome.scm (gdm): Use it. * gnu/services/xorg.scm (gdm-shepherd-service): Pass GDK_PIXBUF_MODULE_FILE. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Josselin Poiret
2021-10-18Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe
2021-10-15gnu: font-abattis-cantarell: Update variable name....* gnu/packages/fonts.scm (font-cantarell): Rename to… (font-abattis-cantarell): …this. * gnu/packages/gnome.scm (gnome)[propagated-inputs]: Adjust accordingly. * gnu/packages/mate.scm (mate)[inputs]: Likewise. * gnu/services/xorg.scm (<gdm-configuration>): Likewise. Tobias Geerinckx-Rice
2021-10-02services: gdm: Add Wayland support....* gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gdm): Use it. * gnu/services/xorg.scm (<gdm-configuration>)[wayland-session]: New field. (gdm-wayland-session-wrapper): New procedure. (gdm-configuration-file): Point to this new procedure. * doc/guix.texi (X Window): Update it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret
2021-10-02gnu: Add Wayland support for GDM....Add the optional flag `wayland?` in `gdm-configuration` to launch GDM with Wayland, enabling the use of Wayland sessions with GDM. * gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gdm): Use it. * gnu/services/xorg.scm (<gdm-configuration>)[wayland?]: New field. (gdm-configuration): Honor it. (gdm-shepherd-service): Add the XCURSOR_PATH environment variable. * doc/guix.texi (X Window): Document it Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret
2021-08-30services: xorg: Delay the xorg-configuration-modules field evaluation....When building an image with the "system" parameter set to an emulated architecture, the xorg-configuration-modules field needs to be evaluated once the %current-system parameter is set, otherwise this parameter is set to the current host system. * gnu/services/xorg.scm (<xorg-configuration>)[modules]: Make it a thunked field. Mathieu Othacehe
2021-08-17services: slim: Add pam-gnupg support....* gnu/system/pam.scm (unix-pam-service): Add account and session PAM entries for pam-gnupg. Don't pass "#f" to "allow-root?" argument, because "lambda*" already does this by default. * doc/guix.texi (X Window): Document this. * gnu/services/xorg.scm (<slim-configuration>)[gnupg?]: New record field. (slim-pam-service): Pass "#:gnupg?" argument to "unix-pam-service". Oleg Pykhalov
2021-07-29services: Migrate to <setuid-program>....* gnu/services/dbus.scm (dbus-setuid-programs, polkit-setuid-programs): Return setuid-programs. * gnu/services/desktop.scm (enlightenment-setuid-programs): Return setuid-programs. (%desktop-services)[mount-setuid-helpers]: Use setuid-programs. * gnu/services/docker.scm (singularity-setuid-programs): Return setuid-programs. * gnu/services/xorg.scm(screen-locker-setuid-programs): Return setuid-programs. * gnu/system.scm (%setuid-programs): Return setuid-programs. * doc/guix.texi (Setuid Programs, operating-system Reference): Replace 'list of G-expressions' with 'list of <setuid-program>'. Brice Waegeneire
2021-06-14services: Remove deprecated service procedures....These service procedures were deprecated in January 2019, for instance in commit 65a67bf711b14bc7200f6730c0f173375ca12974. * gnu/services/avahi.scm (avahi-service): Remove. * gnu/services/base.scm (console-keymap, guix-service) (guix-publish-service, gpm-service, urandom-seed-service): Remove. * gnu/services/desktop.scm (upower-service, colord-service): Remove. * gnu/services/mcron.scm (mcron-service): Remove. * gnu/services/messaging.scm (bitlbee-service): Remove. * gnu/services/networking.scm (dhcp-client-service, ntp-service) (tor-service): Remove. * gnu/services/xorg.scm (slim-service, gdm-service): Remove. Ludovic Courtès
2021-03-31services: xorg: Export %default-xorg-server-arguments....* gnu/services/xorg.scm (%default-xorg-server-arguments): Export. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Valentin Herrmann
2021-02-11services: Add 'xorg-server-service-type'....* gnu/services/xorg.scm (xorg-server-service-type): New service type. (xorg-server-profile-service): New procedure. 宋文武