Commit Graph

856 Commits

Author SHA1 Message Date
Jakob L. Kreuze 5c793753b3
guix system: Add 'reconfigure' module.
* guix/scripts/system/reconfigure.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (bootloader-installer-script): Export variable.
* gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services)
(install-bootloader): Delete variable.
* gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure.
* gnu/services/herd.scm (live-service): Export variable.
* gnu/services/herd.scm (live-service-canonical-name): New variable.
* tests/services.scm (live-service): Delete variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-26 19:19:49 +02:00
Jelle Licht 4efdede284
services: network-manager: Clear default OpenVPN user.
* gnu/services/networking.scm (network-manager-shepherd-service): Clear
'NM_OPENVPN_USER' and 'NM_OPENVPN_GROUP' in #:environment-variables.
2019-07-17 11:08:26 +02:00
Jelle Licht 40557aeab5
services: network-manager: Properly load vpn plugins
Extends the dbus service when vpn plugins are enabled.

* gnu/services/networking.scm (network-manager-service-type): Load vpn plugins
when extending dbus service.
2019-07-17 11:08:19 +02:00
Robert Vollmert 334a2f4def
gnu: postgres service: More secure default permissions.
This changes to 'peer' authentication for local socket connections,
and password-based authentication for local network connections.

* gnu/services/databases.scm (%default-postgres-hba): Change
authentication method.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-07-02 18:33:51 +02:00
Tobias Geerinckx-Rice 3a8bfebed9
etc: Remove hydra.gnu.org.pub key.
* etc/substitutes/hydra.gnu.org.pub: Delete file.
* guix/self.scm (miscellaneous-files): Don't install it.
* Makefile.am (dist_pkgdata_DATA): Remove it.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
(hydra-key-authorization): Rename to…
(substitute-key-authorization): …this.  Adjust only call site.
2019-06-29 14:27:22 +02:00
Florian Pelz 57c16c97cb
services: network-manager: Create '/var/lib/misc' directory for dnsmasq.
* gnu/services/networking.scm (%network-manager-activation): Rename to...
(network-manager-activation): ... this and make it a procedure.  Make it
create '/var/lib/misc' when using dnsmasq.
(network-manager-service-type): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24 23:25:11 +02:00
Kristofer Buffington ace8e269a4
services: opensmtpd: Extend the PAM service.
* gnu/services/mail.scm (%opensmtpd-pam-services): New variable.
(opensmtpd-service-type)[extensions]: Add it, extending
PAM-ROOT-SERVICE-TYPE.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2019-06-20 15:54:51 +02:00
Tobias Geerinckx-Rice f7dbf186b4
services: Fix typo in (gnu services mail) exports.
* gnu/services/mail.scm (define-module):
Re-spell ‘%default-imap4d-config-file’.
2019-06-20 10:43:25 +02:00
Florian Pelz 7dbeb5a791
services: Include USB_ModeSwitch in %desktop-services.
Fixes <https://bugs.gnu.org/35640>.

* gnu/services/desktop.scm (%desktop-services): Add usb-modeswitch-service-type.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-15 18:37:57 +02:00
Florian Pelz f5be51040c
services: Add usb-modeswitch-service-type.
* gnu/services/networking.scm (usb-modeswitch-service-type): New variable.
(usb-modeswitch-configuration): New variable.
(usb-modeswitch-sh): New procedure.
(usb-modeswitch-configuration->udev-rules): New procedure.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-15 18:37:54 +02:00
Ludovic Courtès f3d7970053
services: Remove unneeded imports that led to cycles.
Fixes <https://bugs.gnu.org/36207>.
Reported by Jack Hill <jackhill@jackhill.us>.

* gnu/services/admin.scm: Remove unneeded import of (gnu services
base).
* gnu/services/mcron.scm: Likewise.
2019-06-15 18:15:23 +02:00
Tobias Geerinckx-Rice 79d19d7d90
services: Import (srfi srfi-26) from the build side.
See <https://lists.gnu.org/archive/html/guix-devel/2019-06/msg00119.html>.

* gnu/services/nix.scm (nix-activation): Remove (srfi srfi-26) from (host-)
imported modules.
2019-06-12 17:26:28 +02:00
Tobias Geerinckx-Rice 2be6b5e2ee
services: Add SRFI-26 to Nix activation gexp.
Fix the following fatal error on ‘guix system reconfigure’:

Backtrace:
          18 (primitive-load "/home/nckx/.config/guix/current/bin/guix")
In guix/ui.scm:
  1620:12 17 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9 16 (catch _ _ #<procedure 7a7caa2d4c80 at guix/ui.scm:587:2 (key c)> _)
    829:9 15 (catch _ _ #<procedure 7a7caa2d4c98 at guix/ui.scm:710:6 (key proc format-string format-args . …> …)
In guix/scripts/system.scm:
   1325:8 14 (_)
In guix/status.scm:
    768:4 13 (call-with-status-report _ _)
In guix/scripts/system.scm:
   1181:4 12 (process-action _ _ _)
In guix/store.scm:
   623:10 11 (call-with-store _)
  1800:24 10 (run-with-store _ _ #:guile-for-build _ #:system _ #:target _)
In guix/scripts/system.scm:
   920:13  9 (_ _)
    409:8  8 (_ _)
In unknown file:
           7 (primitive-load "/gnu/store/dha7j9gcz3vgb8cy7vfvvaswwsywrrzj-activate")
In ice-9/boot-9.scm:
   260:13  6 (for-each #<procedure primitive-load (_)> _)
In unknown file:
           5 (primitive-load "/gnu/store/ql1xjxrssxm51z2bn2v6l3mlrncij84h-activate-service")
In ice-9/eval.scm:
    619:8  4 (_ #f)
   196:35  3 (_ #f)
   196:27  2 (_ #f)
   223:20  1 (proc #<directory (guile-user) 1fa4140>)
In unknown file:
           0 (%resolve-variable (7 . cut) #<directory (guile-user) 1fa4140>)

ERROR: In procedure %resolve-variable:
error: cut: unbound variable

Reported-by: Alex McGrath on #guix.

* gnu/services/nix.scm (nix-activation): Import and use (srfi srfi-26).
2019-06-11 21:05:32 +02:00
Diego Nicola Barbato 2f9f792a1e
services: slim: Update SLiM theme to 1.x.
* gnu/services/xorg.scm (%default-slim-theme-name): Change to "1.x".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-10 23:11:15 +02:00
Christopher Baines 4252dace19
services: guix-publish: Configure log rotation.
* gnu/services/base.scm (%guix-publish-log-rotations): New variable.
(guix-publish-service-type): Extend the rottlog-service-type.
2019-06-10 07:58:09 +01:00
Christopher Baines b09793172f
services: guix-publish: Log to a file.
This makes it easier to read the output, as it's recorded in a file.

* gnu/services/base.scm (guix-publish-shepherd-service): Add #:log-file to
make-forkexec-constructor.
2019-06-10 07:58:06 +01:00
Oleg Pykhalov 47b9614b31
services: Add 'nix-service-type'.
* gnu/services/nix.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi (Miscellaneous Services): Document this.
2019-06-10 09:15:45 +03:00
Ludovic Courtès 08814aec6a
services: Add Singularity.
* gnu/packages/linux.scm (singularity)[source](snippet): Change file
name of setuid helpers in libexec/cli/*.exec.
[arguments]: Remove "--disable-suid".
* gnu/services/docker.scm (%singularity-activation): New variable.
(singularity-setuid-programs): New procedure.
(singularity-service-type): New variable.
* gnu/tests/singularity.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-07 09:57:19 +02:00
Danny Milosavljevic 07023ebc18
services: Add auditd.
* gnu/services/auditd.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Miscellaneous Services): Document it.
2019-06-06 22:23:35 +02:00
Alex Griffin 36273ebde2
services: cups: Create /var/cache on activation.
* gnu/services/cups.scm (%cups-activation): Create /var/cache if it doesn't
exist yet.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-05 17:27:23 +02:00
Ludovic Courtès ee2691fa33
services: guix-publish: Allow for multi-compression.
This is a followup to b8fa86adfc.

* guix/deprecation.scm (warn-about-deprecation): Make public.
* gnu/services/base.scm (<guix-publish-configuration>)[compression]: New
field.
[compression-level]: Default to #f.  Add '%' to getter name.
(guix-publish-configuration-compression-level): Define as deprecated.
(default-compression): New procedure.
(guix-publish-shepherd-service)[config->compression-options]: New
procedure.
Use 'match-record' instead of 'match'.
* doc/guix.texi (Base Services): Remove 'compression-level' and document
'compression'.
2019-06-03 23:18:47 +02:00
Ludovic Courtès bb64b2e7c0
herd: Use the Guile 2.2 'setvbuf' API.
* gnu/services/herd.scm (open-connection): Use 'block for 'setvbuf'.
2019-06-02 01:38:36 +02:00
Christopher Baines 2177d9222f
services: Add patchwork.
* gnu/service/web.scm (<patchwork-database-configuration>
<patchwork-settings-module>, <patchwork-configuration>): New record types.
(patchwork-virtualhost): New procedure.
(patchwork-service-type): New variable.
* gnu/tests/web.scm (%test-patchwork): New variable.
* doc/guix.text (Web Services): Document it.
2019-05-31 20:22:23 +01:00
Christopher Baines f6b0e1f8ff
services: Add getmail.
Getmail is a mail retriever written in Python, this commit adds a service-type
to run getmail. I'm looking at this, as it's a convinient way of getting
mailing list messages in to Patchwork.

I initially tried putting this in the (gnu services mail) module, but due to
also trying to use the define-configuration pattern, it conflicted with the
dovecot service.

* gnu/services/getmail.scm: New file.
* gnu/local.mk: Add it.
* gnu/tests/mail.scm (%getmail-os, %test-getmail): New variables.
(run-getmail-test): New procedure.
2019-05-31 20:22:20 +01:00
Reza Alizadeh Majd ed90104cc8
services: sddm: Fix root login failure issue.
* gnu/services/sddm.scm (sdm-pam-service): Set uid from CONFIG.
(sdm-autologin-pam-service): Set uid from CONFIG.
(sdm-pam-services): Pass CONFIG to 'sddm-pam-service' and
'sddm-autologin-pam-service'.
* doc/guix.texi (X Window): Adjust 'minimum-uid' documentation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-05-26 01:34:16 +02:00
Arun Isaac 336674549d
services: cgit: Fix typo.
* gnu/services/cgit.scm (cgit-configuration)[root-readme]: Replace "thef" with
"the".
2019-05-25 15:58:03 +05:30
Vagrant Cascadian f8df47633c
gnu: git-daemon-service-type: Fix typo "repositories".
* gnu/services/version-control (git-daemon-service-type)[description]: Fix typo.
2019-05-22 18:30:10 -07:00
Vagrant Cascadian f3a2c29750
gnu: darkstat-service-type: Fix typo "statistics".
* gnu/services/monitoring (darkstat-service-type)[description]: Fix typo.
2019-05-22 18:30:08 -07:00
Ludovic Courtès 33572a3662
tests: Skip unreliable "herd invalidate nscd" test.
* gnu/tests/base.scm (run-basic-test)["nscd invalidate action, wrong
table"]: Skip unconditionally.
2019-05-15 12:18:51 +02:00
Florian Pelz 36f5d78d4a
services: Include ModemManager in %desktop-services.
* gnu/services/desktop.scm (%desktop-services): Add modem-manager-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-15 12:18:50 +02:00
Gábor Boskovits 0f9bbd32c1
gnu: Update copyright line.
* gnu/services/monitoring.scm: Update copyright line.
2019-05-15 09:52:17 +02:00
Ludovic Courtès 05d907ac6f
services: Add 'network-manager-applet' to %DESKTOP-SERVICES.
Fixes <https://bugs.gnu.org/35554>.
Reported by Calle Kabo <calle@kabo.nu>.

* gnu/services/desktop.scm (%desktop-services): Add
'network-manager-applet' service.
2019-05-14 12:11:04 +02:00
Gábor Boskovits 4074ee4ef7
services: prometheus-node-exporter add default.
* gnu/services/monitoring.scm (prometheus-node-exporter-service-type):
Add default-value with default configuration.
2019-05-13 15:28:37 +02:00
Christopher Baines f8cd07e8d8
services: mcron: Log to a file.
This makes it easier to read the output, as it's recorded in a file.

* gnu/services/mcron.scm (mcron-shepherd-services): Add #:log-file to
make-forkexec-constructor.
2019-05-12 18:16:37 +01:00
Timothy Sample dcb3a0fe0a
services: gdm: Include user profile in D-Bus paths.
This partially addresses <https://bugs.gnu.org/35267>.

* gnu/services/xorg.scm (dbus-daemon-wrapper): When available, include
directories from '~/.guix-profile' in the search paths of the D-Bus
daemon.
2019-05-11 13:41:34 -04:00
Marius Bakke 6c2180f5d0
services: dhcp-client: Ignore interfaces that are not ARP capable.
* gnu/services/networking.scm (dhcp-client-service-type): Filter interfaces
that do not support the ARP protocol.
2019-05-09 20:00:22 +02:00
Ludovic Courtès e6b1a2248f
services: 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.
2019-05-09 12:11:36 +02:00
Ludovic Courtès 6ad799d7c5
services: slim: Provide the 'xorg-server' Shepherd service.
This is a followup to 61569171d0.

* gnu/services/xorg.scm (slim-shepherd-service): Add 'xorg-server' to
'provision' when VT is "vt7".
2019-05-09 12:11:36 +02:00
Christopher Baines 5b3d3cf71c
services: dovecot: Rename auth-verbose-passwords?.
* gnu/services/mail.scm (dovecot-configuration)[auth-verbose-passwords?]:
Rename to auth-verbose-passwords, and change the type to a string, as this
parameter can take one of three string values.
* doc/guix.texi (Dovecot service): Update the corresponding documentation.
2019-05-07 20:52:02 +01:00
Diego Nicola Barbato 61569171d0
services: 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>
2019-05-07 15:46:54 +02:00
Maxim Cournoyer 7a31d93a61
services: docker: Add new fields to support proxy.
The Docker proxy enables inter-container and outside-to-container loopback,
and is required by the Docker registry server.

* gnu/services/docker.scm (docker-configuration)[proxy,
enable-proxy?]: Add fields.
(docker-shepherd-service): Use them.
(serialize-boolean): New function.
2019-05-05 20:14:15 -04:00
Ludovic Courtès 92597c3cec
services: colord: Make public and searchable.
* gnu/services/desktop.scm (colord-service-type): Make public.
[description]: New field.
2019-04-30 12:03:02 +02:00
Ludovic Courtès 7614193099
services: bluetooth: Make public and searchable.
Until now 'guix system search bluetooth' would turn up nothing.

* gnu/services/desktop.scm (bluetooth-service-type)
(bluetooth-configuration): Make public.
(bluetooth-service-type)[description]: New field.
2019-04-30 11:59:47 +02:00
Diego Nicola Barbato b901b72545
services: 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>
2019-04-29 09:33:55 +02:00
Ricardo Wurmus cee06123c8
gnu: Remove unused module reference.
* gnu/services/web.scm: Remove reference to (gnu packages guile).
2019-04-28 16:05:57 +02:00
Julien Lepiller b8e2bd4fc8
gnu: knot: Fix typos.
* gnu/services/dns.scm: Fix typos.
2019-04-27 15:56:35 +02:00
Julien Lepiller 6cd7b1be7e
gnu: knot: Add configuration fields.
* gnu/services/dns.scm (knot-zone-configuration)[zonefile-load]
[journal-content, max-journal-usage, max-journal-depth, max-zone-size]:
New fields.
(knot-zone-config): Serialize them.
* doc/guix.texi (DNS Services): Document them.
2019-04-27 13:02:31 +02:00
Ludovic Courtès 435551f0fa
services: knot: Fix configuration file generation.
Fixes a regression introduced in
92eb600f8a.

* gnu/services/dns.scm (knot-config-file): Add ungexp around call to
'knot-configuration-includes'.
2019-04-27 00:19:41 +02:00
Ludovic Courtès 74685a4369
services: file-system: Filter what goes to /etc/fstab.
Fixes a longstanding issue whereby, due to our long fstab that included
pseudo file systems like cgroup mounts, graphical file managers would
display all of these.  Initially reported at
<https://lists.gnu.org/archive/html/help-guix/2017-11/msg00084.html>.

* gnu/services/base.scm (file-system-fstab-entries): New procedure.
(file-system-service-type): Use it to extend FSTAB-SERVICE-TYPE.
2019-04-27 00:11:52 +02:00
Julien Lepiller e379d1b5ef
gnu: dns: Fix configuration formating.
* gnu/services/dns.scm (format-string-list): Fix formating of lists with
only one symbol.
2019-04-26 18:37:48 +02:00