Commit graph

3396 commits

Author SHA1 Message Date
Bruno Victal
dd10ba4184
services: nginx: Make logging level configurable.
* gnu/services/web.scm (<nginx-configuration>)[log-level]: New field.
(assert-valid-log-level): New procedure.
(default-nginx-config): Make log-level configurable.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-04-11 12:19:01 -04:00
Florian Pelz
309d8294e9
doc: Regarding SSL certs, clarify when we write about Guix System.
Rationale: Even though the section 'X.509 Certificates' is part of the
System Configuration chapter, readers might also come here from a
cross-reference when reading about Application Setup on a foreign
distro.

* doc/guix.texi (System Configuration)[X.509 Certificates]: Clarify.
2023-04-10 19:47:38 +02:00
Ludovic Courtès
6420015e6d
home: Add gpg-agent service.
* gnu/home/services/gnupg.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (GNU Privacy Guard): New node.
(Secure Shell): Link to it.
2023-04-08 22:56:19 +02:00
Ludovic Courtès
57db09aae7
environment: Add '--nesting'.
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--nesting'.
(options/resolve-packages): Handle it.
(launch-environment/container): Add #:nesting? and honor it.
[nesting-mappings]: New procedure.
(guix-environment*): Add support for '--nesting'.
* guix/scripts/shell.scm (profile-cached-gc-root): Special-case
'nesting?'.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document it.
2023-04-06 18:34:15 +02:00
Maxim Cournoyer
52d373dfef
doc: Add a reference to a page explaining consensus decision making.
This is to make explicit something which until now had always been implicit.

* doc/contributing.texi (Commit Access): Mention that committers are expected
to employ consensus decision making.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-03 15:41:41 -04:00
Bruno Victal
380faf265b
services: mympd: Use records for user and group fields.
* gnu/services/audio.scm (%mympd-user, %mympd-group)
(mympd-user-sanitizer, mympd-group-sanitizer): New variables.
(mympd-configuration)[user]: Use user-account as value type.
Sanitize via mympd-user-sanitizer.
[group]: Use user-group as value type.
Sanitize via mympd-group-sanitizer.
(mympd-serialize-configuration): Adjust accordingly.
(mympd-accounts): Likewise.
* doc/guix.texi (Audio Services)[myMPD]: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02 12:38:45 +02:00
Bruno Victal
7fdadeac11
services: mpd: Use proper records for user and group fields.
Deprecate using strings for these fields and prefer user-account
(resp. user-group) instead to avoid duplication within account-service-type.

Fixes #61570 <https://issues.guix.gnu.org/61570>.

* gnu/services/audio.scm (%mpd-user, %mpd-group)
(mpd-serialize-user-account, mpd-serialize-user-group)
(mpd-user-sanitizer, mpd-group-sanitizer): New variables.
(mpd-configuration)[user]: Use user-account as value type.
Sanitize via mpd-user-sanitizer.
[group]: Use user-group as value type.
Sanitize via mpd-group-sanitizer.
(mpd-shepherd-service): Adjust accordingly.
(mpd-accounts): Likewise.
* doc/guix.texi (Audio Services)[Music Player Daemon]: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02 12:35:30 +02:00
Bruno Victal
6f48efa9b8
services: configuration: Add user-defined sanitizer support.
This changes the 'custom-serializer' field into a generic
'extra-args' field that can be extended to support new literals.
Within extra-args, the literals 'sanitizer' and 'serializer' allow
for user-defined sanitization and serialization procedures respectively.
The 'empty-serializer' was also added as a literal to be used as before.

To prevent confusion between the new “explicit” style of specifying
a sanitizer, and the old “implicit” style, the latter has been
deprecated, and a warning is issued if it is encountered.

* gnu/services/configuration.scm (define-configuration-helper):
Rename 'custom-serializer' to 'extra-args'.  Add support for literals
'sanitizer', 'serializer' and 'empty-serializer'.  Rename procedure
'field-sanitizer' to 'default-field-sanitizer' to avoid syntax clash.
Only define default field sanitizers if user-defined ones are absent.
(normalize-extra-args): New variable.
(<configuration-field>)[sanitizer]: New field.
* doc/guix.texi (Complex Configurations): Document the newly added
literals.
* tests/services/configuration.scm: Add tests for the new literals.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02 12:31:51 +02:00
Bruno Victal
6d0ad93020
services: pam-limits-service-type: Deprecate file-like object support in favour for lists as service value.
* doc/guix.texi (Base Services): Document it.
* gnu/local.mk: Register test.
* gnu/services/base.scm (pam-limits-service-type): Accept both lists and
file-like objects. Deprecate file-like object support.
* gnu/tests/pam.scm: New file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30 23:18:16 +02:00
Bruno Victal
ed50531885
services: base: Deprecate 'pam-limits-service' procedure.
* doc/guix.texi (Base Services): Replace pam-limits-service with pam-limits-service-type.
* gnu/packages/benchmark.scm (python-locust)[description]: Update index anchor to manual.
* gnu/services/base.scm (pam-limits-service-type): Set default value.
(pam-limits-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-30 23:18:16 +02:00
Ludovic Courtès
67a7eaa13d
doc: Properly document 'replace' clause of 'modify-inputs'.
* doc/guix.texi (Defining Package Variants): Add 'replace' to the
reference of 'modify-inputs' clauses.
2023-03-26 23:24:23 +02:00
Bruno Victal
bc30a9ee88
services: mpd: Set PulseAudio-related variables.
These variables are necessary for PulseAudio to work properly out-of-the-box
for 'non-interactive' users.

* doc/guix.texi (Audio Services): Update environment-variables field description for
mpd-configuration data type.
* gnu/services/audio.scm (mpd-configuration)[environment-variables]: Set
PULSE_CLIENTCONFIG and PULSE_CONFIG environment variables to the system-wide
PulseAudio configuration.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-24 11:01:01 -04:00
Bruno Victal
206446b484
services: audio: Remove redundant list-of-string? predicate.
Use list-of-strings? predicate defined in (gnu services configuration).

* gnu/services/audio.scm (list-of-string?): Remove predicate.
(mpd-serialize-list-of-string): Rename procedure to ...
(mpd-serialize-list-of-strings): ... this.
(mpd-configuration)[environment-variables]: Switch to list-of-strings.
[endpoints]: Switch to maybe-list-of-strings.
(mympd-ip-acl)[allow, deny]: Switch to list-of-strings.
(mympd-serialize-configuration): Rename serialize-list-of-string to
serialize-list-of-strings.
* doc/guix.texi (Audio Services): Update it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-24 10:55:40 -04:00
Maxim Cournoyer
f9ceb205f5
doc: Mention Python 2 packages should not be added anymore.
* doc/contributing.texi (Python Modules): Mention Python 2 packages should not
be added anymore.
2023-03-23 22:15:27 -04:00
Bruno Victal
72ef1bef07
services: Add fstrim-service-type.
* gnu/services/linux.scm (fstrim-service-type): New variable.
(fstrim-mcron-job, serialize-fstrim-configuration)
(fstrim-serialize-list-of-strings, fstrim-serialize-boolean): New procedure.
(mcron-time?): New predicate.
(fstrim-configuration): New record.
* doc/guix.texi (Linux Services): Document new fstrim-service-type.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-22 10:09:03 -04:00
Karl Hallsby
306bd7b8b9
doc: Document how to use specific package outputs in code.
* doc/guix.texi (Packages with Multiple Outputs): Provide an example of
selecting a package's output in Scheme.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 16:19:12 -04:00
jgart
4e9f914680
scripts: refresh: Add -T option.
* doc/guix.texi (Invoking guix refresh): Document the -T option.
* guix/scripts/refresh.scm (%options): Add the -T flag.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:56:52 -04:00
Bruno Victal
c88582a674
services: mcron: Add log-file and date-format fields.
* doc/guix.texi (Scheduled Job Execution): Document it.
* gnu/services/mcron.scm (mcron-configuration)[log-file, date-format]: New field.
(mcron-shepherd-services): Add log-file and date-format support.
Use file-append instead of string-append.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:51:24 -04:00
Bruno Victal
6f4fd8f5b8
services: mcron: Restyle mcron-configuration.
* doc/guix.texi (Scheduled Job Execution): Sync doc with source.
* gnu/services/mcron.scm (mcron-configuration): Restyle.
[log-format]: Fix incorrectly formatted text.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:31:22 -04:00
Bruno Victal
9137df26bb
doc: Clarify special-files-service-type expected value.
* doc/guix.texi (Services, Base Services): Clarify special-files-service-type
expected value.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 10:14:28 -04:00
Andreas Enge
ccb62d8feb
Merge remote-tracking branch 'origin/master' into core-updates 2023-03-20 18:49:06 +01:00
Bruno Victal
20aa4c30fb
services: dict: Deprecate 'dicod-service' procedure.
* doc/guix.texi (Miscellaneous Services): Remove 'dicod-service' mention.
* gnu/services/dict.scm (dicod-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17 23:20:36 +01:00
conses
511ae8325d
home: services: Add home-xmodmap-service-type.
* gnu/home/services/desktop.scm (home-xmodmap-service-type)
(home-xmodmap-configuration): New variables;
(serialize-xmodmap-configuration)
(xmodmap-shepherd-service): New procedures;
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17 23:20:36 +01:00
Maxim Cournoyer
fd4f91dea6
doc: Use 'mount --rbind' for chroot instructions.
This was reported by a user in #guix.  It's at least necessary for /sys, to
have the /sys/firmware/efivars location available insinde the chroot when
using an UEFI system.

* doc/guix.texi (Chrooting into an existing system): Replace --bind argument
with --rbind

Suggested-by: Josselin Poiret <dev@jpoiret.xyz>
2023-03-17 10:57:08 -04:00
Jan (janneke) Nieuwenhuizen
2714c9ef2d
home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.
* gnu/home/services/ssh.scm (home-ssh-agent-environment-variables): New
procedure.
(home-ssh-agent-service-type): Use it as ahome-environment-service type
extension.
* doc/guix.texi (Secure Shell): Remove advice about, and examples of setting
SSH_AUTH_SOCK.
2023-03-17 12:44:33 +01:00
Jan (janneke) Nieuwenhuizen
b68d4118e7
doc: Use @defvar instead of @defvr for Scheme variables.
Suggested by mirai via IRC, see also

    https://issues.guix.gnu.org/60634

* doc/guix.texi (Build Systems) (Secure Shell) (Messaging Home
Services) (Media Home Services): Use @defvar instead of @defvr for Scheme
variables.
2023-03-16 18:50:01 +01:00
Ludovic Courtès
be7e2bf7eb
home: services: ssh-agent: Remove host-side use of (shepherd support).
This is a followup to 2c2f382e75, which
inadvertently pulled in (shepherd support) on the host side.

* gnu/home/services/ssh.scm (<home-ssh-agent-configuration>)[socket-directory]:
Change value to a gexp.
(home-ssh-agent-services): Change 'socket-file' and 'command' to a
gexp.  Add 'modules' field to 'shepherd-service'.
* doc/guix.texi (Secure Shell): Adjust accordingly.
2023-03-16 17:09:46 +01:00
Jan (janneke) Nieuwenhuizen
70056b1b2b
gnu: home: services: Add home-kodi-service-type.
* gnu/home/services/media.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Media Home Services): Document it in new subsection.
2023-03-16 14:33:16 +01:00
Jan (janneke) Nieuwenhuizen
193f547ca3
gnu: home: services: Add home-znc-service-type.
* gnu/home/services/messaging.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Likewise.
* doc/guix.texi (Messaging Home Services): Document it in new subsection.
2023-03-16 14:32:50 +01:00
Jan (janneke) Nieuwenhuizen
2c2f382e75
gnu: home: services: Add home-ssh-agent-service-type.
* gnu/home/services/ssh.scm: (<home-ssh-agent-configuration>): New type.
(home-ssh-agent-services): New procedure.
(home-ssh-agent-service-type): New variable.
* doc/guix.texi (Secure Shell): Document it.
2023-03-16 14:26:34 +01:00
Simon Tournier
5864fc3380
doc: Document 'shebang' for 'guix shell'.
* doc/guix.texi (Invoking guix shell): Add a note mentioning how to use
'shebang'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-03-16 12:37:03 +01:00
conses
837e179e00
home: services: Add home-unclutter-service-type.
* gnu/home/services/desktop.scm (home-unclutter-configuration)
(home-unclutter-service-type): New variables;
(home-unclutter-shepherd-service): New procedure;
* doc/guix.texi (Desktop Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-16 12:37:03 +01:00
Bruno Victal
8304979415
doc: Use @defmac and @defspec for macros.
* doc/guix.texi (package Reference, Defining Package Variants)
(Build Utilities, The Store Monad, G-Expressions, operating-system Reference)
(Service Reference, Complex Configurations): Use @defmac and @defspec for macros.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Bruno Victal
3c40dfe285
doc: Use @defun for procedures.
* doc/guix.texi (Inferiors, Defining Packages, package Reference)
(origin Reference, Defining Package Variants, Writing Manifests)
(Build Utilities, Search Paths, The Store, Derivations, The Store Monad)
(G-Expressions, File Systems, Keyboard Layout, Base Services, X Window)
(Desktop Services, File-Sharing Services, Web Services, Virtualization Services)
(Version Control Services, Miscellaneous Services, Initial RAM Disk)
(Bootloader Configuration, Service Reference, Shepherd Services)
(Complex Configurations): Use @defun for procedures.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Bruno Victal
dbfaca42a0
doc: Fix incorrect @deffn usage for data types.
* doc/guix.texi (Web Services): Fix incorrect @deffn usage for data types.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Bruno Victal
eec5b16d70
doc: Fix incorrect @deffn usage for service-types.
* doc/guix.texi (Networking Services): Fix incorrect @deffn usage for service-types.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:35 +01:00
Ludovic Courtès
eee95b5a87
packages: 'package-input-rewriting/spec' ignores hidden packages.
The primary motivation is to support things like:

  guix build guix --with-input=guile=guile-next

without triggering a rebuild of (@@ (gnu packages commencement)
guile-final) and similar things.

It is also consistent with package name resolution on the command line:
a package that cannot be named cannot be replaced.

* guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is
hidden, return it as-is.
* tests/packages.scm ("package-input-rewriting/spec, hidden package"):
New test.
* doc/guix.texi (Defining Package Variants): Update.
(Package Transformation Options): Update '--with-input' example.
2023-03-13 15:08:33 +01:00
Bruno Victal
266a9f9d97
doc: %desktop-services: Fix incorrect description.
The Name Service Switch service is configured in operating-system.

* doc/guix.texi (Desktop Services): Fix incorrect description for %desktop-services.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:32 +01:00
Sergey Trofimov
d1edb26388
services: dns: Extend dnsmasq-configuration.
* gnu/service/dns.scm: (<dnsmasq-configuration>)[servers-file]: Add.
(<dnsmasq-configuration>)[tftp-secure?]: Fix typo in parameter name.
* doc/guix.texi: Document (<dnsmasq-configuration>)[servers-file].

Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-03-13 17:06:19 +04:00
Ludovic Courtès
f437b11180
doc: Add missing space after @deftp.
* doc/guix.texi (Samba Services): Add missing space before brace.
2023-03-10 17:40:50 +01:00
Hugo Buddelmeijer
bc876cf08e
doc: Sending-a-Patch-Series: Fix URL.
* doc/contributing.texi (Sending a Patch Series): Fix URL for issue tracker.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:58 +01:00
Bruno Victal
5627c73a9e
services: 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>
2023-03-10 14:49:58 +01:00
Bruno Victal
17c80118fa
services: connman: Deprecate 'iwd?' field.
* gnu/services/networking.scm (<connman-configuration>)
[iwd?]: Use helper to warn deprecated field.
(connman-shepherd-service): Make iwd? a local variable independent from
the deprecated field.
* doc/guix.texi (Networking Setup): Remove mention of iwd? field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Bruno Victal
269871d18e
services: connman: Add 'shepherd-requirement' field.
* gnu/services/networking.scm (<connman-configuration>)
[shepherd-requirement]: New field.
(connman-shepherd-service): Honor it.
(connman-configuration-shepherd-requirement): Export accessor.
* doc/guix.texi (Networking Setup): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Bruno Victal
1e1b3ec012
services: network-manager: Deprecate 'iwd?' field.
* gnu/services/networking.scm (warn-iwd?-field-deprecation): New procedure,
helper for deprecated field.
(<network-manager-configuration>)[iwd?]: Use helper to warn deprecated field.
(network-manager-shepherd-service): Make iwd? a local variable independent
from the deprecated field.
* doc/guix.texi (Networking Setup): Remove mention of iwd? field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Bruno Victal
7777d767a4
services: network-manager: Add 'shepherd-requirement' field.
Note: This also makes wpa-supplicant an optional requirement.

* gnu/services/networking.scm (<network-manager-configuration>)
[shepherd-requirement]: New field.
(network-manager-shepherd-service): Honor it.
(network-manager-configuration-shepherd-requirement): Export accessor.
* doc/guix.texi (Networking Setup): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:57 +01:00
Ludovic Courtès
674d893316
home: services: Add 'pulseaudio-rtp-sink' and 'pulseaudio-rtp-source'.
* gnu/home/services/sound.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Sound Home Services): New section.
2023-03-05 23:06:55 +01:00
Leo Famulari
da5ba28359
Fix bogus copyright year update.
This is a followup to commit a66438e497.

* doc/guix.texi: Ahem.
2023-03-05 15:07:17 -05:00
Leo Famulari
a66438e497
doc: Give advice to contributors about communicating with reviewers.
* doc/contributing.texi (Submitting Patches): Give advice.
2023-03-05 14:58:56 -05:00
Christopher Baines
7df09ee0ab
Merge remote-tracking branch 'savannah/master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/autotools.scm
	gnu/packages/cmake.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/haskell.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/samba.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/wxwidgets.scm
2023-03-02 10:55:08 +00:00
Ricardo Wurmus
d7f9eb0e87
gnu: sugar-desktop-configuration: Allow specification of activities.
* 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-28 23:17:22 +01:00
Ricardo Wurmus
6118c1e228
services: Add sugar-desktop-service-type.
* 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-28 18:12:19 +01:00
Bruno Victal
2799ad4423
services: dbus: Deprecate 'dbus-service' procedure.
* doc/guix.texi (Desktop Services): Replace with 'dbus-root-service-type'.
Document dbus-configuration.
* gnu/services/dbus.scm (dbus-service): Define with 'define-deprecated'.
* gnu/services/desktop.scm (desktop-services-for-system): Replace with
dbus-root-service-type.
* gnu/system/install.scm (%installation-services): Ditto.
* gnu/tests/base.scm (%avahi-os): Ditto.
* gnu/tests/docker.scm (%docker-os): Ditto.
* gnu/tests/lightdm.scm (minimal-desktop-services): Ditto.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal
7c23dab85c
services: spice: Deprecate 'spice-vdagent-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'spice-vdagent-service' with
'spice-vdagent-service-type'. Document <spice-vdagent-configuration>.
* gnu/services/spice.scm (spice-vdagent-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:35 +01:00
Bruno Victal
e24555234a
services: lirc: Deprecate 'lirc-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'lirc-service' with 'lirc-service-type'.
Document <lirc-configuration>.
* gnu/services/lirc.scm (<lirc-configuration>): Set default values based on
the arguments from the now deprecated 'lirc-service' procedure.
(lirc-service-type): Set default value.
(lirc-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
eddd9b1240
services: vpn: Deprecate 'openvpn-client-service' & 'openvpn-server-service' procedures.
* doc/guix.texi (VPN Services): Replace 'openvpn-client-service' & 'openvpn-server-service' procedures
with their service-type counterparts.
* gnu/services/vpn.scm (openvpn-client-service, openvpn-server-service): Deprecate procedure.
(openvpn-server-service-type, openvpn-client-service-type): Set default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
c6cbce9ad8
services: mail: Deprecate 'dovecot-service' procedure.
* doc/guix.texi (Mail Services): Replace 'dovecot-service' with 'dovecot-service-type'.
* gnu/services/mail.scm (dovecot-service-type): Set default value.
(dovecot-service): Deprecate procedure.
* gnu/tests/mail.scm (%dovecot-os): Use dovecot-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
be1435d668
services: desktop: Deprecate 'bluetooth-service' procedure.
* doc/guix.texi (Desktop Services): Remove mention of 'bluetooth-service'.
* gnu/services/desktop.scm (bluetooth-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
ae0975332c
services: desktop: Deprecate 'geoclue-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'geoclue-service' with 'geoclue-service-type'.
* gnu/services/desktop.scm (<geoclue-configuration>): Set default values
based on the values from the now deprecated geoclue-service procedure.
(geoclue-service): Deprecate procedure.
(desktop-services-for-system): Use geoclue-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
e8f161ea11
services: desktop: Deprecate 'udisks-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'udisks-service' with 'udisks-service-type'.
Document <udisks-configuration>.
* gnu/packages/kde-multimedia.scm (k3b)[description]: Replace 'udisks-service' with 'udisks-service-type'.
* gnu/services/desktop.scm (udisks-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-03 17:55:34 +01:00
Bruno Victal
ffc5d42fc2
services: dbus: Deprecate 'polkit-service' procedure.
* doc/guix.texi (Desktop Services): Replace 'polkit-service' with 'polkit-service-type'.
* gnu/services/dbus.scm (polkit-service): Deprecate procedure.
* gnu/tests/docker.scm (%docker-os): Use polkit-service-type.
* gnu/tests/virtualization.scm (%libvirt-os): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:34 +01:00
Bruno Victal
c3dc13e29c
services: desktop: Deprecate 'accountsservice-service' procedure.
* 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-03 17:55:33 +01:00
Bruno Victal
00767d967d
services: desktop: Deprecate 'elogind-service' procedure.
* 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-03-03 17:55:33 +01:00
Bruno Victal
3b2e88011a
services: ssh: Deprecate 'dropbear-service' procedure.
* doc/guix.texi (Networking Services): Replace 'dropbear-service' with
'dropbear-service-type'.
* gnu/services/ssh.scm (dropbear-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
0e21015fd2
services: ssh: Deprecate 'lsh-service' procedure.
* doc/guix.texi (Networking Services): Remove mention of lsh-service.
Document lsh-service-type and lsh-service-configuration.
* gnu/services/ssh.scm (<lsh-configuration>): Set default values based
on the now deprecated 'lsh-service' procedure.
(lsh-service-type): Set default value.
(lsh-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
31b1e22926
services: base: Deprecate 'rngd-service' procedure.
* doc/guix.texi (Base Services): Replace rngd-service with rngd-service-type.
Document <rngd-configuration>.
* gnu/services/base.scm (<rngd-configuration>): Set default values from
the values in the now deprecated 'rngd-service' procedure.
(rngd-service): Deprecate procedure.
(rngd-service-type): Set default value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:33 +01:00
Bruno Victal
2e7516168e
services: base: Deprecate 'udev-service' procedure.
* doc/guix.texi (Base Services): Replace udev-service with udev-service-type.
Document <udev-configuration>. Use @defun @-commands for udev-rules-service,
udev-rule and file->udev-rule.
* gnu/services/base.scm (udev-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use udev-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
6edacf2491
services: base: Deprecate 'syslog-service' procedure.
* doc/guix.texi (Base Services): Replace syslog-service with syslog-service-type.
* gnu/services/base.scm (%default-syslog.conf): Place before <syslog-configuration>.
(syslog-service-type): Set default value.
(syslog-service): Deprecate procedure.
(%base-services): Use syslog-service-type.
* gnu/system/hurd.scm (%base-services/hurd): Ditto.
* gnu/system/install.scm (%installation-services): Ditto.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
98e9dc6ab7
services: base: Deprecate 'nscd-service' procedure.
* doc/guix.texi (Application Setup): Compress @cindex entries.
(Base Services): Compress @cindex entries. Delete %nscd-default-configuration.
Replace 'nscd-service' with 'nscd-service-type'.
* gnu/services/base.scm (%nscd-default-configuration): Deprecate variable.
(nscd-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use nscd-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
5bd5e77281
doc: kmscon-service-type: Use @defvar @-command.
* doc/guix.texi (Base Services): Use @defvar @-command for kmscon-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
4892c0186e
services: base: Deprecate 'agetty-service' procedure.
* doc/guix.texi (Base Services): Replace agetty-service with
agetty-service-type.
* gnu/services/base.scm (agetty-service): Deprecate procedure.
* gnu/system/examples/beaglebone-black.tmpl
(operating-system)[services]: Use agetty-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
ad665a38fc
services: base: Deprecate 'mingetty-service' procedure.
* doc/guix.texi (Base Services): Replace mingetty-service with
mingetty-service-type.
* gnu/services/base.scm (mingetty-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
6dd635b4cf
services: base: Deprecate 'login-service' procedure.
* doc/guix.texi (Base Services): Replace with login-service-type.
* gnu/services/base.scm (login-service): Deprecate procedure.
* gnu/system/install.scm (%installation-services): Use login-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:32 +01:00
Bruno Victal
cb00e600ff
services: base: Deprecate 'host-name-service' procedure.
* doc/guix.texi (operating-system Reference): Reorder cross-reference.
Add an anchor to be used ...
(Base services): ... here by host-name-service-type. Document
host-name-service-type.
* gnu/services/base.scm: Export host-name-service-type.
(host-name-service): Deprecate procedure.
* gnu/system.scm (operating-system-default-essential-services): Use
host-name-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03 17:55:31 +01:00
André Batista
c756c62cfd
doc: Explain how to use local guix repositories.
* doc/guix.texi (Using a Custom Guix Channel): Add note and example
on how to exempt a local guix repository from git ownership checks.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-23 16:35:15 -05:00
Ludovic Courtès
810788b550
doc: Further clarify documentation of 'host' and 'hosts-service-type'.
* doc/guix.texi (Base Services): Use docstring of 'host' to document
it and remove @deftp.  Introduce example.  Fix typos in file name.
2023-02-23 16:31:36 +01:00
Ludovic Courtès
35e64a8793
services: hosts: Do not export '%host'.
This was not meant to be exported.

* gnu/services/base.scm (%host): Do not export.
* doc/guix.texi (Base Services): Remove mention.
2023-02-23 16:31:36 +01:00
Bruno Victal
4372abfb0f
doc: hosts-service-type: Improve documentation.
* doc/guix.texi (Base Services): Improve hosts-service-type documentation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-23 16:31:36 +01:00
Bruno Victal
ce02b23bb9
doc: hosts-service-type: Relocate to Base Services.
hosts-service-type is under (gnu services base)

* doc/guix.texi: Merge duplicated copyright lines.
(Service Reference): Move hosts-service-type to ...
(Base Services): ... here.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-23 16:31:36 +01:00
Maxim Cournoyer
598f4c509b
pack: Add RPM format.
* guix/rpm.scm: New file.
* guix/scripts/pack.scm (rpm-archive): New procedure.
(%formats): Register it.
(show-formats): Add it.
(guix-pack): Register supported extra-options for the rpm format.
* tests/pack.scm (rpm-for-tests): New variable.
("rpm archive can be installed/uninstalled"): New test.
* tests/rpm.scm: New test.
* doc/guix.texi (Invoking guix pack): Document it.
2023-02-19 21:13:23 -05:00
Pierre Langlois
dbd4d2d070
build-system: Add tree-sitter-build-system.
* guix/build-system/tree-sitter.scm: New module.
* guix/build/tree-sitter-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Document it.

Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-02-12 11:32:20 +04:00
Remco van 't Veer
fe554337de
doc: Fix documentation typo.
* doc/guix.texi (Service Reference): Fix typo.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2023-02-11 13:07:05 +01:00
Bruno Victal
8a2c2eaa90
services: lightdm: Sync documentation with source.
Table entry @item nodes cannot span multiple lines.

* gnu/services/lightdm.scm
(lightdm-gtk-greeter-configuration): Fix cursor-theme-size description.
* doc/guix.texi (lightdm-service-type): Sync with source.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-02-08 22:40:40 -05:00
Bruno Victal
b0e18601db
services: Add block-facebook-hosts-service-type.
Deprecates %facebook-host-aliases in favour of using
hosts-service-type service extensions.

* gnu/services/networking.scm
(block-facebook-hosts-service-type): New variable.
(%facebook-host-aliases): Deprecate variable.
* doc/guix.texi: Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:54 +01:00
Bruno Victal
802ea1f3a4
system: Deprecate hosts-file.
* gnu/system.scm (operating-system-hosts-file): Deprecate procedure.
(warn-hosts-file-field-deprecation): New procedure, helper for
deprecated variable.
(operating-system)[hosts-file]: Use helper to warn deprecated field.
(local-host-aliases): Mark as deprecated.
(local-host-entries): New procedure.
(operating-system-default-essential-services,
hurd-default-essential-services): Use hosts-service-type.  Use
'%operating-system-hosts-file' and 'local-host-entries'.
(default-/etc/hosts): Remove procedure.
(operating-system-etc-service): Remove hosts file.
* doc/guix.texi (operating-system Reference)
(Networking Services) (Virtualization Services): Rewrite documentation
entries to use hosts-service-type.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:47 +01:00
Bruno Victal
22dd558c70
services: Add hosts-service-type.
* gnu/services/base.scm (<host>): New record type.
(host): New procedure.
(hosts-service-type): New variable.
* doc/guix.texi (Service Reference): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09 01:07:39 +01:00
Bruno Victal
139c9a53cb
services: Add mympd-service-type.
* gnu/services/audio.scm (mympd-service-type): New variable.
* gnu/tests/audio.scm (%test-mympd): New variable.
* doc/guix.texi: Document it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:44 +01:00
Bruno Victal
637a9c3b26
services: mpd: Do not hardcode environment variables.
Services should not expect for XDG_RUNTIME_DIR to be set.
Inferring from the past comment, this seemed to resolve an issue when
the service was launched with an _interactive_ user-account,
which tends to have this variable set by the login-manager.

This is not the case for system accounts and setting this variable
results in PulseAudio (launched by the same system user) failing to start
since it attempts to use a nonexistent directory.

Ideally, this service should have a home-service counterpart but the old
behavior can be emulated by setting the environment-variables field to:

(environment-variables
  (list
    (string-append "XDG_RUNTIME_DIR=/run/user/"
                   (number->string (passwd:uid (getpwnam "myuser"))))))

* gnu/services/audio.scm
(mpd-configuration)[environment-variables]: New field.
(mpd-shepherd-service)[start]: Use new field.
* doc/guix.texi (Audio Services)[Music Player Daemon]: Document it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Bruno Victal
5c5f0fc113
services: mpd: Refactor MPD service.
Refactor mpd-service-type to support additional mpd.conf directives
and move activation-service-extension into service constructor.

* gnu/services/audio.scm (mpd-plugin, mpd-partition): New records.

(mpd-serialize-boolean): Alias to and integrate logic into...
(mpd-serialize-field): ... this.
(mpd-serialize-list-of-string): New variable.

(mpd-plugin?, mpd-partition?, list-of-string?, list-of-symbol?)
(list-of-mpd-plugin?, list-of-mpd-partition?)
(list-of-mpd-plugin-or-output?, port?): New variables.

(mpd-file-name, mpd-service-activation): Remove variables.

(mpd-configuration)
[package, group, shepherd-requirement, log-file, log-level, music-directory]
[playlist-directory, endpoints, database, partitions, neighbors, inputs]
[archive-plugins, input-cache-size, decoders, resampler, filters]
[playlist-plugins, extra-options]: New fields.
[music-dir, playlist-dir, address]: Deprecate shorthand fields.
[db-file, state-file, sticker-file, port, outputs]: Change admissible type.

(mpd-shepherd-service)
[actions]: New shepherd actions: 'reopen' and 'configuration'.
[requirement]: Splice with 'shepherd-requirement' field.
[start]: Use 'package' field. Remove #:log-file parameter.
Move activation-service extension into constructor.

(mpd-accounts): Honor user and group names from configuration.
(mpd-log-rotation): New procedure.
(mpd-service-type)[extensions]: Add rottlog-service-type extension.
Remove activation-service-type extension.

(mpd-output-name, mpd-output-type, mpd-output-enabled?, mpd-output-format)
(mpd-output-tags?, mpd-output-always-on?, mpd-output-mixer-type)
(mpd-output-replay-gain-handler, mpd-output-extra-options)
(mpd-plugin-plugin, mpd-plugin-name, mpd-plugin-enabled?)
(mpd-plugin-extra-options)
(mpd-partition-name, mpd-partition-extra-options)
(mpd-configuration-package, mpd-configuration-user)
(mpd-configuration-group, mpd-configuration-shepherd-requirement)
(mpd-configuration-log-file, mpd-configuration-log-level)
(mpd-configuration-music-directory, mpd-configuration-music-dir)
(mpd-configuration-playlist-directory, mpd-configuration-playlist-dir)
(mpd-configuration-db-file, mpd-configuration-state-file)
(mpd-configuration-sticker-file, mpd-configuration-default-port)
(mpd-configuration-endpoints, mpd-configuration-address)
(mpd-configuration-database, mpd-configuration-partitions)
(mpd-configuration-neighbors, mpd-configuration-inputs)
(mpd-configuration-archive-plugins, mpd-configuration-input-cache-size)
(mpd-configuration-decoders, mpd-configuration-resampler)
(mpd-configuration-filters, mpd-configuration-outputs)
(mpd-configuration-playlist-plugins, mpd-configuration-extra-options): Export accessors.

* doc/guix.texi (Audio Services)[Music Player Daemon]: Update documentation.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
Christopher Baines
9a5533c653
services: nar-herder: Add cached compression support.
* gnu/services/guix.scm (<nar-herder-cached-compression-configuration>): New
record type.
(nar-herder-configuration-cached-compressions,
nar-herder-configuration-cached-compression-min-uses,
nar-herder-configuration-cached-compression-workers,
nar-herder-configuration-cached-compression-nar-source,
nar-herder-cached-compression-configuration,
nar-herder-cached-compression-configuration?,
nar-herder-cached-compression-configuration-type,
nar-herder-cached-compression-configuration-level,
nar-herder-cached-compression-configuration-directory,
nar-herder-cached-compression-configuration-directory-max-size): New
procedures.
* doc/guix.texi (Guix Services): Document this.
2023-02-03 15:18:44 +01:00
Giacomo Leidi
f85865a05a
home: services: fontutils: Add service value.
* gnu/home/services/fontutils.scm (add-fontconfig-config-file): Add
support for multiple paths;
(home-fontconfig-service-type): Honor it;
* doc/guix.texi (Fonts Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-01-31 23:08:38 +01:00
Efraim Flashner
4cf1acc7f3
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts:
	doc/guix.texi
	gnu/local.mk
	gnu/packages/admin.scm
	gnu/packages/base.scm
	gnu/packages/chromium.scm
	gnu/packages/compression.scm
	gnu/packages/databases.scm
	gnu/packages/diffoscope.scm
	gnu/packages/freedesktop.scm
	gnu/packages/gnome.scm
	gnu/packages/gnupg.scm
	gnu/packages/guile.scm
	gnu/packages/inkscape.scm
	gnu/packages/llvm.scm
	gnu/packages/openldap.scm
	gnu/packages/pciutils.scm
	gnu/packages/ruby.scm
	gnu/packages/samba.scm
	gnu/packages/sqlite.scm
	gnu/packages/statistics.scm
	gnu/packages/syndication.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
	gnu/packages/xml.scm
	guix/build-system/copy.scm
	guix/scripts/home.scm
2023-01-30 12:39:40 +02:00
Bruno Victal
f912d5c740
doc: Substitute @deffn usage with @defvar for Scheme variables.
* doc/guix.texi (Base Services) (Networking Setup)
(Networking Services) (Printing Services) (Desktop Services)
(Sound Services) (Database Services) (Mail Services) (Messaging Services)
(File-Sharing Services) (Web Services) (DNS Services)
(Power Management Services) (Virtualization Services) (Linux Services)
(Miscellaneous Services): Substitute @deffn usage with @defvar for Scheme variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-23 23:51:33 +01:00
Bruno Victal
f88e855f9f
doc: Use @defvar instead of @defvr for Scheme variables.
* doc/guix.texi (Build Systems) (Search Paths) (The Store)
(The Store Monad) (File Systems) (Mapped Devices) (User Accounts)
(Locales) (Base Services) (Scheduled Job Execution) (Log Rotation)
(Networking Setup) (Networking Services) (Unattended Upgrades)
(X Window) (Desktop Services) (Database Services) (Messaging Services)
(Kerberos Services) (Web Services) (Certificate Services) (VPN Services)
(Network File System) (Samba Services) (Power Management Services)
(Audio Services) (Virtualization Services) (Linux Services) (Hurd Services)
(Miscellaneous Services) (Setuid Programs) (Name Service Switch)
(Initial RAM Disk) (Service Reference) (Shepherd Services)
(Essential Home Services) (Mcron Home Service)
(Power Management Home Services) (Shepherd Home Service) (Secure Shell)
(Desktop Home Services) (Guix Home Services) (Supported Platforms)
(Instantiate an Image) (image-type Reference): Use @defvar instead of @defvr for Scheme variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-23 23:51:02 +01:00
Bruno Victal
d2454e91b3
doc: Fix incorrect use of @defvar.
* doc/guix.texi (Monitoring Services) (VNC Services)
(Samba Services) (Game Services) (PAM Mount Service)
(Guix Services): Fix incorrect use of @defvar.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-23 23:49:45 +01:00
Ludovic Courtès
5aef6a55a2
doc: Document the 'release-monitoring-url' package property.
* doc/guix.texi (Invoking guix refresh): Mention the
'release-monitoring-url' property.
2023-01-23 23:23:08 +01:00
Ludovic Courtès
6ffeef92e6
services: hpcguix-web: Provide default values.
* gnu/services/web.scm (<hpcguix-web-configuration>)[specs]: Default to #f.
(hpcguix-web-shepherd-service): Do not pass '--config' when SPECS is #f.
(hpcguix-web-service-type)[default-value]: New field.
* doc/guix.texi (Web Services): Adjust accordingly.
2023-01-22 18:12:09 +01:00
Ludovic Courtès
e1dbac04c3
gnu: hpcguix-web: Update to 0.3.0.
* gnu/packages/web.scm (hpcguix-web): Update to 0.3.0.
[inputs]: Add GUILE-SYNTAX-HIGHLIGHT.
[arguments]: In 'wrap-program' phase, take guile-syntax-highlight into
account.
* gnu/tests/web.scm (%hpcguix-web-specs): Remove 'define'.
* doc/guix.texi (Web Services): Adjust accordingly.
2023-01-22 18:12:09 +01:00
Maxim Cournoyer
2491a60404
doc: Fix Xvnc service example.
Reported by bost on #guix (thank you!)

* doc/guix.texi (VNC Services): Add the missing host argument in the SSH
command example.
2023-01-20 12:32:34 -05:00
Maxim Cournoyer
8221cb6d2a
doc: Fix typo.
* doc/guix.texi (Cross-Compilation): Replace "penaly" with "penalty".
Replace "few users" with "fewer users".
2023-01-18 21:40:07 -05:00
Ludovic Courtès
79b11cafcf
doc: Use the right cross-reference command.
* doc/guix.texi (Package Transformation Options): Use @pxref, not @ref.
2023-01-17 16:05:20 +01:00
Declan Tsien
0f20fc4dd9
services: connman: Add iwd backend support.
* gnu/services/networking.scm (connman-configuration)[iwd?]: New field.
(connman-shepherd-service): Add iwd? logic, remove wpa-supplicant requirement.
* doc/guix.texi: Add information about connman-configuration iwd? option.

Co-authored-by: Andrew Tropin <andrew@trop.in>
Signed-off-by: Andrew Tropin <andrew@trop.in>
2023-01-16 20:59:30 +04:00
Maxim Cournoyer
a472aa1bb0
doc: Fix erroneous copyright line.
* doc/guix.texi: Fix copyright line for Antero Mejr.
2023-01-16 09:02:40 -05:00
Antero Mejr
93e683a952
scripts: repl: Add -i, --interactive flag.
* guix/scripts/repl.scm (%options): Add -i, --interactive flag.
(guix-repl): Honor -i, --interactive flag.
* doc/guix.texi (Invoking guix repl): Add documentation for -i, --interactive.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-16 09:00:03 -05:00
Antero Mejr
abd9569571
scripts: repl: Add --list-types flag.
* guix/scripts/repl.scm (%options): Add --list-types.
* doc/guix.texi (Invoking guix repl): Add documentation for --list-types.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-16 08:50:05 -05:00
Ludovic Courtès
137b91f03b
transformations: Add '--with-version'.
This is a followup to 8aeccc6240.

* guix/transformations.scm (package-with-upstream-version): New procedure.
(transform-package-latest)[package-with-latest-upstream]: Remove.
Use 'package-with-upstream-version' instead.
(transform-package-version): New procedure.
(%transformations, %transformation-options)
(show-transformation-options-help/detailed): Add '-with-version'.
* tests/transformations.scm ("options->transformation, with-version"):
New test.
* doc/guix.texi (Package Transformation Options): Document '--with-version'.
(Defining Package Variants): Mention it.
2023-01-16 13:41:27 +01:00
Jelle Licht
a5b914156e
services: greetd: Add 'source-profile?' configuration field.
* gnu/services/base.scm (<greetd-terminal-configuration>)[source-profile?]:
New field.
(make-greetd-terminal-configuration-file): Serialize new field to
configuration file.
* doc/guix.texi (Base Services): Document it.
2023-01-15 20:30:12 +01:00
David Thompson
202ac747e6
gnu: services: Add joycond-service.
* gnu/services/games.scm (joycond-configuration): New configuration type.
(joycond-shepherd-service): New procedure.
(joycond-service-type): New variable.
* doc/guix.texi (Game Services): Document it.
2023-01-14 07:53:21 -05:00
Leo Famulari
9aa3b6eb6d
doc: Clarify how to use the #:go key of go-build-system.
This is a followup to commit 9ec62d1b9c.

* doc/guix.texi (Build Systems): Clarify the '#:go' key.
2023-01-11 20:20:05 -05:00
Leo Famulari
9ec62d1b9c
doc: Document the #:go key of the Go build system.
* doc/guix.texi (Build Systems): Document '#:go'.
2023-01-11 20:17:37 -05:00
(
09cd488c97
doc: contributing: Note '-v REVISION' bug in 'git send-email'.
* doc/contributing.texi ("Submitting Patches")["Sending a Patch Series"]:
Note that a bug in 'git send-email' means '-v REVISION' (with a
space) will not work.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-01-11 10:31:58 +00:00
Christopher Baines
9aa2b74198
doc: contributing: Tweak the Commit Policy.
Add more examples of when it can be appropriate to push changes without
review, as I think this can be appropriate in the case of trivial changes (as
mentioned before), but also non-trivial fixes.

No longer suggest pushing simple new packages or package upgrades (that don't
cause lots of rebuilds) without sending to guix-patches. Now there's some
automation for testing changes sent to guix-patches, sending changes there
before pushing can mean that more rigorous testing takes place and help speed
up substitutes becoming available. This is true, even if no human review takes
place.

Only suggest waiting one week for review for simpler changes, wait two weeks
for more significant changes.

Also, reorder some of the information in this section so it's grouped together
better.

* doc/contributing.texi (Commit Policy): Tweak.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-01-11 10:31:55 +00:00
jgart
65d24b9a24
doc: Fix documentation typo.
* doc/guix.texi (VNC Services): Fix typo.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-10 11:12:11 -05:00
Giacomo Leidi
5f63811032
services: unattended-upgrade: Add 'operating-system-expression' field.
* gnu/services/admin.scm (<unattended-upgrade-configuration>)
[operating-system-expression]: New field.
(unattended-upgrade-mcron-jobs): Honor it.
* doc/guix.texi (Unattended Upgrades): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-01-10 11:49:14 +01:00
Bruno Victal
22e9b01bda
services: git-daemon: Deprecate 'git-daemon-service' procedure.
* gnu/services/version-control.scm
(git-daemon-service): Define with 'define-deprecated'
* doc/guix.texi (Version Control Services): Replace with
'git-daemon-service-type'

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-10 11:49:13 +01:00
Tobias Geerinckx-Rice
e4673b45d3
doc: Fix <openntpd-configuration> openntpd default.
* doc/guix.texi (Networking Services): <openntpd-configuration>'s
openntpd field takes a package: it does not default to a FILE-APPEND
call.
2023-01-08 01:00:01 +01:00
Ludovic Courtès
47c1de22df
doc: cookbook: Add "Installing Guix on a Cluster" chapter.
This is derived from the article at
<https://hpc.guix.info/blog/2017/11/installing-guix-on-a-cluster/>, with
clarifications and updates.

* doc/guix-cookbook.texi (Installing Guix on a Cluster): New chapter.
2023-01-09 17:40:53 +01:00
Mathieu Othacehe
8b314efd50
services: base: Add environment support to guix-configuration.
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
(guix-shepherd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
2023-01-09 17:15:28 +01:00
Mathieu Othacehe
699d104146
Revert "services: base: Add extra-env support to guix-configuration."
This reverts commit 78a9b4f996. It was pushed by
error, while not reviewed yet.
2023-01-07 20:14:24 +01:00
Mathieu Othacehe
78a9b4f996
services: base: Add extra-env support to guix-configuration.
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
(guix-shepherd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
2023-01-07 19:41:51 +01:00
Ludovic Courtès
efb0f8950f
doc: cookbook: Remove 404 link to mitpress.mit.edu.
* doc/guix-cookbook.texi (A Scheme Crash Course): Remove 404 link to
mitpress.mit.edu.
2023-01-06 23:46:31 +01:00
Ivan Vilata-i-Balaguer
c9b383fb38
doc: Introduce using swap space for hibernation, with examples.
* doc/guix.texi (Swap Space): Add a concise introduction to hibernation and
specifying a swap space to the kernel to make resume work.  Mention space
requirements and the need of an offset for swap files.  Include a trivial
example on how to set up a mapped swap volume for hibernation and another one
for a swap file, including how to compute the file offset.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-05 23:02:45 +01:00
Ludovic Courtès
73684dc90e
home: services: environment-variables: Add support for literal strings.
* gnu/home/services.scm (<literal-string>): New record type.
(environment-variable-shell-definitions): Split 'shell-quote' into
'quote-string' and 'shell-double-quote'.  Add 'shell-single-quote'.
Add clause for 'literal-string' records.
* tests/guix-home.sh: Test it.
* doc/guix.texi (Essential Home Services): Document it.
2023-01-05 14:20:23 +01:00
Bruno Victal
ec365d1959
doc: Fix broken link for go-build-system.
* doc/guix.texi (Build Systems): Fix broken link for go-build-system.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-01-03 16:25:38 -05:00
Lars-Dominik Braun
d57dd25d38
import/cran: Allow custom license prefix.
* guix/import/cran.scm (string-licenses): Add license-prefix argument.
(string->license): Ditto.
(description->package): Ditto.
(cran->guix-package): Ditto.
(cran-recursive-import): Ditto.
* guix/scripts/import/cran.scm (%options): Add new option -p/--license-prefix.
(show-help): Document it.
(parse-options): Pass it to importer.
* doc/guix.texi (Invoking guix import): Document it.
2022-12-31 14:48:46 +01:00
Karl Hallsby
de781de2e9
doc: Give example of when to use describe in .guix-channel file.
* doc/guix.texi (Package Modules in a Sub-directory): Mention "guix deploy"
files as an example.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2022-12-29 20:01:59 +01:00
Karl Hallsby
d0d700526c
doc: Describe format of channel that uses directory field.
* doc/guix.texi (Package Modules in a Sub-directory): Explain that directory
must be the module root.
2022-12-29 20:01:59 +01:00
Marius Bakke
fe14f88d56
doc: Update expired URL.
* doc/guix.texi (DNS Services): Update knot-resolver documentation link.
2022-12-28 00:38:40 +01:00
Hartmut Goebel
7c476873e0
doc: Describe how to update to a specific version.
* doc/guix.texi (Invoking guix refresh): Describe how to update to a specific
version.
2022-12-26 17:38:07 +01:00
Ivan Vilata i Balaguer
9369c1ccf4
gnu: services: Fix bluetooth-service docstring.
* 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-12-26 00:48:05 +01:00
Timo Wilken
2967abf1a2
services: wireguard: Allow specifying pre-shared keys.
* gnu/services/vpn.scm (<wireguard-peer>)[preshared-key]: New field.
* doc/guix.texi (VPN Services): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-12-25 16:56:48 +01:00
Tobias Geerinckx-Rice
9cadac9787
doc: Fix typo.
* doc/contributing.texi (Sending a Patch Series): Fix e-mail address of
<guix-patches@gnu.org>.

Reported by Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>.
2022-12-18 01:00:10 +01:00
Ricardo Wurmus
0a45d4bad4
doc: Wrap $localstatedir in Texinfo syntax.
* doc/guix.texi (Limitations): Use @file syntax.
2022-12-23 20:20:06 +01:00
Ricardo Wurmus
672c48f15d
doc: Suggest remounting store before relabeling the file system.
* doc/guix.texi (Installing the SELinux policy): Mention that the store may
need to be remounted before writing to it.
2022-12-23 20:20:06 +01:00
Bruno Victal
00f48860e9
services: opensmtpd: Add 'shepherd-requirement' field.
* gnu/services/mail.scm (<opensmtpd-configuration>)[shepherd-requirement]:
New field.
(opensmtpd-shepherd-service): Honor it.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-20 16:56:04 +01:00
Ludovic Courtès
3f6c5c6f78
doc: Avoid 'match' on the <udev-configuration> record.
Fixes <https://issues.guix.gnu.org/59907>.
Reported by MANCINI Raffael <Raffael.MANCINI@mnhn.lu>.

* doc/guix.texi (Service Types and Services): Change
'udev-configuration' example to avoid 'match'.
2022-12-20 16:56:03 +01:00
Ludovic Courtès
12ca767702
Merge branch 'version-1.4.0' 2022-12-19 00:40:33 +01:00
Ludovic Courtès
553f46a094
doc: Tweak cross-ref Texinfo command.
* doc/guix.texi (Swap Space): Use @pxref instead of @xref at the end of
a sentence.
2022-12-18 23:02:59 +01:00
Ludovic Courtès
8e2f32cee9
doc: Update URLs for the manual and cookbook translations.
* doc/htmlxref.cnf: Update URLs for "guix" and "guix-cookbook".
2022-12-18 16:01:32 +01:00
Ludovic Courtès
b77b4c7c3a
doc: Add guile-netlink to 'htmlxref.cnf'.
* doc/htmlxref.cnf: Add guile-netlink.
2022-12-18 15:53:43 +01:00
Ludovic Courtès
047ae5c345
doc: Use VM image file name consistently.
Previously, what "/tmp/qemu-image" refers to could be unclear at first.

* doc/guix.texi (Running Guix in a VM): Use the original image file
name instead of /tmp/qemu-image.
* po/doc/guix-manual.de.po, po/doc/guix-manual.es.po,
po/doc/guix-manual.fr.po, po/doc/guix-manual.pt_BR.po,
po/doc/guix-manual.ru.po, po/doc/guix-manual.zh_CN.po: Adjust
accordingly.
2022-12-15 00:15:36 +01:00
Bruno Victal
2cf16f2c31
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 15:09:49 +01:00
Ludovic Courtès
09b984b77d
doc: Verify the release with my own OpenPGP key.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL):
Switch to my key.
2022-12-14 09:50:38 +01:00
Marius Bakke
88908c6edc
services: ganeti: Add support for cluster hooks.
* gnu/services/ganeti.scm (<ganeti-configuration>): Add HOOKS.
(hooks->directory): Rename to ...
(debootstrap-hooks->directory): ... this, for clarity.
(debootstrap-configuration-compiler): Adjust accordingly.
(ganeti-directory): Add HOOKS when set.
(ganeti-etc-service): Pass HOOKS.
* doc/guix.texi (Virtualization Services): Mention it.
2022-12-17 17:08:50 +01:00
Ricardo Wurmus
82c511dd54
gnu: slapd-configuration: Update default for run-dir.
* gnu/services/ldap.scm (slapd-configuration): Update default value for
run-dir to match defaults of 389-ds-base package.
* doc/guix.texi: Update documentation.
2022-12-14 22:56:00 +01:00
Ricardo Wurmus
c6f81ff7a6
gnu: Add directory-server-service-type.
* gnu/services/ldap.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (LDAP Services): Document it.
2022-12-14 20:55:04 +01:00
Bruno Victal
dcfd97b42e
doc: Fix formatting for 'computed-file'.
* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-14 12:44:02 +01:00
Petr Hodina
22acc0b029
services: nix: Add more configuration fields.
* gnu/services/nix.scm (<nix-configuration>)[build-directory]: New field.
(nix-service-etc, nix-shepherd-service): Take them into account.
* doc/guix.texi (Nix): Update it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-13 17:46:39 +01:00
Ludovic Courtès
883aa80b45
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-08 13:21:35 +01:00
Ludovic Courtès
cc6b88d00d
doc: Replace reference to Freenode.
* doc/guix.texi (Reduced Binary Seed Bootstrap): Libera.Chat, not
Freenode.
2022-12-08 13:07:45 +01:00
Marius Bakke
10251c4456
services: zabbix: Don't write user to configuration file.
The service already runs with the specified user and group, so there is no use
in writing it to the configuration files.  This change is mainly done for
compatibility with 'zabbix-agent2' which does not understand the User=
setting, but also to document the correct data type for the "group" setting.

* gnu/services/monitoring.scm (serialize-string): Filter USER and GROUP
fields.
(group?, serialize-group): Remove variables.
(zabbix-server-configuration, zabbix-agent-configuration): Document the GROUP
field as 'string'.
* doc/guix.texi (Monitoring Services): Adjust accordingly.
2022-12-07 20:08:36 +01:00
Florian Pelz
39f88ee29f
doc: cookbook: Fix commands in example.
Fixes <https://issues.guix.gnu.org/59463>.
Reported by Luca Cirrottola <luca.cirrottola@inria.fr>.

* doc/guix-cookbook.texi (Reproducible profiles): Make it work.
2022-11-27 19:00:01 +01:00
Ludovic Courtès
cc9ee514e3
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend
'match-record'.
2022-12-02 00:02:12 +01:00
Stefan
a9acbf919a
gnu: bootloader: Rework chaining, add grub-efi-netboot-removable-bootloader.
This rework allows to use an (efi-bootloader-chain) like this, which is able
to boot over network or local storage, depending on whether the bootloader
target has support for symbolic links:

   (operating-system
    (bootloader
      (bootloader-configuration
        (bootloader
          (efi-bootloader-chain
            grub-efi-netboot-removable-bootloader
            #:packages (list my-firmware-package
                             my-u-boot-package)
            #:files (list (plain-file "config.txt"
                                      "kernel=u-boot.bin"))
            #:hooks my-special-bootloader-profile-manipulator))
        (targets '("/booti/efi"))
        …))
    …)

* doc/guix.texi (Bootloader Configuration): Describe the new
‘grub-efi-netboot-removable-bootloader’.  Mention the file names used and that
the UEFI Boot Manager is not modified.  Advise to disable write-access over
TFTP.
* gnu/bootloader.scm (efi-bootloader-profile): Allow a list of packages and
collect everything directly in the profile, avoiding a separate collection
directory.  Renamed the profile from "bootloader-profile" to
"efi-bootloader-profile".
[bootloader-collection]: Rename to...
[efi-bootloader-profile-hook]: ... this and remove unused modules.  Do not
create the now extraneous collection directory.
(efi-bootloader-chain): Add PACKAGES and DISK-IMAGE-INSTALLER arguments.
Remove handling of the collection directory, now only calling the given
installer procedure.
* gnu/bootloader/grub.scm (make-grub-efi-netboot-installer): New helper.
(make-grub-configuration): New helper based on (grub-configuration-file).  Add
a GRUB argument, fix indentation, remove previous code retrieving GRUB from
CONFIG.
(grub-configuration-file): Make use of make-grub-configuration.
(grub-efi-configuration-file): New procedure.
(grub-cfg): New variable to replace "/boot/grub/grub.cfg".
(install-grub-efi-netboot): Remove, splitting logic to...
(make-grub-efi-netboot-installer): ... this new helper procedure, as well as
to make-grub-efi-netboot, added below.
(grub-bootloader): Adjust to use the GRUB-CFG.
(grub-efi-bootloader): Likewise.  Removed inheritance and declare all fields
explicitly.
(make-grub-efi-netboot-bootloader): New procedure.
(grub-efi-netboot-bootloader): Use it.
(grub-efi-netboot-removable-bootloader): New variable.
* gnu/packages/bootloaders.scm (make-grub-efi-netboot): New procedure.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-12-01 14:31:28 -05:00
Andrew Tropin
0823fd1aa9
services: network-manager: Add iwd backend support.
* gnu/services/networking.scm (network-manager-configuration)[iwd?]: New
field.
(network-manager-shepherd-service): Add iwd to requirements if needed.
* doc/guix.texi: Add information about iwd? option.
2022-12-01 18:56:24 +04:00
Maxim Cournoyer
3e14e316a5
doc: Remove unimplemented 'herd rules udev'.
Since this text was added, the rules.d directory is now exposed
straightforwardly via the standard /etc/udev/rules.d directory, so there's no
need for a special 'rules' service action to print that directory.

* doc/guix.texi (Base Services): Remove the paragraph documenting the
nonexistent 'herd rules udev' command.
2022-11-29 14:52:36 -05:00
Maxim Cournoyer
3578fb1323
doc: Recommend avoiding execl, execle or execlp in mcron job specifications.
* doc/guix.texi (Scheduled Job Execution): Adjust the 'updatedb' example and
add a new tip.
2022-11-28 22:49:23 -05:00
Maxim Cournoyer
d524ec6fb5
doc: Add a security keys section to the cookbook.
* doc/guix-cookbook.texi (Top): Register new menu.
(System Configuration): Likewise.
(Using security keys): New section.
2022-11-24 20:51:30 -05:00
Tobias Geerinckx-Rice
22d44f8776
doc: Note that ‘guix package’ accepts file names.
* doc/guix.texi (Package Management)[Invoking guix package]:
Mention support for operating on store file names.

Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr>
2022-11-20 01:00:00 +01:00
Ludovic Courtès
d33ed58169
offload: Increase default 'overload-threshold' value.
When offloading to a single machine, the previous default value would
lead 'guix offload' to wait possibly for several minutes between
subsequent builds until normalized load would finally go below 0.6.
Increasing it mitigates that.

* guix/scripts/offload.scm (<build-machine>)[overload-threshold]: Bump
to 0.8.
* doc/guix.texi (Daemon Offload Setup): Likewise.
2022-11-23 19:34:42 +01:00
pelzflorian (Florian Pelz)
b8d4c323f5
doc: Call out potential for security vulnerabilities in old software.
* doc/guix.texi (Invoking guix time-machine): Add a note.

Co-authored by: Simon Tournier <zimon.toutoune@gmail.com>
2022-11-22 15:36:25 +01:00
Vivien Kraus
9283c80e60
guix: modify-input: Recommend prepend instead of append.
* doc/guix.texi (Defining Package Variants): Document the "prepend" clause of
modify-inputs first.
* guix/packages.scm (modify-inputs): use "prepend" in the docstring.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-21 14:25:13 +00:00
Hilton Chain
6d1177b2c8
doc: Build more man pages.
* doc/local.mk (sub_commands_mans): Add guix-container.1, guix-copy.1,
guix-describe.1, guix-git.1, guix-graph.1, guix-home.1, guix-offload.1,
guix-pack.1, guix-processes.1, guix-repl.1, guix-shell.1, guix-style.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-19 19:54:14 +01:00
Ludovic Courtès
8d9647d8a7
services: 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.
2022-11-18 15:44:39 +01:00
Ludovic Courtès
ebc7de6a1e
services: shepherd: Define 'shepherd-configuration-action' helper.
* gnu/services/shepherd.scm (shepherd-configuration-action): New
* doc/guix.texi (Shepherd Services): Document it.
2022-11-18 15:44:39 +01:00
Hilton Chain
a6da50d60a
linux-initrd: raw-initrd: Add keyword argument #:pre-mount.
* gnu/system/linux-initrd.scm (raw-initrd): Add keyword argument #:pre-mount.
Document it.
* doc/guix.texi (initial RAM disk): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-18 15:44:38 +01:00
Maxim Cournoyer
44554e7133
Revert "services: configuration: Revert to a working ‘guix home’."
This reverts commit 39e4e00f75, with fixes for
the guix home issues reported and another one found while reconfiguring berlin
in the subsequent commit.
2022-11-17 06:49:51 -05:00
Tobias Geerinckx-Rice
39e4e00f75
services: configuration: Revert to a working ‘guix home’.
This reverts commit 543d971ed2, and
its dependent commit 9b21cd2e9a, which
appear to have triggered a recent wave of ‘guix home’ regressions
involving (services (list (service home-bash-service-type))):

In gnu/home/services/shells.scm:
    504:7  3 (home-bash-extensions #<<home-bash-configuration> package: #<package bash@5.1.8 gnu/packages/ba…> …)
In unknown file:
           2 (append #<<location> file: "…" line: 14 column: 12> ())
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure append: Wrong type argument in position 1 (expecting empty list): #<<location> file: "…" line: 14 column: 12>

I should love to dive in & fix this rather than revert, but urgently
need sleep.
2022-11-13 01:00:00 +01:00
Maxim Cournoyer
9b21cd2e9a
services: mcron: Add log? and log-format fields to mcron-configuration.
* gnu/services/mcron.scm (list-of-gexps?): New predicate.
(mcron-configuration): Rewrite using define-configuration.
[log?, log-format]: New fields.
(mcron-shepherd-services): Invoke mcron with the --log and --log-format
arguments when log? is #t,
(generate-doc): New procedure.
* doc/guix.texi (Scheduled Job Execution): Update doc.
(Mcron Home Service): Likewise.
* gnu/home/services/mcron.scm: Keep in sync with the above changes to
gnu/services/mcron.scm.
2022-11-15 16:26:16 -05:00
Maxim Cournoyer
b31ea797ed
guix: shell: Add '--symlink' option.
* guix/scripts/pack.scm (%options): Extract symlink parsing logic to...
(symlink-spec-option-parser): ... here.
(self-contained-tarball/builder): Add a comment mentioning why a relative file
name is used for the link target.
* guix/scripts/environment.scm (show-environment-options-help): Document new
--symlink option.
(%default-options): Add default value for symlinks.
(%options): Register new symlink option.
(launch-environment/container): Add #:symlinks argument and extend doc, and
create symlinks using evaluate-populate-directive.
(guix-environment*): Pass symlinks arguments to launch-environment/container.
* doc/guix.texi (Invoking guix shell): Document it.
* tests/guix-shell.sh: Add a --symlink (negative) test.
* tests/guix-environment-container.sh: Add tests.
2022-11-15 14:15:11 -05:00
Ludovic Courtès
5b555d639d
doc: Add missing closing parentheses in examples.
* doc/guix.texi (VNC Services, Guix Home Services): Add missing closing
parentheses.
2022-11-15 12:16:44 +01:00
pelzflorian (Florian Pelz)
fd13259d85
doc: Link to the Git book instead of the git-scm.com homepage.
The Pro Git book, unlike the git-scm.com homepage, is translated to
many languages.  Therefore translators of the Guix Manual can point
to the appropriate translation now.

* doc/guix.texi (Invoking guix pull): Point to the Pro Git book's URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-15 12:16:44 +01:00
Ludovic Courtès
0be722a0b5
doc: Build pt_BR manual.
* doc/build.scm (%manual-languages): Add "pt_BR".
2022-11-15 12:16:44 +01:00
pelzflorian (Florian Pelz)
8162d207b1
doc: Refer to the pt_BR translation.
* doc/guix.texi (Top): Mention Brazilian Portuguese.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-15 12:16:44 +01:00
Ludovic Courtès
514fedbf39
installer: Report known-unsupported PCI devices.
* gnu/installer/hardware.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer.scm (installer-steps): Pass #:pci-database to the
'welcome' step procedure.
* gnu/installer/newt.scm (welcome-page): Add #:pci-database and pass it
to 'run-welcome-page'.
* gnu/installer/newt/welcome.scm (check-hardware-support): Add #:pci-database.
Enumerate unsupported PCI devices and run an error page when unsupported
devices are found.
(run-welcome-page): Add #:pci-database and pass it to
'check-hardware-support' and to the recursive call.
* gnu/installer/record.scm (<installer>)[welcome-page]: Adjust comment.
* doc/guix.texi (Hardware Considerations): Mention it.
2022-11-15 12:16:43 +01:00
Alexey Abramov
73b3519568
services: gitolite: Add local-code configuration option.
* gnu/services/version-control.scm (gitolite-rc-file): Add local-code
field.
(gitolite-rc-file-compiler): Serialize the field.
* doc/guix.texi: Document it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-07 20:29:14 +01:00
Efraim Flashner
97d565c786
guix gc: Add '--vacuum-database'.
* guix/scripts/gc.scm (show-help, %options): Add '--vacuum-database'.
* guix/store/database.scm (vacuum-database): New procedure.
* doc/guix.texi (Invoking guix gc): Document the option.
2022-11-06 14:02:08 +02:00
Ricardo Wurmus
b43200e5b1
doc: cookbook: Add section on MPD with bluealsa.
* doc/guix-cookbook.texi (Music Server with Bluetooth Audio): New section
under System Configuration.
2022-11-06 00:35:56 +01:00
Ricardo Wurmus
769c5f563d
doc: cookbook: Update detailed menu for "System Configuration".
* doc/guix-cookbook.texi: Update menu.
2022-11-06 00:35:56 +01:00
Marius Bakke
706f25f24d
services: ganeti: OS variants can be a directory.
* gnu/services/ganeti.scm (<ganeti-os>)[extension]: Default to #f.
(ganeti-os->directory): Only add extension if set.  Support a file-like object
for VARIANTS.
* doc/guix.texi (Virtualization Services): Document this change and add
example.  Update Ganeti URLs while at it.
2022-11-03 20:00:30 +01:00
EuAndreh
7bb3644dd0
doc: Change example for special-files-service-type.
Also update the default value given in the docs. Change the example since the
base system includes /usr/bin/env by default.

* doc/guix.texi (Base Services): Change the example for
special-files-service-type and update default.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-11-03 17:32:34 +01:00
(
807bfe55dc
doc: contributing: Use proper subsections.
* doc/contributing.texi ("Submitting Patches")
["Sending a Patch Series", "Teams"]: Convert to numbered subsections.
Add nodes.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-01 13:53:59 +01:00
(
8fed831e2a
doc: contributing: Expand "Sending a Patch Series".
* doc/contributing.texi: Expand on sending patches and using
  git send-email.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-10-28 17:25:58 +02:00
Marius Bakke
e944734ef9
build-system/pyproject: Always run tests verbosely for supported backends.
* guix/build-system/pyproject.scm (pyproject-build): Default to '() instead of
 #false for TEST-FLAGS.
* guix/build/pyproject-build-system.scm (check): Unconditionally enable
verbose test flags.
* doc/guix.texi (Build Systems): Document this change.
* gnu/packages/fontutils.scm (python-glyphslib)[arguments]: Remove verbosity
from #:test-flags.
* gnu/packages/pdf.scm (python-pydyf, weasyprint)[arguments]: Likewise.
* gnu/packages/python-web.scm (python-openapi-spec-validator)[arguments]: Likewise.
* gnu/packages/python-xyz.scm (python-path, python-tempora)[arguments]: Likewise.
2022-10-27 21:30:03 +02:00
Lars-Dominik Braun
400a7a4c80
build-system: Add pyproject-build-system.
This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.

* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.

Co-authored-by: Marius Bakke <marius@gnu.org>
2022-10-27 19:43:06 +02:00
David Thompson
966118da71
gnu: version-control: Add make-gitolite procedure.
* gnu/packages/version-control.scm (make-gitolite): New procedure.
(gitolite): Use make-gitolite.
* doc/guix.texi (Gitolite service): Document how to use make-gitolite.
2022-10-24 16:37:22 -04:00
Ludovic Courtès
c077345539
file-systems: Support the 'no-diratime' mount flag.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Handle 'no-diratime'.
* doc/guix.texi (File Systems): Document it.
2022-10-20 23:07:37 +02:00
Mathieu Othacehe
7ee77dc6df
services: wireguard: Add more configuration fields.
* gnu/services/vpn.scm (<wireguard-configuration>)[pre-up, post-up, pre-down,
post-down, table]: New fields.
(wireguard-configuration-file): Take them into account.
* doc/guix.texi (Wireguard): Update it.
2022-10-20 13:07:46 +02:00
Ludovic Courtès
7460b06a2d
doc: Mention Guile-GnuTLS in the requirements.
* doc/guix.texi (Requirements): Update.
2022-10-18 14:27:01 +02:00
Ludovic Courtès
f36522416e
channels: Interpret the 'commit' field of channel as a tag or commit.
Previously the 'commit' field would always be interpreted as a commit
ID.  This change adds flexibility, allowing for things like:

  guix time-machine --commit=v1.2.0 -- describe

* guix/channels.scm (channel-reference): Use 'tag-or-commit' rather than 'commit'.
* guix/inferior.scm (channel-full-commit): Likewise.
* doc/guix.texi (Invoking guix pull): Document it.
(Invoking guix time-machine): Likewise.
2022-10-17 09:37:27 +02:00
Julien Lepiller
63bb79fa38
doc: Fix typos.
These typos were found and reported on weblate.

* doc/guix.texi: Fix typos.
2022-10-17 07:29:51 +02:00
zimoun
4cb5144df0
doc: Explain Emacs native-compilation.
* doc/guix.texi ("Application Setup")["Emacs Packages"]: Add a note
explaining that Emacs can compile packages to native code now.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-10-15 15:34:56 +02:00
Ricardo Wurmus
56915dc275
doc: Add chapter on containers to Cookbook.
* doc/guix-cookbook.texi (Containers): New chapter.
2022-10-13 17:42:05 +02:00
John Kehayias
c7ba5f38b8
environment: Add '--emulate-fhs'.
* guix/scripts/environment.scm (show-environment-options-help, %options): Add
'--emulate-fhs'.
(setup-fhs): New procedure.  Setup for the Filesystem Hierarchy Standard (FHS)
container.  Defines and uses FHS-SYMLINKS and LINK-CONTENTS to create FHS
expected directories and creates /etc/ld.so.conf.
(launch-environment): Add 'emulate-fhs?' key and implement it to set $PATH and
generate /etc/ld.so.cache before calling COMMAND.
(launch-environment/container): Add 'emulate-fhs?' and 'setup-hook' keys and
implement them.  Define and use FHS-MAPPINGS, to set up additional bind mounts
in the container to follow FHS expectations.
(guix-environment*): Add glibc-for-fhs to the container packages when
'emulate-fhs?' key is in OPTS.
* doc/guix.texi (Invoking guix shell): Document '--emulate-fhs'.
(Invoking guix environment): Document '--emulate-fhs'.
* tests/guix-environment-container.sh: Add tests for '--emulate-fhs'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-10-13 09:19:08 +02:00
( via Guix-patches via
4ab434958b
gnu: home: Add home-dbus-service-type.
* gnu/home/services/desktop.scm (home-dbus-service-type): New variable.
(home-dbus-configuration): New record type.
* doc/guix.texi: Document them.

Signed-off-by: Andrew Tropin <andrew@trop.in>
2022-10-13 09:05:46 +04:00
Maxim Cournoyer
f78cfcd7d3
system: operating-system: Make the timezone field default to Etc/UTC.
* gnu/system.scm (<operating-system>) [timezone]: Default to "Etc/UTC".
2022-10-11 11:29:03 +00:00
(
ba6ea435e2
gnu: base: Add greetd-wlgreet-sway-session.
* gnu/services/base.scm (greetd-wlgreet-session): New data type.
(greetd-wlgreet-sway-session): Likewise.
* doc/guix.texi ("Base Services")[greetd-service-type]: Document
  them.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-10-11 11:43:01 +01:00
Christopher Baines
e83b9fe44e
services: guix: Include max-allocated-builds gbc agent option.
* gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-allocated-builds):
New procedure.
(guix-build-coordinator-agent-shepherd-services): Use max-allocated-builds.
* doc/guix.texi (Guix Build Coordinator): Document this new field.
2022-10-11 11:41:15 +01:00
Maxim Cournoyer
00e8430500
Revert "Revert "services: Add xvnc-service-type.""
This reverts commit 0c49661600.  The fix appears
in the subsequent commit, for clarity.
2022-10-07 15:07:48 -04:00
Maxim Cournoyer
0c49661600
Revert "services: Add xvnc-service-type."
This reverts commit 1c528a95cb.  This broke
'guix pull', for (yet) unknown reasons.
2022-10-07 12:53:22 -04:00
Maxim Cournoyer
1c528a95cb
services: Add xvnc-service-type.
* gnu/services/vnc.scm: New file.
* gnu/tests/vnc.scm: Likewise.
* gnu/local.mk: Register them.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer
aad4e4fc6b
services: 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.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer
1936668f5b
services: 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.
2022-10-07 10:11:11 -04:00
Maxim Cournoyer
f9694a04ab
doc: Add git send-email tip in 'Submitting Patches' section.
* doc/contributing.texi (Submitting Patches): Add a tip detailing how to
prefix the subject line with the branch name the change should be installed
to.
2022-10-07 09:17:11 -04:00
Taiju HIGASHI
5b42b64ea8
doc: Fix missing package name.
* doc/guix.texi (Invoking guix import): Fix missing package name for gem
importer.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-10-06 15:08:04 +01:00
Ricardo Wurmus
e351749c44
doc: Add terms to concept index for "guix style".
* doc/guix.texi (Invoking guix style): Add terms to concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus
6ede81b6a4
doc: Add concept index terms for "guix archive".
* doc/guix.texi (Invoking guix archive): Add terms to concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus
b310c4f02a
doc: Add every command name to concept index.
* doc/guix.texi: Add an entry for each Guix command to the concept index.
2022-10-06 12:22:49 +02:00
Ricardo Wurmus
32ba74ab48
doc: Use @command instead of @code.
* doc/guix.texi: Use @command to refer to Guix commands.
2022-10-06 12:22:48 +02:00
Alexey Abramov
40ad967322
services: dhcp-client: Implement and use a configuration record.
* gnu/services/networking.scm (dhcp-client-configuration): New record
configuration.
(dhcp-client-shepherd-service): Implement a shepher service. Provide a
deprication message for legacy configurations.
(dhcp-client-service-type): Use dhcp-client-shepherd-service.
* doc/guix.texi (Networking Setup): Update.
* po/guix/POTFILES.in: Add 'gnu/services/networking.scm'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-10-06 00:11:18 +02:00
( via Guix-patches via
7030f592c6
home: Add home-batsignal-service-type.
* gnu/home/services/pm.scm (home-batsignal-service-type): New variable.
(home-batsignal-configuration): New record type.
* doc/guix.texi: Document them.
* gnu/local.mk: Add gnu/home/services/pm.scm.
2022-10-04 17:04:45 +04:00
Andrew Tropin
224fd038f2
doc: Mention network mask in network-route.
* doc/guix.texi (Networking Setup): Mention network mask in network-route.
2022-10-04 16:51:22 +04:00
Maxim Cournoyer
d573494387
doc: Mention sourcing system profile when chrooting.
* doc/guix.texi (Chrooting into an existing system): Add sourcing of system
profile along user profile.
2022-10-03 11:22:19 -04:00
Ludovic Courtès
3624f4358c
doc: Update the URL of ISC DHCP.
* doc/guix.texi (Networking Services): Update ISC DHCP URL.
2022-10-02 22:14:45 +02:00
Ludovic Courtès
28ade1bab2
transformations: '--with-source' now operates in depth.
The '--with-source' option is the first one that was implemented, and
it's the only one that would operate only on leaf packages rather than
traversing the dependency graph.  This change makes it consistent with
the rest of the transformation options.

* guix/transformations.scm (evaluate-source-replacement-specs): New
procedure.
(transform-package-source): Rewrite using it.
* tests/transformations.scm ("options->transformation, with-source, no
matches"): Rewrite since we no longer get a warning.
("options->transformation, with-source, in depth"): New test.
* doc/guix.texi (Package Transformation Options): Adjust examples.
2022-09-29 22:59:49 +02:00
Ludovic Courtès
f63adbf6f9
doc: Tweak wsdd wording.
* doc/guix.texi (Samba Services)[Web Service Discovery Daemon]: Tweak
wording.
2022-09-28 22:58:10 +02:00
Ludovic Courtès
67cf25e6cd
doc: Fix syntax for 'wsdd-configuration'.
* doc/guix.texi (Samba Services): Fix syntax of 'wsdd-configuration'
data type definition.
2022-09-28 22:53:35 +02:00
Maxim Cournoyer
b43ed95028
doc: Mention where one can learn more about the samba config file syntax.
* doc/guix.texi (Samba Services): Refer users to "man smb.conf" to learn more
about the Samba config file format.
2022-09-28 09:57:31 -04:00
Maxim Cournoyer
f2d071c832
doc: Add a simple Samba share example.
* doc/guix.texi (Samba Services): Add a configuration example.
2022-09-28 09:57:31 -04:00
Maxim Cournoyer
13ed651870
doc: Clarify Samba Services configuration.
* doc/guix.texi (Samba Services): Explicit the fact that no daemons are
automatically run.  Remove the word "Manually", that suggested otherwise.
2022-09-28 09:57:30 -04:00
Maxim Cournoyer
990a4822f1
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cran.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/icu4c.scm
	gnu/packages/java.scm
	gnu/packages/machine-learning.scm
	gnu/packages/tex.scm
2022-09-27 15:59:30 -04:00
Mathieu Othacehe
e842aeb8c1
doc: Turn example to lisp.
* doc/guix.texi (System Images): Turn example snippets to lisp snippets.
2022-09-25 11:38:11 +02:00
Mathieu Othacehe
506e0aa438
doc: Remove an extra dot.
* doc/guix.texi (System Images): Remove it.
2022-09-25 11:35:09 +02:00
Mathieu Othacehe
2a66304535
etc: teams: Add scope support.
Add a scope list to each team.  This list defines all the files and
directories that are mentored by the team.

Also add a cc-members command that takes two Git revision strings as input,
add returns the members that should be CC'ed given the files impacted between
the two revisions.

* etc/teams.scm.in (<team>)[scope]: New field.
(team, list-teams): Adapt those procedures.
(find-team-by-scope, diff-revisions): New procedures.
(main): Add a "cc-members" command.
* doc/contributing.texi ("Teams"): Document it.
("Sending a Patch Series"): Adapt it.
2022-09-25 09:27:59 +02:00
Alex Griffin
c8112f3bd9
system: images: Add wsl2 module.
* gnu/system/images/wsl2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi ("System Images"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24 14:49:09 +02:00
Alex Griffin
8757c3f293
system: image: Add tarball support.
* gnu/image.scm (<image>)[fields]: Add tarball to the supported formats.
* gnu/system/image.scm (tarball-image, tarball-image-type): New variables.
(system-tarball-image): New procedure.
(image->root-file-system): Add tarball image support.
(system-image): Ditto.
* doc/guix.texi ("System Images"): Document it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-24 14:49:09 +02:00
Mathieu Othacehe
a13f5ead02
doc: Add a "System Images" chapter.
* doc/guix.texi ("System Images"): New chapter.
2022-09-24 14:49:09 +02:00
Mathieu Othacehe
61bf25bb4e
doc: Add a "Platforms" chapter.
* doc/guix.texi ("Platforms"): New chapter.
("Porting"): Link it.
2022-09-24 14:49:08 +02:00
Simon Streit
e1ce100915
services: Add wsdd service.
* doc/guix.texi: Add documentation for wsdd service.
* gnu/services/samba.scm (<wsdd-configuration>): New record.
(wsdd-service-type): New variable.
(wsdd-shepherd-services): New procedure.
* gnu/tests/samba.scm (%wsdd-os): Add variable.
(run-wsdd-test): New procedure.
(%test-wsdd): New variable.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:41:24 +02:00
Simon Streit
d68721c55a
services: Add samba service.
* gnu/services/samba.scm: New file.
* gnu/tests/samba.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add them.
* po/guix/POTFILES.in Add 'gnu/services/samba.scm'.
* doc/guix.texi: Document it.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:38:57 +02:00
Marius Bakke
80c76f5d8e
Merge branch 'staging' into core-updates 2022-09-18 16:30:21 +02:00
Taiju HIGASHI
5d22261db3
import: gem: Support importing a specific version of a gem.
* guix/import/gem.scm: (rubygems-fetch, gem->guix-package)
(gem-recursive-import): Fix to fetch the specified version of the gem.
* guix/scripts/import/gem.scm (show-help): Update the help message.
(guix-import-gem): Modify so the version number to be passed to subsequent
procedures.
* tests/gem.scm: Add tests.
* doc/guix.texi (Invoking guix import): Document.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-09-17 19:09:27 +02:00
Maxim Cournoyer
4920f6e634
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cmake.scm
	gnu/packages/glib.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/sdl.scm

pango-next, vala-next and librsvg-bootstrap were removed in the process.
2022-09-15 11:43:21 -04:00
muradm
29d52a56f2
gnu: fail2ban-service-type: Improve extra-content fields.
* gnu/services/security.scm
(fail2ban-jail-configuration)[extra-content]: Change to text-config.
(fail2ban-configuration)[extra-content]: Change to text-config.
* gnu/doc/guix.texi: Update type of extra-content fields.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-14 11:29:11 -04:00
Marius Bakke
9ef33dce94
Merge branch 'staging' into core-updates 2022-09-09 23:04:13 +02:00
tiantian
52d780ea2b
gnu: bootloader: Extend `<menu-entry>' for chain-loader.
* gnu/bootloader.scm (<menu-entry>)[chain-loader]: New field.
(menu-entry->sexp, sexp->menu-entry): Support chain-loader.
* doc/guix.texi (Bootloader Configuration): Document it.

Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2022-09-08 22:29:57 +02:00
Marius Bakke
884548b476
Merge branch 'staging' into core-updates 2022-09-08 21:12:52 +02:00
Ricardo Wurmus
d18bddf5d7
doc: Fix typo.
* doc/guix.texi (Miscellaneous Services): Fix typo.
2022-09-07 20:08:23 +02:00
Ludovic Courtès
8c5065c6d1
services: nginx: Add 'shepherd-requirement' configuration field.
* gnu/services/web.scm (<nginx-configuration>)[shepherd-requirement]:
New field.
(nginx-shepherd-service): Honor it.
* doc/guix.texi (Web Services): Document it.
2022-09-06 16:58:12 +02:00
Andrew Tropin
a278f632de
doc: Add more info about commits signature local verification.
* doc/contributing.texi (Commit Access): Add more info about commits signature
local verification.
2022-09-05 14:55:49 +03:00
Ludovic Courtès
eedf71f948
services: upower: Default to a percentage-based policy.
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-04 23:10:10 +02:00
Ludovic Courtès
4765242540
services: upower: Update default percentage values.
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-09-04 23:10:09 +02:00
Ludovic Courtès
5c444a0208
doc: Link to the "Scheme Crash Course".
* doc/guix.texi (Defining Packages): Add @quotation block linking to "A
Scheme Crash Course".
2022-09-02 18:16:51 +02:00
Marius Bakke
58863b93b0
Merge branch 'staging' into core-updates 2022-09-01 23:26:57 +02:00
Ludovic Courtès
98a8b48a69
doc: Suggest more RAM for "Running Guix in a VM".
Fixes <https://issues.guix.gnu.org/57474>.
Reported by Michael F. Lamb <mike@orbital.rodeo>.

Running 'guix pull' to target current revisions would lead to memory
exhaustion.  Bumping the memory size works around that.

* doc/guix.texi (Running Guix in a VM): Change "-m 1024" to "-m 2048".
2022-09-01 18:31:26 +02:00
muradm
fa2d651475
gnu: fail2ban-service-type: Fix documentation typos.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-01 08:58:16 -04:00
Marius Bakke
59c136ef61
Merge branch 'staging' into core-updates 2022-08-30 20:18:55 +02:00
Nicolas Graves
c4acaf4120
etc: Add tempel snippets.
* etc/snippets/tempel/scheme-mode: New file.
* etc/snippets/tempel/text-mode: New file.
* etc/snippets/scheme-mode: Moved from here...
* etc/snippets/yas/scheme-mode: ... to here.
* etc/snippets/text-mode: Moved from here...
* etc/snippets/yas/text-mode: ... to here.
* doc/contributing.texi ("The Perfect Setup"): Adjust yasnippet setup
accordingly.  Add tempel setup.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-30 11:50:14 +02:00
Thiago Jung Bauermann
65ce5fe2fb
guix system: Use standard cross and native build options.
This change prevents guix system from erroring out with an ugly backtrace
when it's passed an invalid value to the “--system” or “--target”
option. It also adds the “--list-systems” and “--list-targets” options.

The manual section about guix system doesn't mention the “--target” option,
so add it there.

* guix/scripts/system (show-help): Call show-cross-build-options-help and
show-native-build-options-help.
(%options): Remove own implementation of “system” and “target” options and
use the ones in %standard-cross-build-options and
%standard-native-build-options.
* doc/guix.texi (Invoking guix system): Document “--target” option.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-30 08:55:16 +02:00
Reza Alizadeh Majd
f126f23b13
bootloader: Add device-tree-support? option.
In some specific cases where the device tree file is already loaded in RAM, it
can be preferable that the bootloader does not try to use a device tree from
the Linux kernel tree.

* gnu/bootloader.scm (<bootloader-configuration>)[device-tree-support?]: New field.
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Add FDTDIR line
based on <device-tree-support?> field of <bootloader-configuration>.
* doc/guix.texi (Bootloader Configuration)[device-tree-support?]: Add
documentation for the new field.
2022-08-30 08:50:44 +02:00