gnu: Fix some misspellings.
Change-Id: I316652aff7418af4b8e83bea24638b1513f8aa97
services: lightdm: Fix vnc server flag listen-address
* gnu/services/lightdm.scm (lightdm-configuration-file): Fix typo from
‘vnc-server-listen-address’ to ‘listen-address’.
Change-Id: I40d26a5554bf160658e641cc8d3dc212f1364c93
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: guix-configuration: Add a chroot? parameter.
The parameter should take the values #t, #f or 'default.
In a container environment, 'default amounts to #f, otherwise it
amounts to #t.
* gnu/services/base.scm (guix-configuration)<chroot?>: New field.
(guix-shepherd-service): If chroot? is #f, add "--disable-chroot".
If it is #t or 'default, do nothing.
* gnu/system/linux-container.scm (containerized-operating-system):
If chroot? is 'default, replace it by #f.
* doc/guix.texi: Document the parameter.
Change-Id: I8b9c3f46ad8650fa6ed4acee947b4ae5d002d03d
services: syncthing: Add support for declarative configuration.
* gnu/services/syncthing.scm: (syncthing-config-file, syncthing-folder,
syncthing-device, syncthing-folder-device): New records.
(syncthing-service-type): Add special-files-service-type extension for
the config file.
(syncthing-files-service): Add service to create config file.
* gnu/home/services/syncthing.scm: (home-syncthing-service-type):
Extend home-files-services-type and re-exported more things from
gnu/services/syncthing.scm.
* doc/guix.texi: (syncthing-service-type): Document changes.
Change-Id: I87eeba1ee1fdada8f29c2ee881fbc6bc4113dde9
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: guix-build-coordinator: Add the listen-repl configuration.
* gnu/services/guix.scm (<guix-build-coordinator-configuration>): Add
listen-repl.
(guix-build-coordinator-configuration-listen-repl): New procedure.
(make-guix-build-coordinator-start-script,
guix-build-coordinator-shepherd-services): Use listen-repl.
* doc/guix.texi (Guix Services): Document listen-repl.
Change-Id: I49cac7cd3c4675f6ffed71320bb61dc7b008179a
services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-services’.
* gnu/services/base.scm (%base-services): Replace ‘syslog-service-type’
by ‘shepherd-system-log-service-type’.
* doc/guix.texi (Base Services): Update ‘syslog-service-type’
documentation.
(Shepherd Services): Mention that ‘system-log-service-type’ is in
‘%base-services’. Add anchor.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I21082300f6a052865a6ab1bdff27fbe71f73d492
services: Add ‘system-log’ Shepherd service.
* gnu/services/shepherd.scm (gexp-or-integer?)
(gexp-or-string?, gexp-or-string-or-false?): New procedures.
(system-log-configuration): New record type.
(shepherd-system-log-service-type): New variable.
* doc/guix.texi (Shepherd Services): Document it.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I1e29fe0977eb4f8026ee6a2d2f282e269c8c00b4
services: Add speakersafetyd service.
* gnu/services/sound.scm (speakersafetyd-shepherd-service)
(speakersafetyd-configuration)
(speakersafetyd-service-type): New variables.
* doc/guix.texi (Sound Services): Document it.
Change-Id: Ib8fa19b056a2036019ae7c199d81e1139664e951
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: guix-build-coordinator: Extend pid file timeout.
As truncating the WAL can take time.
* gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Extend pid
file timeout.
Change-Id: I054fbf5631ee5060a4ea5b3c7940809193e1003b
services: network-manager: Add extra-configuration-files field.
Allow users to specify additional configuration files for NetworkManager.
These files will be added to /etc/NetworkManager/conf.d (NetworkManager's
default configuration directory location).
* gnu/services/networking.scm (<network-manager-configuration>)
[extra-configuration-files]: New field.
(network-manager-activation): Honor the new field.
* doc/guix.texi (Networking Setup): Document the new field.
Change-Id: I07479958e4d0aa318328c666a9630b779230b300
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: herd: Export 'eval-there' in API.
* gnu/services/herd.scm (gnu): Export 'eval-there', which is useful to
evaluate Scheme expressions.
Change-Id: Iff1db56e0847fc5886ac9fe594d677b363e7e6e7
services: log-cleanup: Add Shepherd service documentation.
* gnu/services/admin.scm (log-cleanup-shepherd-services): Add
‘documentation’ field.
Change-Id: Ie24033db668a366474f8307e5e8908fd27c06dda
services: user-processes: Remove support for /etc/shepherd/do-not-kill.
The /etc/shepherd/do-not-kill feature has been unused since commit
c8289690365887ca1dd122645e479a89cf7cd969, which switched from
unionfs (FUSE) to overlayfs.
* gnu/services/shepherd.scm (%do-not-kill-file): Remove.
(user-processes-shepherd-service): In ‘stop’ action, remove
‘kill-except’, ‘omitted-pids’, and ‘lset=’. Remove conditionals on
‘omitted-pids’ being non-empty.
Change-Id: Id7c6031fc12fd8ff0a3fde955fb01e373751e2d0
services: user-processes: Simplify and streamline ‘stop’ action.
* gnu/services/shepherd.scm (user-processes-shepherd-service): In ‘stop’
action, remove ‘sleep*’, which is unnecessary when using Fibers, and
remove the ‘reap-children’ loop and its ‘waitpid’ call, which is
redundant with ‘waitpid’ calls made by shepherd itself and could cause
confusion.
Change-Id: I0df1733f0cbe781a0ad5fef4830d903483e0da27
services: Rename field in greetd-terminal-configuration record.
This was erroneously renamed during the review of commit
ee0d1b144c ("services: greetd: Improve greeter configurations."). The field
*adds* to the intrinsic requirements of the service, so the 'extra-' prefixes
communicates this better.
* gnu/services/base.scm (<greetd-terminal-configuration>): Rename
shepherd-requirement field to extra-shepherd-requirement.
* doc/guix.texi (Base Services): Adjust doc accordingly.
Change-Id: I4b970bdd63864ed86d61fde9cad2487a293417ce
services: greetd: Use mkdir-p in activation script.
Fixes a bug introduced in ee0d1b144c1572433c9475c32c74d61c3be9c058 where
reconfiguring a system with ‘greetd-service-type’ would fail with:
guix system: error: mkdir: File exists "/run/user".
* gnu/services/base.scm (greetd-run-user-activation): Replace mkdir with mkdir-p.
Change-Id: I030d1f57c3292c518b3f17061f75258e8a72141c
services: greetd: Add new gtkgreet greeter.
* gnu/services/base.scm (<greetd-gtkgreet-sway-session>): New record,
represents 'gtkgreet' greeter session configuration.
* doc/guix.texi (Base Services): Document new 'gtkgreet' greeter.
Change-Id: I2e8b5710965faa05795af1d0b2a0e2f774af1d5a
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: greetd: Improve greeter configurations.
This improvement focuses on providing common user session scripts
for use by multiple greeters. Now user session entry point is
factored out into '<greetd-user-session>', which can be reused
as is with different greeters. By default it uses 'bash' as
first user process. Then user normally starts additional programs
with '.profile' or '.bashrc'. Using 'command', 'command-args' and
'extra-env' one can specify something else, which could be
'dbus-session' wrapped process, some desktop environment or else.
While the above is possible, one is still encouraged to use
'.bashrc', '.profile' or similar.
It also fixes incorrect use of 'XDG_RUNTIME_DIR' for 'wlgreet'.
'wlgreet' requires a compositor to run. We provide common sway based
greeter script, which can be shared by other graphical greeters.
* gnu/services/base.scm (<greetd-user-session>): Common user session
factored out, for shared use by multiple greeters.
(<greetd-agreety-session>): Switch to common user session.
(<greetd-wlgreet-configuration>): Refactor 'wlgreet' configuration.
(<greetd-wlgreet-sway-session>): Switch to common user session.
(<greetd-terminal-configuration>): Add 'extra-shepherd-requirement'
for establishing configurable Shepherd service dependency.
* gnu/tests/desktop.scm (%minimal-services): Reflect configuration
changes.
* doc/guix.texi (Base Services): Document refactoring changes.
Change-Id: I9d45a592b355eb9c438be5b1d4d15555ce4956fa
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: Remove extraneous reference to defunct mate-desktop-service.
This is a followup to commit 7a482ee94550a6f6fdacc26ed5bba9d1fd144a67
Perhaps it was caused by a conflict resolution error during a rebase or
merge?
* gnu/services/desktop.scm: Stop exporting the non-existent variable
mate-desktop-service.
Change-Id: Ie71a3a49a7abf33df6aa3a5c27440a4cb382d46e