aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu installer newt substitutes)
  #:use-module (gnu installer substitutes)
  #:use-module (gnu installer utils)
  #:use-module (guix i18n)
  #:use-module (newt)
  #:use-module (ice-9 match)
  #:export (run-substitutes-page))

(define* (run-substitutes-page)
  (match (current-clients)
    (()
     (case (choice-window
            (G_ "Substitute server discovery")
            (G_ "Enable") (G_ "Disable")
            (G_ " By turning this option on, you allow Guix to fetch \
substitutes (pre-built binaries) during installation from servers \
discovered on your local area network (LAN) in addition to the official \
server.  This can increase download throughput.

 There are no security risks: only genuine substitutes may be retrieved from \
those servers.  However, eavesdroppers on your LAN may be able to see what \
software you are installing."))
       ((1) (enable-discovery))
       ((2) (disable-discovery))))
    (_ #f)))
de.scm?id=b5944fcbc3c9275ca0ac8498f24b6e7974bd093c'>gnu: uncrustify: Use git reference instead of GitHub archive....Pierre Neidhardt 2018-11-25gnu: uncrustify: Update to 0.68.1....Pierre Neidhardt 2018-10-30gnu: cloc: Update to 1.80....Tobias Geerinckx-Rice 2018-10-04gnu: rtags: Don't use unstable tarball....Tobias Geerinckx-Rice 2018-09-10gnu: cloc: Update source hash....Tobias Geerinckx-Rice 2018-09-09gnu: cloc: Update to 1.78....Tobias Geerinckx-Rice 2018-09-07gnu: indent: Add version 2.2.12....Ludovic Courtès 2018-08-27Update email for Pierre Neidhardt....Pierre Neidhardt 2018-08-14gnu: the-silver-searcher: Use HTTPS home page....Tobias Geerinckx-Rice 2018-08-14gnu: the-silver-searcher: Update to 2.2.0....Tobias Geerinckx-Rice 2018-06-27gnu: astyle: Update to 3.1....Ricardo Wurmus 2018-05-28Merge branch 'master' into core-updatesMark H Weaver 2018-05-28gnu: Add amalgamate....Fis Trivial 2018-05-24Merge branch 'master' into core-updatesMark H Weaver 2018-05-23gnu: Move 'indent' to code.scm....Ludovic Courtès 2018-05-23gnu: Move 'astyle' to code.scm....Ludovic Courtès 2018-05-23gnu: Add uncrustify....Pierre Neidhardt service-type): Set default value. (udisks-service): Deprecate procedure. (desktop-services-for-system): Use udisks-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-03-03services: desktop: Deprecate 'accountsservice-service' procedure.Bruno Victal * doc/guix.texi (Desktop Services): Replace 'accountsservice-service' with 'accountsservice-service-type'. * gnu/services/desktop.scm (accountsservice-service): Deprecate procedure. (desktop-services-for-system): Use accountsservice-service-type. * gnu/tests/lightdm.scm (minimal-desktop-services): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-03-03services: elogind-configuration: Do not ignore 'handle-hibernate-key' by ↵Bruno Victal default. * gnu/services/desktop.scm (<elogind-configuration>)[handle-hibernate-key]: Set default value to 'hibernate. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-03-03services: desktop: Deprecate 'elogind-service' procedure.Bruno Victal * doc/guix.texi (Desktop Services): Replace 'elogind-service' with 'elogind-service-type'. * gnu/services/desktop.scm (elogind-service): Deprecate procedure. (desktop-services-for-system): Use elogind-service-type. * gnu/tests/lightdm.scm (minimal-desktop-services): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-02-28gnu: sugar-desktop-configuration: Allow specification of activities.Ricardo Wurmus * gnu/services/desktop.scm (<sugar-desktop-configuration>): Add new fields for activities and gobject-introspection. (sugar-gobject-introspection, sugar-activities): New procedures. (sugar-desktop-service-type): Install packages for activities and gobject-introspection alongside the sugar package. * doc/guix.texi (Desktop Services): Document changes. 2023-02-28services: Add sugar-desktop-service-type.Ricardo Wurmus * gnu/services/desktop.scm (sugar-desktop-service-type): New variable. (sugar-polkit-settings, sugar-desktop-configuration, make-sugar-desktop-configuration, sugar-desktop-configuration?, sugar-package): New procedures. (<sugar-desktop-configuration>): New record. * doc/guix.texi (Desktop Services): Document it. 2023-02-25services: gnome-desktop-service-type: Extend setuid-program-service-type.Maxim Cournoyer * gnu/services/desktop.scm (gnome-setuid-programs): New variable. (gnome-desktop-service-type): Extend setuid-program-service-type with it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2023-02-25services: desktop: Extract a new gnome-package procedure.Maxim Cournoyer * gnu/services/desktop.scm (<gnome-desktop-configuration>): Rename gnome package accessor to gnome-desktop-configuration-gnome, to avoid name conflict. (gnome-packages): Change first argument from a config object to a the gnome package used. Rename second argument from package to name. Extract core logic into... (gnome-package): ... this. (gnome-udev-rules, gnome-polkit-settings): Adjust accordingly. (gnome-desktop-service-type): Likewise. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2023-02-25services: gnome-polkit-settings: Add spice-gtk.Maxim Cournoyer * gnu/services/desktop.scm (gnome-polkit-settings): Add spice-gtk to the GNOME packages providing polkit rules. (package-direct-input-selector): Allow passing a list corresponding to the dependency tree, so that non-propagated transitive inputs can be specified. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2022-12-30services: enlightenment: Load ddcutil udev rules.Efraim Flashner * gnu/services/desktop.scm (enlightenment-desktop-service-type): Extend the enlightenment-desktop-service-type with the udev rules from the ddcutil input in the udev-service-type. 2022-12-26gnu: services: Fix bluetooth-service docstring.Ivan Vilata i Balaguer * gnu/services/desktop.scm (bluetooth-service): Sync docstring with info, remove mention to group not really needed to access D-Bus service. * doc/guix.texi (Desktop Services): Also remove mention to group here. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2022-11-18services: Add Shepherd 'configuration' action to various services.Ludovic Courtès * 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. 2022-09-16services: desktop: Mount /var/lib/gdm on a tmpfs file system.Maxim Cournoyer 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. 2022-09-16services: elogind-configuration-file: Do not serialize unspecified items.Maxim Cournoyer This a followup to 59ee837d8b11d7d688045b601e8b240ccbdbe7c7, which changed the default value of the HandleLidSwitchExternalPower to the empty string. Unfortunately this causes elogind to print a warning (although it otherwise works as intended). This change fixes that. * gnu/services/desktop.scm (elogind-configuration-file)<handle-action>: Let the unspecified value go through. <ini-file-clause>: When an unspecified file is encountered, do not produce any text to serialize. 2022-09-04services: upower: Default to a percentage-based policy.Ludovic Courtès This is the documented default of UPower 0.99.15 (the actual default appears to be #f though). * gnu/services/desktop.scm (<upower-configuration>) [use-percentage-for-policy?]: Default to #t. * doc/guix.texi (Desktop Services): Adjust accordingly. Explain the tradeoff. 2022-09-04services: upower: Update default percentage values.Ludovic Courtès These values are those used by default by UPower 0.99.15. * gnu/services/desktop.scm (<upower-configuration>)[percentage-low] [percentage-critical]: Increase. * doc/guix.texi (Desktop Services): Update accordingly. 2022-08-26gnu: seatd-service-type: Use seat group.muradm * gnu/services/desktop.scm (seatd-group-sanitizer): New variable. (<seatd-configuration>)[user]: Removed field. [group]: Changed to "seat". Sanitize via seatd-group-sanitizer. (seatd-accounts): New variable. (seatd-environment): Adjust to <seatd-configuration> ABI. (seatd-service-type)[extensions]: Add account-service-type with seatd-accounts. * gnu/tests/desktop.scm (run-minimal-desktop-test): Check for correct ownership of $SEATD_SOCK. * doc/guix.texi ("Desktop Services")[seatd-service-type]: Mention that users may need to become members of the "seat" group. Update default value for group field. Add explanation on seatd.sock file. Remove dropped user field. 2022-08-10services: elogind: Fix default behavior for lid close.Maxim Cournoyer Fixes <https://issues.guix.gnu.org/57052>, which was a behavior change introduced inadvertently in 4c698cd51209a0102477478b026ea04bd7e45908. * gnu/services/desktop.scm (<elogind-configuration>) [handle-lid-switch-external-power]: Default to *unspecified*, which serializes to nothing. This matches upstream behavior, meaning that even when plugged to a power cord, a laptop will suspend when the lid is closed. * doc/guix.texi (Desktop Services): Update doc. Reported-by: Cairn <cairn@pm.me> 2022-06-17gnu: desktop: Add seatd-service-type.muradm * gnu/services/desktop.scm (seatd-service-type): New variable * gnu/services/desktop.scm (seatd-configuration): New data type Signed-off-by: Lars-Dominik Braun <ldb@leibniz-psychology.org> 2022-05-28services: elogind: When started by dbus-daemon, wait for the Shepherd service.Ludovic Courtès Fixes <https://issues.guix.gnu.org/55444>. Previously shepherd and dbus-daemon would race to start elogind. In some cases (for instance if one logs in quickly enough on the tty), dbus-daemon would "win" and start elogind before shepherd has had a chance to do it. Consequently, shepherd would fail to start elogind and mark it as stopped and disabled, in turn preventing services that depend on it such as 'xorg-server' from starting. * gnu/services/desktop.scm (elogind-dbus-service): Rewrite to refer to a wrapper that waits for the 'elogind' Shepherd service. 2022-04-29services: Add missing 'description' fields.Ludovic Courtès * gnu/services/databases.scm (postgresql-service-type)[description]: New field. (memcached-service-type)[description]: New field. (mysql-service-type)[description]: New field. (redis-service-type)[description]: New field. * gnu/services/desktop.scm (geoclue-service-type)[description]: New field. (udisks-service-type)[description]: New field. (elogind-service-type)[description]: New field. (account-service-type)[description]: New field. * gnu/services/kerberos.scm (krb5-service-type)[description]: New field. (pam-krb5-service-type)[description]: New field. * gnu/services/lirc.scm (lirc-service-type)[description]: New field. * gnu/services/mail.scm (dovecot-service-type)[description]: New field. (opensmtpd-service-type)[description]: New field. (mail-aliases-service-type)[description]: New field. (exim-service-type)[description]: New field. * gnu/services/monitoring.scm (zabbix-server-service-type)[description]: New field. (zabbix-agent-service-type)[description]: New field. * gnu/services/nfs.scm (rpcbind-service-type)[description]: New field. (pipefs-service-type)[description]: New field. (gss-service-type)[description]: New field. (idmap-service-type)[description]: New field. * gnu/services/spice.scm (spice-vdagent-service-type)[description]: New field. * gnu/services/sysctl.scm (sysctl-service-type)[description]: New field. * gnu/services/virtualization.scm (libvirt-service-type)[description]: New field. (virtlog-service-type)[description]: New field. * gnu/services/vpn.scm (openvpn-server-service-type)[description]: New field. (openvpn-client-service-type)[description]: New field. (wireguard-service-type)[description]: New field. * gnu/services/web.scm (httpd-service-type)[description]: New field. (fcgiwrap-service-type)[description]: New field. (agate-service-type)[description]: New field. [name]: Fix. 2022-03-09services: bluetooth: Add missing config parameters.Demis Balbach * doc/guix.texi (Desktop Services): Document 'bluetooth-service-type' and 'bluetooth-configuration'. * gnu/services/desktop.scm (<bluetooth-configuration>): Add many fields. (bluetooth-configuration-file): Handle them. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2022-01-06services: gnome: Add udev rules.Mathieu Othacehe Fixes: <https://issues.guix.gnu.org/32166>. * gnu/services/desktop.scm (gnome-packages, gnome-udev-rules): New procedures. (gnome-polkit-settings): Use the gnome-packages procedure. (gnome-desktop-service-type): Add an udev service extension. 2021-12-08services: %desktop-services: Use SDDM rather than GDM on non-x86_64.Ludovic Courtès This works around the fact that Rust is currently unavailable in Guix on platforms other than x86_64-linux: https://lists.gnu.org/archive/html/guix-devel/2021-11/msg00197.html * gnu/services/desktop.scm (desktop-services-for-system): New procedure. (%desktop-services): Turn into a macro. 2021-10-03services: desktop: Add the sticky bit to the X11 socket directory.Mathieu Othacehe This prevents mutter from complaining that the /tmp/.X11-unix directory misses the sticky bit when starting X Wayland. * gnu/services/desktop.scm (x11-socket-directory-service): Add the sticky bit. 2021-07-29services: Migrate to <setuid-program>.Brice Waegeneire * 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>'.