Commit graph

2822 commits

Author SHA1 Message Date
Ludovic Courtès
808b9e8504
services: openssh: Start as an inetd service.
* gnu/services/ssh.scm (openssh-shepherd-service): Use
'make-inetd-constructor' when it is defined.
(<openssh-configuration>)[max-connections]: New field.
* gnu/tests/ssh.scm (run-ssh-test)["sshd PID"]: Adjust to cope with
PID-FILE being #f.
* gnu/tests/ssh.scm (%test-openssh): Pass #f as the 'pid-file'
argument.
* doc/guix.texi (Networking Services): Document 'max-connections'.
2022-04-07 00:08:56 +02:00
Aleksandr Vityazev
1e0cd871b8
doc: Update the sample yggdrasil-private.conf.
* doc/guix.texi (Networking Services): Update the sample yggdrasil-private.conf.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-05 20:41:39 +02:00
Ludovic Courtès
c42b7baf13
shell: Add '--export-manifest'.
* guix/scripts/shell.scm (show-help, %options): Add '--export-manifest'.
(manifest-entry-version-prefix, manifest->code*)
(export-manifest): New procedures.
(guix-shell): Honor '--export-manifest'.
* tests/guix-shell-export-manifest.sh: New file.
* Makefile.am (SH_TESTS): Add it.
* doc/guix.texi (Invoking guix shell): Document '--export-manifest'.
(Invoking guix environment): Link to it.
(Invoking guix pack): Likewise.
2022-04-04 22:58:04 +02:00
Ludovic Courtès
e692dc632c
services: Add 'log-cleanup' service to '%base-services' for build logs.
* gnu/services/base.scm (%base-services): Add 'log-cleanup-service-type'
instance.
* doc/guix.texi (Log Rotation): Add example and mention '%base-services'.
2022-04-04 22:58:03 +02:00
Ludovic Courtès
3b9b3b4931
services: Add 'log-cleanup-service-type'.
* gnu/services/admin.scm (<log-cleanup-configuration>): New record
type.
(log-cleanup-program, log-cleanup-mcron-jobs): New procedures.
(log-cleanup-service-type): New variable.
* doc/guix.texi (Log Rotation): Document it.
2022-04-04 22:58:03 +02:00
Julien Lepiller
93bfd4d9c7
nls: Enforce translation thresholds.
* po/doc/guix-cookbook.es.po: Remove file.
* po/doc/guix-cookbook.fa.po: Remove file.
* po/doc/guix-cookbook.fi.po: Remove file.
* po/doc/guix-cookbook.pt_BR.po: Remove file.
* po/doc/guix-cookbook.ru.po: Remove file.
* po/doc/guix-cookbook.uk.po: Remove file.
* po/doc/guix-cookbook.zh_Hans.po: Remove file.
* po/doc/guix-manual.fa.po: Remove file.
* po/doc/guix-manual.fi.po: Remove file.
* po/doc/guix-manual.it.po: Remove file.
* po/doc/guix-manual.ko.po: Remove file.
* po/doc/guix-manual.sk.po: Remove file.
* po/doc/local.mk: Remove them.
* doc/local.mk: Remove them.
2022-04-02 18:14:43 +02:00
Julien Lepiller
6386c011b2
doc: Document inclusion requirements for new translations.
* doc/contributing.texi (Translating Guix)[Conditions for Inclusion]:
New section.
2022-04-02 18:12:48 +02:00
Remco van 't Veer
e91c9edb20
services: dnsmasq: Add more options.
* gnu/services/dns.scm (<dnsmasq-configuration>): Add
forward-private-reverse-lookup?, strict-order? and cpe-id options.
(dnsmasq-shepherd-service): Pass added options to dnsmasq and use
match-record instead of match-lambda.
* doc/guix.texi (Guix Services): Document options added to dnsmasq.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-24 12:45:48 +01:00
Jelle Licht
10d865aa92
services: thermald: Add 'adaptive?' field.
* gnu/services/pm.scm (<thermald-configuration>): Add 'adaptive?' field.
(thermald-shepherd-service): Use it to pass --adaptive to thermald.
* doc/guix.texi (Power Management Services): Document the 'adaptive?' field of
'thermald-configuration'.
2022-03-20 16:40:22 +01:00
Ludovic Courtès
094a2cfbe4
guix home: Add 'container' command.
* guix/scripts/home.scm (show-help, %options): Add '--network',
'--share', and '--expose'.
(not-config?, user-shell, spawn-home-container): New procedures.
(%default-system-profile): New variable.
(perform-action): Add #:file-system-mappings, #:container-command,
and #:network?; honor them.
(process-action): Adjust accordingly.
(guix-home)[parse-sub-command]: Add "container".
[parse-args]: New procedure.
Use it instead of 'parse-command-line'.
* tests/guix-home.sh: Add tests.
* doc/guix.texi (Declaring the Home Environment): Mention 'guix home
container' as a way to test configuration.
(Invoking guix home): Document it.
2022-03-19 18:51:09 +01:00
EuAndreh
465259be78
doc: Fix wrong variable name.
* doc/guix.texi (Mail services): use correct variable name.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-18 23:51:19 +01:00
Ludovic Courtès
27c273ec89
doc: cookbook: Update Tor onion service name.
* doc/guix-cookbook.texi: New variable.
(Getting substitutes from Tor): Use it.
2022-03-18 23:51:19 +01:00
angryrectangle
3a91c92547
home: services: Fix bash aliases without guix-defaults.
* gnu/home/services/shells.scm: Fix bash aliases not being added if
  guix-defaults? was #f. Also fix inaccuracy in documentation about placement
  of defaults.
* doc/guix.texi (Shells Home Services): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-18 16:03:34 +01:00
Ludovic Courtès
25261cbf96
guix home: Implement the 'extension-graph' and 'shepherd-graph' actions.
Until now these two actions were silently ignored.

* guix/scripts/home.scm (show-help, %options): Add "--graph-backend".
(%default-options): Add 'graph-backend' key.
(export-extension-graph, export-shepherd-graph): New procedures.
(perform-action): Add #:graph-backend parameter.  Add cases for the
'extension-graph' and 'shepherd-graph' actions.
(process-action): Pass #:graph-backend to 'perform-action'.
* guix/scripts/system.scm (service-node-type)
(shepherd-service-node-type): Export
* tests/guix-home.sh: Add tests.
* doc/guix.texi (Invoking guix home): Document it.
2022-03-18 16:03:33 +01:00
Florian Pelz
101ba64904
doc: Fix inappropriate escapes.
* doc/guix.texi (Shells Home Services): Change \" to ".
2022-03-13 14:38:20 +01:00
Ludovic Courtès
0691ab6779
services: openssh: Add 'generate-host-keys?' field.
* gnu/services/ssh.scm (<openssh-configuration>)[generate-host-keys?]:
New field.
(openssh-activation): Honor it.
* doc/guix.texi (Networking Services): Document it.
2022-03-10 23:46:50 +01:00
Ludovic Courtès
5e34e873af
services: guix: Add 'generate-substitute-key?' field.
* gnu/services/base.scm (<guix-configuration>)[generate-substitute-key?]:
New field.
(guix-activation): Honor it.
* doc/guix.texi (Base Services): Document it.
2022-03-10 23:46:50 +01:00
Demis Balbach
878578c0fa
services: bluetooth: Add missing config parameters.
* doc/guix.texi (Desktop Services): Document 'bluetooth-service-type'
and 'bluetooth-configuration'.
* gnu/services/desktop.scm (<bluetooth-configuration>): Add many fields.
(bluetooth-configuration-file): Handle them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-09 23:38:18 +01:00
Ludovic Courtès
be84fb701b
doc: Publish the Slovak translation of the cookbook.
* doc/build.scm (%languages): Add "sk" for "guix-cookbook" (it's
currently at 57%).
2022-03-02 19:26:16 +01:00
Ludovic Courtès
f0efa6afc5
doc: Add "Using TeX and LaTeX" chapter.
* doc/guix.texi (Using TeX and LaTeX): New node.
2022-03-02 19:26:16 +01:00
Julien Lepiller
8c92d85e06
nls: Update translations.
* po/doc/guix-cookbook.uk.po: New file.
* po/doc/local.mk: Add uk cookbook.
* doc/local.mk: Add uk cookbook.
* po/guix/fa.po: New file.
* po/guix/uk.po: New file.
* po/guix/LINGUAS: Add fa and uk.
2022-03-01 22:17:18 +01:00
Maxim Cournoyer
6d9d616113
initrd: Honor rootfstype and rootflags command-line parameters.
* gnu/build/linux-boot.scm (boot-system): Honor rootfstype and rootflags
arguments.  Update doc.  Error out in case there is insufficient information
with regard to the root file system.
Restore the behavior of inferring the root device from the root file system
from the operating system in case the root argument is not provided.
* doc/guix.texi (Initial RAM Disk): Document the new command-line parameters.
2022-03-01 10:30:18 -05:00
Maxim Cournoyer
0dc019e19a
initrd: Use non-hyphenated kernel command-line parameter names.
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.

* gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root'
and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system',
respectively.  Adjust doc.
(find-long-option): Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly.
* gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and
update doc.  Use VERSION to conditionally return old style vs new style initrd
arguments.
(%boot-parameters-version): Increment to 1.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
* gnu/build/activation.scm (boot-time-system): Adjust accordingly.
* gnu/build/hurd-boot.scm (boot-hurd-system): Likewise.
* gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
2022-03-01 10:30:17 -05:00
Maxim Cournoyer
61a847187d
gnu: glibc-utf8-locales: Hide the package.
This package has a long history of confusing users, due to containing only a
small, arbitrary subset of UTF-8 locales.

* gnu/packages/base.scm (glibc-utf8-locales): Define as a hidden package.
* doc/guix.texi (Application Setup): Do not mention glibc-utf8-locales.
Instead, provide an example for defining a custom locales package.
2022-02-27 20:21:02 -05:00
Ludovic Courtès
bc8bea1739
pull: '--news' no longer shows package lists.
* guix/scripts/pull.scm (display-channel-news): Return #t when news were
displayed.
(display-news): Add #:profile-news? parameter and honor it.  Print
something there were no news.
(process-query): For 'display-news', call 'display-channel-news'
directly.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
2022-02-27 18:06:14 +01:00
Maxim Cournoyer
60cb647a28
services: pulseaudio: Add an extra-script-files configuration field.
* gnu/services/sound.scm (<pulseaudio-configuration>)
[extra-script-files]: Add field.
(extra-script-files->file-union): New procedure.
(append-include-directive): Likewise.
(pulseaudio-etc): Use them.
* doc/guix.texi: Document the new 'extra-script-files- configuration field.
2022-02-26 09:03:01 -05:00
Danny Milosavljevic
ed17082d94
services: agetty: Add shepherd-requirement.
* gnu/services/base.scm (<agetty-configuration>): Add shepherd-requirement.
* doc/guix.texi (agetty-configuration): Document it.
2022-02-25 17:13:18 +01:00
John Kehayias
50311f338f
doc: Fix 'setuid-program' example.
%setuid-programs was previously moved to be in the list sexp instead of just
the append one. This causes an "invalid G-expression input" error.

Error reported by: Kolev on #guix.

* doc/guix.texi (Setuid Programs): Move %setuid-programs out to the append
sexp.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-02-23 23:14:23 -05:00
Simon Streit
c0bc08d82c
doc: Document virtlogd package variable.
* doc/guix.texi (Virtualization Services): Document virtlogd package
variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-02-23 12:47:30 +02:00
Ludovic Courtès
9724da9abc
doc: Typographical tweaks.
* doc/guix.texi (Build Utilities): Remove trailing #t from phases.
Use @lisp for 'wrap-program' examples.
2022-02-18 14:14:38 +01:00
Ludovic Courtès
de65fd92d5
doc: Document 'wrap-program' and 'wrap-script'.
* doc/guix.texi (Build Utilities)[Wrappers]: New subsection.
2022-02-16 16:49:26 +01:00
Ludovic Courtès
8d472e9314
doc: Move build commands to @example for clarity.
* doc/contributing.texi (Building from Git): Tweak so that all the
commands appear in @example boxes.  Show --localstatedir=/var instead of
--localstatedir=@var{directory}.
2022-02-15 10:29:09 +01:00
Josselin Poiret
cfa6fdc54c
doc: Clarify the Swap Space examples, and include an helper example.
* doc/guix.texi (Swap Space): The examples referred to variables
defined outside of the snippets, and so were not very informative for
people without much Guile knowledge.  Instead, refer to mapped-devices
for the first, and use the new helper
file-systme-mount-point-predicate for the second.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-15 10:14:18 +01:00
Ludovic Courtès
b9df2e2b4d
pull: '--list-generations' lists packages only with '--details'.
* guix/scripts/pull.scm (show-help, %options): Add "--details".
(process-query): Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
2022-02-14 15:52:36 +01:00
Ludovic Courtès
ca87601dd9
git-authenticate: Ensure the target is a descendant of the introductory commit.
Fixes a bug whereby authentication of a commit *not* descending from the
introductory commit could succeed, provided the commit verifies the
authorization invariant.

In the example below, A is a common ancestor of the introductory commit
I and of commit X.  Authentication of X would succeed, even though it is
not a descendant of I, as long as X is authorized according to the
'.guix-authorizations' in A:

   X   	 I
    \   /
      A

This is because, 'authenticate-repository' would not check whether X
descends from I, and the call (commit-difference X I) would return X.

In practice that only affects forks because it means that ancestors of
the introductory commit already contain a '.guix-authorizations' file.

* guix/git-authenticate.scm (authenticate-repository): Add call to
'commit-descendant?'.
* tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"):
New test.
* tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"):
New test.
* tests/guix-git-authenticate.sh: Expect earlier test to fail since
9549f0283a is not a descendant of
$intro_commit.  Add new test targeting an ancestor of the introductory
commit, and another test targeting the v1.2.0 commit.
* doc/guix.texi (Specifying Channel Authorizations): Add a sentence.
2022-02-14 11:23:08 +01:00
Marius Bakke
b38ce8489f
doc: Zabbix: Improvide description.
* doc/guix.texi (Monitoring Services): Document the various 'zabbix-*' service
types, and expand description of all Zabbix services.  Use less marketing terms.
(Web Services): Add subsubheading for PHP-FPM, and anchors for
cross-referencing.
* gnu/services/monitoring.scm (zabbix-front-end-configuration): Use @ref
instead of @pxref for cross-referencing.
2022-02-13 13:33:56 +01:00
Marius Bakke
43bc85f444
doc: Regenerate Zabbix server and agent configuration.
...to make them in line with the newly generated front-end documentation.

* doc/guix.texi (Monitoring Services): Regenerate zabbix-server-configuration
and zabbix-agent-configuration.
2022-02-07 18:19:46 +01:00
Marius Bakke
326e08bf0f
services: zabbix-front-end: Restore backwards compatibility.
Commit e301f1a8ed removed the NGINX argument
entirely, but users may rely on and override it.  Reported by rekado on #guix.

* gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Restore
exported variable.
(zabbix-front-end-nginx-extension): New procedure.
(zabbix-front-end-configuration): Remove FASTCGI-PARAMS field.  Restore NGINX
field, but default to the empty list.
(zabbix-front-end-service-type): Extend NGINX-SERVICE-TYPE by
ZABBIX-FRONT-END-NGINX-EXTENSION.
* doc/guix.texi (Monitoring Services): Regenerate documentation.
2022-02-07 18:19:46 +01:00
Ludovic Courtès
39e8025d3b
home: Add redshift service.
* gnu/home/services/desktop.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Desktop Home Services): New node.
2022-02-07 00:05:59 +01:00
Julien Lepiller
8391a99d08
nls: Update translations.
* po/doc/guix-cookbook.pt_BR.po: New file.
* po/doc/local.mk: Add it.
* doc/local.mk: Add pt_BR cookbook.
2022-02-04 18:29:00 +01:00
Christopher Baines
71d2bdfa9f
services: nar-herder: Support ttl and negative-ttl options.
* gnu/services/guix.scm (<nar-herder-configuration>): Add ttl and negative-ttl
fields.
(nar-herder-shepherd-services): Pass the ttl and negative-ttl values to the
service.
* doc/guix.texi (Guix Services): Document this.
2022-02-04 10:09:01 +00:00
Ludovic Courtès
5c13484646
deploy: Add '--execute'.
* guix/scripts/deploy.scm (show-help, %options): Add '--execute'.
(invoke-command): New procedure.
(guix-deploy): Break arguments at "--" and handle '-x' and associated
command.
* doc/guix.texi (Invoking guix deploy): Document it.
2022-02-02 18:35:00 +01:00
Ludovic Courtès
9679123ce0
guix system: 'describe' shows the running system, not the current one.
* guix/profiles.scm (generation-number): Add optional 'base-profile'
parameter and use it.
* guix/scripts/system.scm (process-command): Add "/run/current-system"
as first argument to 'generation-number'.
* doc/guix.texi (Invoking guix system): Clarify that 'guix system
describe' shows the running system.
2022-02-02 18:12:22 +01:00
Attila Lendvai
67f28faf42
services: tlp: Add config variables for battery charging.
* gnu/services/pm.scm (tlp-configuration): Add start-charge-thresh-bat0,
stop-charge-thresh-bat0, start-charge-thresh-bat1, stop-charge-thresh-bat1.
* doc/guix.texi (Power Management Services): Document them.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2022-02-02 10:43:04 +01:00
Marius Bakke
e301f1a8ed
services: zabbix-frontend: Support custom server package.
* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Rename
to ...
(zabbix-front-end-nginx-configuration): ... this.  Take server package and
FastCGI parameters from ...
(zabbix-front-end-configuration): ... here.  Add PACKAGE and FASTCGI-PARAMS
fields, remove NGINX.
(zabbix-front-end-service-type): Adjust for renamed procedure.
* doc/guix.texi (Monitoring Services)[Zabbix front-end]: Regenerate documentation.
2022-02-01 23:46:05 +01:00
Maxim Cournoyer
01c925bf49
doc: Fix typo.
* doc/guix.texi (Sound Services): Fix typo.
2022-02-01 15:32:11 -05:00
Maxim Cournoyer
c1043fd60d
doc: Add a rule of thumb to guide enabling new committers.
* doc/contributing.texi (Commit Access): Introduce a new rule of thumb to
determine if a contributor should be considered to become a committer.
2022-01-31 23:38:52 -05:00
Konrad Hinsen
c328d7fca1
doc: Document --profile option to "guix environment"
* doc/guix.texi (Invoking guix environment): New paragraph.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-01 00:24:26 +01:00
Konrad Hinsen
cff54cc47c
doc: Document --profile option to "guix shell"
* doc/guix.texi (Invoking guix shell): New paragraph.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-01 00:24:26 +01:00
Christopher Baines
087cdafc9f
services: guix: Add nar-herder-service-type.
* gnu/services/guix.scm (<nar-herder-configuration>): New record type.
(nar-herder-configuration, nar-herder-configuration?,
nar-herder-configuration-package,
nar-herder-configuration-user,
nar-herder-configuration-group,
nar-herder-configuration-mirror
nar-herder-configuration-database
nar-herder-configuration-database-dump
nar-herder-configuration-host
nar-herder-configuration-port
nar-herder-configuration-storage
nar-herder-configuration-storage-limit
nar-herder-configuration-storage-nar-removal-criteria
nar-herder-shepherd-services, nar-herder-activation,
nar-herder-account): New procedures.
(nar-herder-service-type): New variable.
* gnu/tests/guix.scm (%test-nar-herder): New variable.
* doc/guix.texi (Guix Services): Document the new service.
2022-01-31 18:28:16 +00:00