Commit graph

3596 commits

Author SHA1 Message Date
Janneke Nieuwenhuizen
b4d2838d51
maint: Generate 'doc/version-LANG.texi' reproducibly.
* doc/local.mk ($(srcdir)/doc/stamp-vti): Change rule into...
(version.texi-from-git): ...this new function.  Call it with vti,guix.texi,;
and for all MANUAL_LANGUAGES with $(i),po/doc/guix-manual.$(lang).po,
-$(lang.po).

Change-Id: Ia8df618178066cad320eecea0299337224e23a73
2024-04-14 10:29:10 +02:00
Janneke Nieuwenhuizen
ea23a124ad
maint: Help help2man generate reproducible man-pages.
* doc/local.mk (SOURCE_DATE_EPOCH): New exported variable.

Change-Id: I6636693695d5502657f1475d93d31949e0b0b39d
2024-04-14 10:29:10 +02:00
Timothy Sample
8fdc372841
maint: Generate 'doc/version.texi' reproducibly.
* doc/local.mk ($(srcdir)/doc/stamp-vti): New rule (overriding one provided
by Automake).

Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>

Change-Id: If44965e9a3ecfb45865c58ee7a558951be8d15ae
2024-04-14 10:29:10 +02:00
Janneke Nieuwenhuizen
076670f7ac
doc: Use "dejavu sans" instead of "Helvetica" or "sans" in dot images.
Font-dejavu is (now) an input of fontconfig.  Specifying "dejavu sans" makes
generated images reproducible even when other fonts are installed (notably
font-google-noto).

* doc/images/bootstrap-graph.dot,
doc/images/bootstrap-packages.dot,
doc/images/coreutils-bag-graph.dot,
doc/images/coreutils-graph.dot,
doc/images/gcc-core-mesboot0-graph.dot,
doc/images/service-graph.dot,
doc/images/shepherd-graph.dot: Use fontname = "dejavu sans".
* doc/guix.texi (Full-Source Bootstrap): Update gcc-core-mesboot0.dot recipe
accordingly.

Change-Id: If21d7d39d45c66de5bceafb7b825a057d540ee50
2024-04-14 10:29:07 +02:00
Matthew Trzcinski
df7b569b46
doc: Standardize IRC stylization.
* doc/guix.texi (After System Installation): Make references to Libera.Chat
consistent.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-04-14 08:40:28 +02:00
Matthew Trzcinski
cd557e2d1c
doc: Fix grammar and markup.
doc/guix.texi (Setting Up the Daemon): Remove comma and extra words.

doc/guix.texi (Mail Services): Add definite article to setting.  Use
@samp markup on setting.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: I5b3ef115ec718454db4fc046ea5f77ba9fe50a37
2024-04-12 16:31:12 +02:00
Ludovic Courtès
b30b838d50
gexp: Add #:guile parameter to ‘gexp->file’ and ‘scheme-file’.
This brings ‘gexp->file’ in line with its documentation and mirrors
what’s done for ‘gexp->script’ and ‘program-file’.

Fixes <https://issues.guix.gnu.org/69401>.

* guix/gexp.scm (gexp->file): Add #:guile, as was already documented.
(<scheme-file>)[guile]: New field.
(scheme-file): Add #:guile.
(scheme-file-compiler): Honor ‘guile’ field.
* tests/gexp.scm ("gexp->file")
("gexp->file + file-append", "gexp->file + #:splice?")
("gexp->file, cross-compilation")
("gexp->file, cross-compilation with default target")
Add #:guile to ‘gexp->file’ calls.
("gexp-modules deletes duplicates")
("gexp->derivation & with-imported-module & computed module")
("gexp->derivation & with-extensions", "scheme-file"): Likewise for
‘scheme-file’ calls.

Change-Id: I47536063d5e411e561ec321e535267e92dd06044

Reported-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I58d653c7fbe65c665bafcbd332ac9b264ddeab64
2024-04-08 00:05:48 +02:00
Florian Pelz
80d364b92b
doc: Restore some of the old installation instructions.
Follow-up to 227e0469db.

* doc/guix.texi (Binary Installation):
Revert wording for installing the Debian package.
Restore how to reproduce the binary tarball.
Restore how to uninstall.
(copying): Add copyright notice for Matthew Trzcinski.

Change-Id: Ib74199e39bd7a50ac58045f2bc47f61fc04eacb9
2024-04-07 10:29:37 +02:00
Matthew Trzcinski
2ce05b362c
doc: Move "Running the Test Suite" after "Building from Git".
* doc/contributing.texi (doc/guix.texi): Move "Running the Test
Suite" after "Building from Git".

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:38:34 -04:00
Matthew Trzcinski
fb82f6053c
doc: Move "Requirements" before "Building from Git"
* doc/contributing.texi (doc/guix.texi): Move "Requirements" before "Building
from Git".

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:37:44 -04:00
Maxim Cournoyer
2826596092
doc: Fix Texinfo menus.
There should be two spaces between the node name and its description.  Found
via 'M-x texinfo-all-menus-update' in Emacs.

Change-Id: I2b17180746f8d97ea5f927b8a504419c087dd5f5
2024-04-06 11:37:44 -04:00
Matthew Trzcinski
227e0469db
doc: Simplify installation instructions
* doc/guix.texi (Installation):
- Move the definition of "foreign distro" out of quotation
- Repeat overwrite warning
- Remove superfluous commentary

* doc/guix.texi (Binary Installation):
- Clarify that installing on a foreign distro has two methods: using
  packaged binaries and building from source
- Add cross reference to "Building from Git"
- Move the foreign distro installation instructions out of quotation
- Move directions for 'guix-install.sh' after instructions to use
  distribution-specific package managers
- Specify "distributions" as "GNU/Linux distributions"
- Add GnuPG as a requirement for 'guix-install.sh'
- Add comma after "Likewise"
- Remove redundant instructions to use 'guix-install.sh'
- Split the requirements between system requirements for binary
  installations, GNU/Linux or GNU/Hurd, and requirements for running
  'guix-install.sh'
- Clarify that 'guix-install.sh' guides users through the steps
- Summarize the steps 'guix-install.sh' follows rather than try to
  detail them
- Make explicit that the 'guix-install.sh' default is to download
  substitutes
- Emphasize that the substitute authorization code is an example and
  may need modification

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:37:39 -04:00
Ludovic Courtès
be14d41d9b
gnu: guix: Define ‘guix-for-channels’ and document its use.
* gnu/packages/package-management.scm (guix-for-channels): New
procedure.
* doc/guix.texi (Customizing the System-Wide Guix): New section.
(Base Services): Add cross-reference.

Change-Id: Ied51c3bf9bf08dfc629bb3f0a152eb20b869a636
2024-04-05 18:21:24 +02:00
Ludovic Courtès
d6a3818761
build-system/channel: Add support for additional channels.
Until now, ‘channel-build-system’ would assume a single channel, the
‘guix’ channel.  This change lets users specify additional channels
using the #:channels parameter.

* guix/build-system/channel.scm (build-channels): Add #:channels and
honor it.
(channel-build-system): In ‘lower’, add #:channels and honor it.
* doc/guix.texi (Build Systems): Document it.

Change-Id: I36c1d19cbeee02a4d1144de089b78df0390774a0
2024-04-05 18:21:23 +02:00
Ludovic Courtès
dd476cfb76
guix-install.sh: Add ‘--uninstall’ flag.
* etc/guix-install.sh (REQUIRE): Add groupdel and userdel.
(chk_term): Handle ‘WAR’.
(sys_delete_store, sys_delete_build_user, sys_delete_guix_daemon)
(sys_delete_init_profile, sys_delete_user_profiles): New functions.
(main): Rename to…
(main_install): … this.
(main_uninstall): New function.
(main): Dispatch between these two.
* doc/guix.texi (Installation): Refer to “Binary Installation” instead
of repeating it.
(Binary Installation): Document uninstallation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I55b7c10823773bced2e268273e8ce828cb3bd98d
2024-04-05 18:21:23 +02:00
Florian Pelz
74517806f8
doc: Explain to run bootstrap after Automake errors.
Fixes <https://issues.guix.gnu.org/70140>.
Suggested by Rostislav Svoboda <rostislav.svoboda@gmail.com>.

* doc/contributing.texi (Building from Git): Explain.
* doc/guix.texi: Update copyright year.

Change-Id: I0cedc60f9ece3ec78df60df54ffeacff545bfc63
2024-04-05 16:12:59 +02:00
Christopher Baines
ac19e038b4
Switch order of the default substitute servers.
The aim here is to improve the user experience.  There's anecdotal evidence
that the network performance for bordeaux is better compared to ci at least
for some users, and I don't know of any issues with rate limiting or access
restriction for bordeaux compared to ci.  It also has IPv6 support.

Additionally, bordeaux generally had more substitutes than ci, particularly
for aarch64-linux and armhf-linux.  This change will offer a very slight
speedup for those substitutes that only bordeaux has.

Bordeaux has been a default substitute server for nearly 3 years now and I
think this change is overdue.  I'm also hopeful that we'll be able to build on
the testing regarding mirrors for bordeaux, and that'll allow potentially
improving the hosting setup (through providing more redundancy) and further
improving substitute fetching for users who currently have issues with
substitute access.

* config-daemon.ac: Switch substitute urls order.
* doc/guix.texi: Ditto.
* etc/guix-install.sh: Ditto.
* gnu/installer/newt/network.scm (wait-service-online): Ditto.
* guix/store.scm (%default-substitute-urls): Ditto.

Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-04-03 17:18:38 +01:00
Janneke Nieuwenhuizen
df64d48e6f
maint: Fix help2man for guix subcommands with `make V=2'.
* doc/local.mk ($(srcdir)/%D%/guix-%.1): Use AM_V_HELP2MAN and cater for
make's `@' silencing at the start of the command.

Change-Id: Id80c48f0d7697167fea64700a7fe140003732d28
2024-04-03 16:19:47 +02:00
Florian Pelz
fa98837b1d
nls: Update translations.
* po/guix/ar.po: New file.
* po/guix/LINGUAS: Add 'ar'.
* po/doc/guix-cookbook.pt_BR.po: New file.
* po/doc/local.mk: Add 'pt_BR' cookbook.
* doc/local.mk: Add 'pt_BR' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'ko', 'pt_BR'.
* doc/guix-cookbook.texi (Top): Mention 'ko', 'pt_BR' cookbook.

Change-Id: Id1846ca100263b3fc1fa2ed52654c670270ee809
2024-04-01 14:09:20 +02:00
Maxim Cournoyer
4f236b328a
doc: cookbook: Fix typo.
* doc/guix-cookbook.texi (Network bridge for QEMU): Fix typo.

Change-Id: I32f88bd85157a6b2cee9f68840f9e77101596518
2024-03-31 21:25:50 -04:00
Liliana Marie Prikler
a915a57d91
Merge branch 'gnome-team' 2024-03-30 09:47:43 +01:00
Ludovic Courtès
b0a37d8b1a
doc: Cross-reference virtual build machines from ‘guix time-machine’.
* doc/guix.texi (Invoking guix time-machine): Tweak the note about
packages that may fail to build.  Add cross-reference to virtual build
machines.

Change-Id: Ib2a4a28cdca0c8970d0f5327e39b4a21800ea2e1
2024-03-30 01:01:32 +01:00
Ludovic Courtès
fbcd9022c6
doc: ‘guix time-machine’ can travel to v0.16.0.
This is a followup to a26bce55e6.

* doc/guix.texi (Invoking guix time-machine): Update reference to oldest
commit.

Change-Id: Iae3d751d4377de92481276f9f2f31128f85c23c4
2024-03-30 01:01:31 +01:00
Christopher Baines
b538c1d7b9
services: nar-herder: Add new configuration options.
* gnu/services/guix.scm (nar-herder-configuration-new-ttl,
nar-herder-cached-compression-configuration-unused-removal-duration,
nar-herder-cached-compression-configuration-ttl,
nar-herder-cached-compression-configuration-new-ttl): New procedure.
(nar-herder-shepherd-services): Handle the new options.
* doc/guix.texi (Guix Services): Document the new nar-herder options.

Change-Id: I161e490221a3ce394e32ada685dca27df60638bb
2024-03-25 20:40:22 +00:00
Ludovic Courtès
b5018807ee
doc: Mention channel files beyond ~/.config/guix.
* doc/guix.texi (Channels): Instead of mentioning just
~/.config/guix/channels.scm, mention channel files in general and link
to “Invoking guix pull”.

Change-Id: Iefb8a2d5ee5d804b2b6319785842fc3a97704495
2024-03-22 11:40:33 +01:00
Antero Mejr
883e69cdfd
services: guix: Add ‘channels’ field.
* doc/guix.texi (Base Services): Document
'guix-configuration-channels' field.
(Invoking guix pull): Add cross-reference.
* gnu/services/base.scm (install-channels-file): New procedure.
(guix-configuration): Add channels field.
(guix-activation): Use 'install-channels-file' procedure.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I4d89235bf0bc6dde69984138ccb894b48ace9d76
2024-03-22 11:40:32 +01:00
Ludovic Courtès
d67e4f0f9b
doc: Add “Source Tree Structure” section.
* doc/contributing.texi (Source Tree Structure): New node.
* doc/guix.texi (Programming Interface): Add cross-reference.

Change-Id: I141a1f4d806ae5f72c7a246e18c14dc63056a607
2024-03-21 17:43:16 +01:00
Ludovic Courtès
c8c5d12e45
doc: Update ‘block-facebook-hosts-service-type’ description.
This is a followup to c1d37d0653.

* doc/guix.texi (Networking Services): Update to mention unroutable
addresses.

Change-Id: I6f62e1f414a3eb7892b2d4cc0d011458bbec7001
2024-03-21 17:43:16 +01:00
Christopher Baines
8fa0761264
Merge remote-tracking branch 'savannah/master' into gnome-team
Change-Id: Iec8e15b79c6fde516294c2bfcaf8ee3575b1f745
2024-03-20 14:54:26 +00:00
Ludovic Courtès
176e2eda7f
doc: cookbook: Account for ‘guix pull’ in /etc/profile instructions.
* doc/guix-cookbook.texi (Setting Up Compute Nodes): Include
$HOME/.config/guix/current.

Change-Id: I6c1c42394991af8f1fa7c2630bdb4b0aef946c2b
2024-03-19 17:02:15 +01:00
Ludovic Courtès
b7931e6f5d
git authenticate: Document ‘--end’.
* guix/scripts/git/authenticate.scm (show-help): Document ‘--end’.
* doc/guix.texi (Invoking guix git authenticate): Likewise.

Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: Ia646203ce2f721487de547c76b9488754c70db66
2024-03-19 17:02:14 +01:00
Maxim Cournoyer
f12172612d
doc: Adjust for QEMU info manual name change.
* doc/guix.texi (Networking Setup): Change QEMU to qemu for its info manual
reference.

Change-Id: I55f57e66947f2581531c15fd5228a3ca043a9574
2024-03-19 03:40:09 -04:00
Carlo Zancanaro
d25620be4c
gnu: services: Add insecure-sasl-mechanisms to prosody configuration.
* gnu/services/messaging.scm (prosody-configuration): Add
insecure-sasl-mechanisms configuration option.
* doc/guix.texi (Messaging Services): Document it.

Change-Id: I8d9e42476ea8ad2f89b143ed4a66b4798e418586
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-03-17 12:53:21 +01:00
Rostislav Svoboda
4fe9aae225
doc: Correct the "guix package --install-from-expression" example.
* doc/guix.texi (Invoking @command{guix package}): Correct the module where
'guile-final' is defined. It is actually located in (gnu packages
commencement) rather than in the (gnu packages base).

Change-Id: I7747106916d53dcbe296b7302983c5013eb2926d
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-03-16 22:39:30 +00:00
Christopher Baines
618cae45dc
Merge remote-tracking branch 'savannah/master' into gnome-team
Change-Id: I775274c2693536e2efa36c9abca4c54c5c458e26
2024-03-16 10:19:30 +00:00
Luis Felipe
999bfa0d54
doc: build: Update paths to style sheets.
The Guix website style sheets are now organized in themes. This change
makes the documentation builder use the resources provided by a theme
called "initial" (See https://issues.guix.gnu.org/69783).

* doc/build.scm (syntax-highlighted-html): Update path to CSS.
(html-manual-indexes): Likewise.
(stylized-html): Likewise, and update path to language picker image.

Change-Id: Ib2d51fcfdec42ad827add1ead1cfee4c9c4e65b7
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-03-15 23:22:45 +01:00
Fabio Natali
3bd795bc57
doc: Fix section on LUKS support.
Only LUKS1 is supported in Guix at the time of this commit. Contrarily to what
reported in previous versions of this section, LUKS2 is not supported.

* doc/guix.texi (Keyboard Layout, Networking, and Partitioning)[Disk
Partitioning]: Fix section on LUKS support.

Signed-off-by: Christopher Baines <mail@cbaines.net>
Change-Id: Ia670963178810174d3ea4585c537defbaaeb0f25
2024-03-14 13:31:13 +00:00
Liliana Marie Prikler
2ee5451319
Merge branch 'master' into gnome-team 2024-03-10 00:05:58 +01:00
Giacomo Leidi
01f685d560
gnu: home: dotfiles: Properly support both plain and Stow directory layouts.
Fixes <https://issues.guix.gnu.org/68848>.

The current implementation of the home-dotfiles-service-type contradicts
the Guix manual.  This patch properly implements both the plain and Stow
dotfiles directory layouts.

It does so by refactoring home-dotfiles-configuration adding a new
packages field to support GNU Stow's users workflow and introducing
a new layout field to switch between the two directory layouts.

* gnu/home/services/dotfiles (home-dotfiles-configuration): Migrate to
(gnu services configuration);
[packages]: new field;
[layout]: new field;
(strip-stow-dotfile): new variable;
(strip-plain-dotfile): new variable;
(home-dotfiles-configuration->files): use the new fields;
[directory-contents]: allow for
selecting a subset of application dotfile directories;
* doc/guix.texi: document the new layouts.

Change-Id: I2e96037608353e360828290f055ec5271cfdfd48
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-06 23:25:51 +01:00
Ludovic Courtès
364422d0ac
doc: Fix typo in “Getting Started with the System”.
* doc/guix.texi (Getting Started with the System): Fix typo.

Change-Id: Idc52b9a4d5f5003899613595b6b275e098f6a3a8
2024-03-06 23:25:51 +01:00
Ludovic Courtès
edde7ee1bc
doc: Add “Inspecting Services” section.
* doc/guix.texi (Inspecting Services): New subsection.

Change-Id: I71378101de913a494e0d0e93cc76434c5a70b520
2024-03-02 16:08:50 +01:00
Ludovic Courtès
60c9a339df
doc: Add “Getting Started with the System” section.
* doc/guix.texi (Getting Started with the System): New node.
(After System Installation): Refer to it.  Move note about ‘sudo guix
pull’ to the “Getting Started with the System”.
(Getting Started): Refer to it.  Move note about ‘guix system roll-back’
to “Getting Started with the System”.
(Features): Refer to it.
(Using the Configuration System): Adjust intro.  Add “Troubleshooting”
note that mentions ‘guix style -f’ for misplaced parens.
(Instantiating the System): Simplify and cross-reference “Getting
Started with the System”.

Change-Id: Ie74f598450e8059a4579a016e2aeca2edd7696a7
2024-03-02 16:08:49 +01:00
Liliana Marie Prikler
25c14c893f
Merge branch 'master' into gnome-team 2024-03-02 12:22:34 +01:00
Carlo Zancanaro
e64617c5fa
doc: Document required setup steps for Nix service.
* doc/guix.texi (Nix service): Add specific channel setup commands, add
commands to create profile directory.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-27 11:51:07 +01:00
Liliana Marie Prikler
7bf4ce4582
Merge branch 'master' into gnome-team 2024-02-25 10:28:03 +01:00
Herman Rimm
b386c11e78
import: Do not return package name with json importer.
* guix/import/json.scm (json->code): Do not return package names after
package expressions.
* doc/package-hello.json: Fix comma errors and use valid greeter URL.

Change-Id: Id71924e72f690a9bda5fbfdb65a443029adfd158
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-23 19:02:55 +01:00
Herman Rimm
635af8628c
import: Insert packages into modules alphabetically.
* guix/scripts/import.scm (guix-import): Add 'insert' option.
(import-as-definitions): Add procedure.
* doc/guix.texi (Invoking guix import): Describe 'insert' option.

Change-Id: Id87ea707123630e12bcb6788599acac6895b26c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-23 19:02:35 +01:00
Herman Rimm
bf746ae258
doc: Note SVN dependency of texlive importer.
* doc/guix.texi (Invoking guix import): Note dependency and remove
  duplicated words.

Change-Id: I94320db8c8ab3569aa461876522d5560e37a19ea
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-23 19:00:52 +01:00
Maxim Cournoyer
ec9c8b0c1a
doc: Refine wording of binary installation introductory text.
* doc/guix.texi (Binary Installation): Mention the requirement to use a
Hurd or Linux kernel for the binary installation.

Suggested-by: Matt <matt@excalamus.com>
Change-Id: Ibc0552f59be4fdaaf8d44a5222e6feb925d3f06f
2024-02-21 12:05:00 -05:00
Ludovic Courtès
96ae7b2e33
doc: Augment ‘whoogle-service-type’ intro.
* doc/guix.texi (Whoogle Search): Enrich a bit.

Change-Id: Ib7e1da1c0709167d02c43ab991f3ae34fbc09c84
2024-02-20 10:57:16 +01:00
Miguel Ángel Moreno
0a7bf792c8
services: Add whoogle-service-type.
* gnu/services/web.scm (whoogle-service-type): New variable.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-02-20 10:57:16 +01:00
Ludovic Courtès
1cff19d8d4
services: virtual-build-machine: Add ‘configuration’ action.
* gnu/services/virtualization.scm (build-vm-shepherd-services): Add
‘configuration’ action.
* doc/guix.texi (Virtualization Services): Document it.

Change-Id: I4734e096d744b3cda0d523692498a73c0029e188
2024-02-18 15:34:43 +01:00
Liliana Marie Prikler
622df12ef3
Merge branch 'master' into gnome-team 2024-02-13 16:11:14 +01:00
Ludovic Courtès
9edbb2d7a4
services: Add ‘virtual-build-machine’ service.
* gnu/services/virtualization.scm (<virtual-build-machine>): New record type.
(%build-vm-ssh-port, %build-vm-secrets-port, %x86-64-intel-cpu-models):
New variables.
(qemu-cpu-model-for-date, virtual-build-machine-ssh-port)
(virtual-build-machine-secrets-port): New procedures.
(%minimal-vm-syslog-config, %virtual-build-machine-operating-system):
New variables.
(virtual-build-machine-default-image):
(virtual-build-machine-account-name)
(virtual-build-machine-accounts)
(build-vm-shepherd-services)
(initialize-build-vm-substitutes)
(build-vm-activation)
(virtual-build-machine-offloading-ssh-key)
(virtual-build-machine-activation)
(virtual-build-machine-secret-root)
(check-vm-availability)
(build-vm-guix-extension): New procedures.
(initialize-hurd-vm-substitutes): Remove.
(hurd-vm-activation): Rewrite in terms of ‘build-vm-activation’.
* gnu/system/vm.scm (linux-image-startup-command): New procedure.
(operating-system-for-image): Export.
* gnu/tests/virtualization.scm (run-command-over-ssh): New procedure,
extracted from…
(run-childhurd-test): … here.
[test]: Adjust accordingly.
(%build-vm-os): New variable.
(run-build-vm-test): New procedure.
(%test-build-vm): New variable.
* doc/guix.texi (Virtualization Services)[Virtual Build Machines]: New
section.
(Build Environment Setup): Add cross-reference.

Change-Id: I0a47652a583062314020325aedb654f11cb2499c
2024-02-10 23:21:07 +01:00
Hilton Chain
2b296427d7
gnu: mbedtls-apache: Rename to mbedtls-lts.
* gnu/packages/tls.scm (mbedtls-apache): Rename package to "mbedtls".
Rename variable to…
(mbedtls-lts): …this.
(mbedtls-apache): Define as deprecated by mbedtls-lts.
(mbedtls-for-hiawatha): Adjust accordingly.
* doc/guix.texi: Likewise.
* gnu/packages/emulators.scm (dolphin-emu,retroarch)[inputs]: Likewise.
* gnu/packages/game-development.scm (godot-lts,godot)[inputs]: Likewise.
* gnu/packages/hardware.scm (hueplusplus,openrgb)[inputs]: Likewise.
* gnu/packages/haxe.scm (neko,haxe,hashlink)[inputs]: Likewise.
* gnu/packages/irc.scm (inspircd)[inputs]: Likewise.
* gnu/packages/julia-jll.scm (julia-mbedtls-jll)[arguments]<#:phases>,[inputs]:
Likewise.
* gnu/packages/julia.scm (julia)[arguments]<#:phases>,[inputs]: Likewise.
* gnu/packages/linphone.scm (bctoolbox)[inputs]: Likewise.
* gnu/packages/linux.scm (dislocker)[inputs]: Likewise.
* gnu/packages/networking.scm (nng)[inputs]: Likewise.
* gnu/packages/search.scm (dataparksearch)[inputs]: Likewise.
* gnu/packages/video.scm (obs)[inputs]: Likewise.
* gnu/packages/web.scm (hiawatha)[arguments]<#:phases>: Likewise.

Change-Id: I0c58b3cd0bcf6e44e7b16a69f6d2739aa3c1545b
2024-02-05 13:56:31 +08:00
Liliana Marie Prikler
e6c847defb
Merge branch 'master' into gnome-team 2024-02-03 14:39:49 +01:00
Simon Tournier
9389070b9c
doc: contributing: Remove sentences appearing twice.
* doc/contributing.texi (Commit Access): Remove sentences appearing twice and
use @url.

Change-Id: I2b0cb9eebc6f9f66147f286c0bdffdf8924ec412
2024-02-03 10:29:54 +01:00
Simon Tournier
f2e5e94544
doc: contributing: Fix typo.
* doc/contributing.texi (Reviewing the Work of Others): Fix typo.

Change-Id: I4d3afd4f7e47dbda8a43fdf7f18c7c233d1c8762
2024-02-02 17:12:38 +01:00
Maxim Cournoyer
b88bff628d
doc: Mention the responsibilities that blocking comes with.
* doc/contributing.texi (Commit Access): Mention that blocking comes with
extra responsibilities.

Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
Signed-off-by: Simon Tournier <zimon.toutoune@gmail.com>
2024-02-02 17:09:27 +01:00
Carlo Zancanaro
d4a4b12f0a
services: certbot: Reload nginx in deploy hook.
* gnu/services/certbot.scm (certbot-deploy-hook): Reload nginx.
* doc/guix.texi (Certificate services): Remove deploy-hook from example.

Change-Id: Ibb10481170a6fda7df72492072b939dd6a6ad176
Signed-off-by: Clément Lassieur <clement@lassieur.org>
2024-01-31 16:54:16 +01:00
Carlo Zancanaro
fc0ec9a3cc
services: certbot: Create self-signed certificates before certbot runs.
* gnu/services/certbot.scm (<certificate-configuration>): Add
start-self-signed? field.
(generate-certificate-gexp): New procedure.
(certbot-activation): Generate self-signed certificates when
start-self-signed? is #t.
* doc/guix.texi (Certificate services): Document start-self-signed?.

Change-Id: Icfd85ae0c3e29324acbcde6ba283546cf0e27a1d
Signed-off-by: Clément Lassieur <clement@lassieur.org>
2024-01-31 16:54:12 +01:00
Carlo Zancanaro
a2b1ef903b
services: certbot: Symlink certificates to /etc/certs.
* gnu/services/certbot.scm (certbot-deploy-hook): New procedure.
(certbot-command): Pass new deploy hook to certbot.
* doc/guix.texi: Replace "letsencrypt/live" with "certs" throughout, except in
the certbot deploy-hook description.

Change-Id: I2ba5e4903d1e293e566b732a84b07d5a134b697d
Signed-off-by: Clément Lassieur <clement@lassieur.org>
2024-01-31 16:54:03 +01:00
Attila Lendvai
dde76db33f
services: shepherd: Add respawn-limit and respawn-delay.
* gnu/services/shepherd.scm (<shepherd-service>): Add respawn-limit and
respawn-delay.
(shepherd-service-file): Emit the two values into the shepherd service
constructor form.

Change-Id: I54408e8fb4bcc0956d9610771bf5c566fdc2914c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-28 22:50:49 +01:00
Ludovic Courtès
5d2bc09f0a
doc: Add index entries for “dot files” and “Stow”.
* doc/guix.texi (Essential Home Services): Add index entries.

Change-Id: I0c3a5f5d94fe273c137eb3ca5fa6c5c91a34599b
2024-01-28 22:50:49 +01:00
Giacomo Leidi
2f67528edd
home: Add home-dotfiles-service.
* gnu/home/service/dotfiles.scm: New file;
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Essential Home Services): Document it.

Change-Id: I6769169cfacefc3842faa5b31bee081c56c28743
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2024-01-28 22:50:49 +01:00
Florian Pelz
2823253484
doc: Fix typo.
Follow-up to 3872ecf274.

* doc/guix.texi (Complex Configurations): Use correct variable name.
2024-01-27 01:39:17 +01:00
Maxim Cournoyer
e06b283f60
doc: Define mumble-server-service-type as a variable.
Using defvar for service types causes them to be part of the index, which is
useful for discoverability.

* doc/guix.texi (Telephony Services) <mumble-server-service-type>: Define with
defvar.

Change-Id: I01bed0c86ff12425a81294cb12f1b2a8bd14cd6f
2024-01-26 15:24:00 -05:00
Maxim Cournoyer
063445792b
doc: Define jami-service-type as a variable.
Using defvar for service types causes them to be part of the index, which is
useful for discoverability.

* doc/guix.texi (Telephony Services) <jami-service-type>: Define with
defvar.

Change-Id: I7cbb3b7c84c34a91db689b8698a19ed49ef607b4
2024-01-26 15:23:50 -05:00
Maxim Cournoyer
2b0f475809
doc: Define postgresql-service-type as a variable.
Using defvar for service types causes them to be part of the index, which is
useful for discoverability.

* doc/guix.texi (Database Services) <postgresql-service-type>: Define with
defvar.

Change-Id: If1c920ad275a9386ec7bb9e48e9a132df98dee97
2024-01-26 15:04:13 -05:00
Ludovic Courtès
6cca8f0694
weather: Add ‘-e’.
* guix/scripts/weather.scm (show-help, %options): Add ‘-e’.
(guix-weather): Handle it.
* doc/guix.texi (Invoking guix weather): Document it.

Change-Id: I6dc97ec2b8226b57be33247b05a34c23b573a64f
2024-01-24 23:28:38 +01:00
Romain GARBAGE
916fb5347a
guix: download: Add support for git repositories.
* guix/scripts/download.scm (git-download-to-store*): Add new variable.
(copy-recursively-without-dot-git): New variable.
(git-download-to-file): Add new variable.
(show-help): Add 'git', 'commit', 'branch' and 'recursive'options
help message.
(%default-options): Add default value for 'git-reference' and
'recursive' options.
(%options): Add 'git', 'commit', 'branch' and 'recursive' command
line options.
(guix-download) [hash]: Compute hash with 'file-hash*' instead of
'port-hash' from (gcrypt hash) module. This allows us to compute
hashes for directories.
* doc/guix.texi (Invoking guix-download): Add @item entries for
`git', `commit', `branch' and `recursive' options. Add a paragraph in
the introduction.
* tests/guix-download.sh: New tests. Move variables and trap definition
to the top of the file.

Change-Id: Ic2c428dca4cfcb0d4714ed361a4c46609339140a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-01-22 10:02:28 -05:00
muradm
1bdeec5d66
services: connman: Add 'connman-general-configuration'.
Currently connman has no main.conf as specified in 'man 5 connman.conf' which
would allow setting NetworkInterfaceBalcklist and other useful options.

This patch adds connman-general-configuration, serializes it and
passes to connmad with --config= flag.

All configuration fields are 'maybe-*' deliberately, to not disturb current
users and not require supporting configuration changes for connmand.

* gnu/services/networking.scm (<connman-general-configuration>): New
configuration record to represent main.conf for connmand.
(<connman-configuration>)[general-configuration]: New field.
(connman-shepherd-service): Honor it.
*doc/guix.texi (Networking Services): Add generated configuration.

Change-Id: I5d78f49e8b2d5e0b3cbd7b8b604e8a254b6397e8
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-01-22 09:51:32 -05:00
Jean-Pierre De Jesus DIAZ
2a43692aa7
guix: Add ork1-elf platform.
* doc/guix.texi: Document or1k-elf platform.
* guix/platforms/or1k.scm (or1k-elf): New variable.
* Makefile.am (MODULES): Add guix/platforms/or1k.scm.

Change-Id: I3f71a0fa97f1ebd2bbdbf6cd00a93b477a123648
2024-01-22 11:26:56 +01:00
Efraim Flashner
cb3f833aaa
doc: Fix mistakes in the manual.
Recommended by Christian Miller.

* doc/guix.texi (Packages with Multiple Outputs): Replace 'a packages'
with 'a package'.
(Invoking guix time-machine): Don't assume knowledge and give an
explicit link to Back to the Future.
(Invoking guix pack): Remove doubled word.
(Build Systems): Same.
(Debugging Build Failures): 'inspect' is not a command to be run.
(Invoking guix import): Remove doubled word.
(Invoking guix size): Remove stray word.
(Invoking guix processes): Replace 'guix environment' with 'guix shell'.
(Base Services): Add missing word.
(Networking Setup): Adjust a/an usage.
(Networking Services): Remove stray symbol.  Add space between two
words.
(Desktop Services): Remove stray symbol from example.
(Database Services): Document default postgresql version.
(Web Services): Adjust indentation.
(Audio Services): Add missing newline.
(Miscellaneous Services): Switch 'get' to 'gets'.
(Bootloader Configuration): Remove stray symbol.
(Secure Shell): Remove marks around accepted values.
(Installing Debugging Files): Replace 'is' with 'it'.
(Full-Source Bootstrap): Remove doubled word.
(Preparing to Use the Bootstrap Binaries): Same.

Change-Id: Ifbf2677dff7642c6531384145363d7611286e48b
2024-01-16 14:24:10 +02:00
Tomas Volf
086850e5b2
bootloader: grub: Add support for loading an additional initrd.
In order to be able to provide decryption keys for the LUKS device, they need
to be available in the initial ram disk.  However they cannot be stored inside
the usual initrd, since it is stored in the store and being a
world-readable (as files in the store are) is not a desired property for a
initrd containing decryption keys.  This commit adds an option to load
additional initrd during the boot, one that is not stored inside the store and
therefore can contain secrets.

Since only grub supports encrypted /boot, only grub is modified to use the
extra-initrd.  There is no use case for the other bootloaders.

* doc/guix.texi (Bootloader Configuration): Describe the new extra-initrd
field.
* gnu/bootloader.scm (<bootloader-configuration>): Add extra-initrd field.
* gnu/bootloader/grub.scm (make-grub-configuration): Use the extra-initrd
field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I995989bb623bb594ccdafbf4a1a6de941bd4189f
2024-01-14 23:00:03 +01:00
Tomas Volf
d082312ef7
mapped-devices: Allow unlocking by a key file.
Requiring the user to input their password in order to unlock a device is not
always reasonable, so having an option to unlock the device using a key file
is a nice quality of life change.

* gnu/system/mapped-devices.scm (open-luks-device): Add #:key-file argument.
(luks-device-mapping-with-options): New procedure.
* doc/guix.texi (Mapped Devices): Describe the new procedure.

Change-Id: I1de4e045f8c2c11f9a94f1656e839c785b0c11c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Liliana Marie Prikler
1682264fda
Merge branch 'master' into gnome-team 2024-01-14 17:23:44 +01:00
Nikolaos Chatzikonstantinou
cd7763350a
doc: Fix typos and add readonly option to qemu invocation.
* doc/guix.texi: Fix typos and add readonly option to qemu invocation.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I7b686e8ff45532e96fe370f0f344977cdf218bbe
2024-01-12 17:32:05 +01:00
David Elsing
b26926189e
guix: import: Optionally import necessary yanked crates.
* doc/guix.texi (Invoking guix import): Mention '--allow-yanked'.
* guix/import/crate.scm (make-crate-sexp): Add yanked? argument. For
yanked packages, use the full version suffixed by "-yanked" for
generated variable names and add a comment and package property.
(crate->guix-package): Add allow-yanked? argument and if it is set to #t,
allow importing yanked crates if no other version matching the
requirements exists.
[find-package-version]: Packages previously marked as yanked are only
included if allow-yanked? is #t and then take the lowest priority.
[find-crate-version]: If allow-yanked? is #t, also consider yanked
versions with the lowest priority.
[dependency-name+version]: Rename to ...
[dependency-name+version+yanked] ...this. Honor allow-yanked? and choose
between an existing package and an upstream package.  Exit with an error
message if no version fulfilling the requirement is found.
[version*]: Exit with an error message if the crate version is not found.
(cargo-recursive-import): Add allow-yanked? argument.
* guix/read-print.scm: Export <comment>.
* guix/scripts/import/crate.scm: Add "--allow-yanked".
* tests/crate.scm: Add test 'crate-recursive-import-only-yanked-available'.
[sort-map-dependencies]: Adjust accordingly.
[remove-yanked-info]: New variable.
Adjust test 'crate-recursive-import-honors-existing-packages'.
(test-bar-dependencies): Add yanked dev-dependencies.
(test-leaf-bob-crate): Add yanked versions.
(rust-leaf-bob-3.0.2-yanked): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I175d89b39774e6b57dcd1f05bf68718d23866bb7
2024-01-09 09:38:38 +02:00
David Elsing
9f44ff2bb4
import: crate: Optionally import dev-dependencies recursively.
If --recursive-dev-dependencies is specified, development dependencies
are also included for all recursively imported packages.

* doc/guix.texi (Invoking guix import): Mention --recursive-dev-dependencies.
* guix/import/crate.scm (crate-recursive-import): Add
recursive-dev-dependencies? argument.
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add
"--recursive-dev-dependencies".
* tests/crate.scm: Test both #f and #t for #:recursive-dev-dependencies?
in the 'cargo-recursive-import' test.
(test-root-dependencies): Add intermediate-c as dev-dependency.
(test-intermediate-c-crate, test-intermediate-c-dependencies): New
variables.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: Iae89794681155d77f128733120e60f03bc297717
2024-01-09 09:38:38 +02:00
Oleg Pykhalov
0cf75c9b2f
guix: pack: Build layered images.
* guix/scripts/pack.scm (docker-image, guix-pack, %default-options,
%docker-format-options, show-docker-format-options/detailed): Handle
'--max-layers' option.
* doc/guix.texi (Invoking guix pack): Document this.

Change-Id: I90660b2421fcdde891f003469fe2e2edaac7da41
2024-01-08 21:04:44 +03:00
Graham James Addis
7d5168a2af
guix: pack: Add '--entry-point-argument' option.
* guix/scripts/pack.scm:
(entry-point-argument-spec-option-parser): New procedure.
(docker-image, %default-options, %docker-format-options,
show-docker-format-options/detailed, %options, show-docker-format-options,
guix-pack): Handle '--entry-point-argument' option.
* doc/guix.texi: (Invoking guix pack): Document this

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
Change-Id: I1124feff6af39dcc63c85fd6cc7ad50f398489dc
2024-01-08 21:04:44 +03:00
Tomas Volf
63bafb05bc
doc: Delete trailing whitespace.
* doc/guix.texi: Delete trailing whitespace.

Change-Id: Ibf99a551f890044b8ce5772bdebb8a0b02ab1c21
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-01-07 20:56:45 +01:00
Liliana Marie Prikler
2cbb1a6e1e
Merge branch 'master' into gnome-team 2024-01-07 18:31:32 +01:00
Ludovic Courtès
d5724111ea
daemon: Change default ‘timeout’ and ‘max-silent-time’ values.
Having a timeout seems generally preferable as it makes sure build slots
are not kept busy for no good reason (few package builds, if any, are
expected to exceed these values).

* nix/libstore/globals.cc (Settings::Settings): Change ‘maxSilentTime’
and ‘buildTimeout’.
* gnu/services/base.scm (<guix-configuration>)[max-silent-time]
[timeout]: Change default values.
* doc/guix.texi (Invoking guix-daemon, Base Services): Adjust
accordingly.

Change-Id: I25c50893f3f7fcca451b8f093d9d4d1a15fa58d8
2024-01-05 17:27:21 +01:00
Connor Clark
2f642b6023
services: docker: Add config-file option.
* gnu/services/docker.scm (docker-configuration)[config-file] Add file-like
field.
* doc/guix.texi (Docker Service): Add information about config-file.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-01-03 15:32:01 +01:00
Liliana Marie Prikler
1cd97066c2
Merge branch 'master' into gnome-team 2024-01-01 21:56:00 +01:00
Jonathan Brielmaier
1185b14a29
doc: cookbook: Fix typo.
Follow-up: f24b14767d

* doc/guix-cookbook.texi (Routed network for libvirt): Fix typo in
section name.

Change-Id: I1ba7ee2cba89764283f6a702a793ee9100585a87
2023-12-31 11:41:16 +01:00
Florian Pelz
f0752de257
doc: Use accurate wording in Emacs-Debbugs configuration.
'M-x debbugs-gnu' does not prompt for which bugs to show.
'C-u M-x debbugs-gnu' would.
Follow-up to 19fe24c5b9.

* doc/contributing.texi (Viewing Bugs within Emacs): Make comment
more accurate.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-12-31 01:01:40 -05:00
Maxim Cournoyer
f24b14767d
Add network bridge guide to the cookbook.
Change-Id: If478196985aac7947067329957516f82bcb95ca4
2023-12-30 00:28:18 -05:00
Maxim Cournoyer
b69bdcf77f
doc: Fix doc and clarify how to use libvirt as unprivileged user.
* doc/guix.texi (Virtualization Services): Document the necessity of being
part of the "libvirt" group and augment example.  Remove extraneous
"(unix-sock-group "libvirt")" from example, as this is now the default value.
Update default documented value from "root" to "libvirt".

Fixes: https://issues.guix.gnu.org/34611
Reported-by: Brett Gilio <brettg@posteo.net>
Change-Id: I5fe17706f69db55fbd661e0a43115c56d0ffd9a9
2023-12-30 00:28:18 -05:00
David Thompson
7722da6fa5
services: laminar: Add configuration option for supplementary groups.
* gnu/services/ci (<laminar-configuration>)[supplemental-groups]: New field.
(laminar-shepherd-service): Exec laminard with supplementary groups.
(laminar-account): Add supplementary groups to laminar user.
* doc/guix.texi (Laminar): Document new configuration field.

Change-Id: Iebfdbb58ea8c6dfa22bb8f64f6463e3ad133d2f9
2023-12-28 11:02:56 -05:00
Brian Cully
afdbf7f271
gnu: home: Add home-pipewire service.
This adds a set of home Shepherd services which will start the required
services for a functional PipeWire setup.

* gnu/home/services/sound.scm (home-pipewire-shepherd-service,
home-wireplumber-shepherd-service, home-pipewire-shepherd-services,
home-pipewire-asoundrc, home-pipewire-xdg-configuration,
home-pipewire-pulseaudio-shepherd-service): New procedures.
(home-pipewire-service-type): New service type.
(home-pipewire-configuration): New struct.
(home-pipewire-disable-pulseaudio-auto-start): New variable.
* doc/guix.texi (Sound Home Services): Document it.

Change-Id: I99e0ae860de91d459c3c554ec5503bf35f785a2a
Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2023-12-26 15:41:59 +03:00
Liliana Marie Prikler
24d4d6fdd6
Merge branch 'master' into gnome-team 2023-12-20 00:05:21 +01:00
Nicolas Graves
9dab758791
build-system: Add ‘composer-build-system’.
* guix/build-system/composer.scm: New file.
* guix/build/composer-build-system.scm: New file.
* gnu/packages/aux-files/findclass.php: New file.
* Makefile.am: Add them.
* doc/guix.texi (Build Systems): Document it.

Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ie6a05b42ff04d3ad774a0a20278a77e4820bb8f6
2023-12-18 23:16:55 +01:00
Nicolas Graves
b7e3945283
guix: import: Add composer importer.
* guix/import/composer.scm: New file.
* guix/scripts/import/composer.scm: New file.
* guix/tests/composer.scm: New file.
* Makefile.am: Add them.
* guix/scripts/import.scm: Add composer importer.
* doc/guix.texi (Invoking guix import): Mention it.

Change-Id: I44a89b8cc80ef5b4a3cd15e8fbba4a18c1cea0b1

Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-12-18 23:16:28 +01:00
Maxim Cournoyer
d1eac4f3b7
Update cookbook Texinfo menus.
Automated via C-c C-u C-a with Emacs.

Change-Id: I9e595430529f8f994988c1ac3c919bdaef930dc1
2023-12-18 15:01:09 -05:00
Efraim Flashner
f8c93ea712
doc: Document the rust-target platform field.
* doc/guix.texi (platform Reference): Document the rust-target platform
field.

Change-Id: I31642bbc64f6d4f2bfeed4a4000f95f853580444
2023-12-18 08:14:16 +02:00
Christopher Baines
cbe64c316d
services: guix: Remove guix-build-coordinator-queue-builds service.
This has been effectively replaced by the bffe.

* gnu/services/guix.scm (<guix-data-service-configuration>): Remove record
type.
(guix-build-coordinator-queue-builds-shepherd-services,
guix-build-coordinator-queue-builds-activation,
guix-build-coordinator-queue-builds-account): Remove procedures
(guix-build-coordinator-queue-builds-service-type): Remove service type.

Change-Id: I2a233fb10b12cc9bfddebaa35928b25c243f82a2
2023-12-22 16:41:42 +00:00
Ludovic Courtès
11a454f9da
gexp: #:references-graphs accepts and honors <gexp-input> records.
* guix/gexp.scm (lower-reference-graphs)[tuple->gexp-input]: Add
‘gexp-input?’ case.
(gexp->derivation): Update docstring.
* doc/guix.texi (G-Expressions): Adjust accordingly.
* tests/gexp.scm ("references-file, non-default output"): New test.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I595cb75da0867ab8ab44552887dc06ed1d23315e
2023-12-22 00:31:40 +01:00
Ludovic Courtès
d9190abbd2
gexp: Add compiler for <gexp-input>.
* guix/gexp.scm (gexp-input-compiler): New procedure.
* tests/gexp.scm ("gexp references non-existent output")
("gexp-input, as first-class input"): New tests.
* doc/guix.texi (G-Expressions): Document it.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I95b58d6e4d77a54364026b4324fbb00125a9402e
2023-12-22 00:31:40 +01:00
Thomas Ieong
b681e339fa
services: Add rspamd-service-type.
* gnu/services/mail.scm (rspamd-service-type): New variable.
* gnu/tests/mail.scm (%test-rspamd): New variable.
* doc/guix.texi: Document it.

Co-authored-by: Saku Laesvuori <saku@laesvuori.fi>
Change-Id: I7196643f087ffe9fc91aab231b69d5ed8dc9d198
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-12-14 23:12:24 +01:00
Saku Laesvuori
59d65f66c5
services: guix: Allow gexps evaluating to a list of build-machines.
* gnu/services/base.scm (guix-machines-files-installation): Handle
machines being a mixed list of build-machines and lists of
build-machines.
* doc/guix.texi (Base Services): Document it.

Change-Id: Ie404562ca0b564413233c3a624046da831893dc3
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-12-14 23:12:24 +01:00
Liliana Marie Prikler
4c323c2f83
Merge branch 'master' into HEAD
Change-Id: I3f5d121162d98ef2ae61a62c4da3b0fd19d864e8
2023-12-03 07:20:53 +01:00
Liliana Marie Prikler
1cc3b7e80f
Merge branch 'master' into gnome-team
Change-Id: I62da840b7600f2d3d8541e666d09e2f2a1b7d8c4
2023-11-19 10:02:15 +01:00
Liliana Marie Prikler
72e886328c
Merge branch 'master' into gnome-team
Change-Id: I88d3789460d1a89917451d80405d89a2824006ac
2023-11-04 07:43:44 +01:00
Julien Lepiller
c95104c2e9
doc: contributiong: Fix ref usage.
Previous usage renders as "see See Teams".

* doc/contributing.texi: Fix ref usage.

Change-Id: I97a91697ecb87d07cc3c962a79d87dd290a70a7c
2023-11-01 17:20:17 +01:00
Liliana Marie Prikler
e38d6a9c2f
Merge branch 'master' into gnome-team
Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191
2023-10-23 21:09:49 +02:00
Maxim Cournoyer
cbd20d6274
doc: Document Cuirass build notifications.
* doc/contributing.texi (Tracking Bugs and Changes)
<Cuirass Build Notifications>: New subsection.

Change-Id: Icead24ec18cd4511ee6217aae3c1d11ec552a9c7
Reviewed-by: Mathieu Othacehe <othacehe@gnu.org>
2023-10-23 11:42:19 -04:00
Maxim Cournoyer
8005e09b26
build: Add a commit-msg hook that embeds Change-Id in commit messages.
Partially implements <https://issues.guix.gnu.org/66027>.

This will make it possible to track a merged commit back to its original
posting on the mailing list, and open the door to new opportunities such as
closing fully merged series automatically.

* Makefile.am (COMMIT_MSG_MAGIC): New variable.
(.git/hooks/commit-msg): New target.
* etc/git/commit-msg: New file.
* doc/contributing.texi (Configuring Git): Document Change-Id.

Series-changes: 3
 - Clarify documentation text, as suggested by Simon
Change-Id: Ia92fa958eae600fdd4e180bad494c85db8bb4dd6
Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
2023-10-22 16:09:04 -04:00
Vivien Kraus
498db4de1f
gnu: udev-service-type: accept hardware description file extensions.
The udev-configuration record now has a hardware field.

The contents of the /etc/udev directory now includes hwdb.bin, which is
computed when the system is instanciated (prior to system activation).  The
hardware description files used to generate hwdb.bin are not installed in
/etc, because they are not required at run-time.

The documentation has been reworked so as to explain why creating udev rules
or hardware needs helper functions for configuration or extension.

* gnu/services/base.scm (udev-hardware): New function.
(file->udev-hardware): New function.
(udev-hardware-service): New function.
(udev-etc): Add hwdb.d and hwdb.bin.
(module): Export udev-hardware, file->udev-hardware, and udev-hardware-service.
(<udev-configuration>): Add the native-udev field.
(udev-service-type) [extend]: Populate the hardware field.
* doc/guix.texi (Base Services)[udev-service-type]: Explain configuration and
extension values.
* doc/guix.texi (Base Services)[udev-hardware]: Document it.
[udev-hardware-service]: Same.
* doc/guix.texi (Base Services)[udev-configuration]: Document the native-udev
field.
2023-10-10 21:59:25 +02:00
Ludovic Courtès
96b40c3eba
doc: Fix typo.
* doc/guix.texi (GNU Privacy Guard): Fix typo.
2023-10-08 23:43:49 +02:00
Bruno Victal
00a28bc435
services: configuration: Add some commonly used predicates.
* gnu/services/configuration.scm (list-of-packages?, list-of-symbols?): New
predicate.
* gnu/services/audio.scm (list-of-symbol?): Remove.
* gnu/services/telephony.scm (string-list?): Remove.
(serialize-string-list): Rename to …
(serialize-list-of-strings): … this.
(account-fingerprint-list?, jami-account-list?): Use list-of.
* doc/guix.texi: Update it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-10-07 12:41:06 -04:00
Bruno Victal
3872ecf274
doc: Rewrite define-configuration.
Rewrite this section to make it easier to document later syntactical
changes.

* doc/guix.texi (Complex Configurations): Rewrite define-configuration
documentation. Fix simple serializer example.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-10-07 12:41:05 -04:00
Nikolaos Chatzikonstantinou
3d4d7fec05
doc: Fix channel name typo.
When the manual has "variant-personal-packages", it actually refers to the
channel "variant-packages", as it is named so elsewhere.

To correct this, I ran the command

    grep -r -l variant-personal-packages | xargs \
    sed -i 's/variang-personal-packages/variant-packages/g'

* doc/guix.texi (Specifying Additional Channels): Fix channel name typo.
* po/doc/guix-manual.de.po: Fix channel name typo.
* po/doc/guix-manual.es.po: Fix channel name typo.
* po/doc/guix-manual.fr.po: Fix channel name typo.
* po/doc/guix-manual.pt_BR.po: Fix channel name typo.
* po/doc/guix-manual.ru.po: Fix channel name typo.
* po/doc/guix-manual.zh_CN.po: Fix channel name typo.

Signed-off-by: Nikolaos Chatzikonstantinou <nchatz314@gmail.com>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-10-05 23:14:54 +02:00
Ludovic Courtès
7b710836a1
doc: Suggest keeping record type descriptors private.
* doc/contributing.texi (Data Types and Pattern Matching): Add paragraph
about keeping RTDs private.

Suggested-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-10-05 23:14:54 +02:00
Mekeor Melire
5694352c05
doc: Update bug-reference configuration snippet.
* doc/contributing.texi (The Perfect Setup)
<Viewing Bugs within Emacs>: Make bug-reference-bug-regexp match
more URLs based on issues.guix.gnu.org.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Suggested-by: Simon Tournier <zimon.toutoune@gmail.com>
2023-10-05 13:11:46 -04:00
Ekaitz Zarraga
044a76c280
doc: contributing: Add alternative setups section.
Start with Guile Studio and Vim/NeoVim.

* doc/contributing.texi (Alternative Setups): Add section explaining
other setups that are similar to the one in The Perfect Setup.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-10-05 15:05:41 +03:00
Ludovic Courtès
4348947c74
weather: Report unauthorized substitute servers.
The goal is to make it easier to diagnose substitute
misconfiguration (where we’re passing a substitute URL whose
corresponding key is not authorized).

Suggested by Emmanuel Agullo.

* guix/scripts/weather.scm (check-narinfo-authorization): New procedure.
(report-server-coverage): Use it.
* doc/guix.texi (Invoking guix weather): Document it.
(Getting Substitutes from Other Servers): Add “Troubleshooting” frame.

Change-Id: I0a049c39eefb10d6a06634c8b16aa86902769791
2023-12-11 23:19:04 +01:00
Ludovic Courtès
7e11369586
weather: Use the same substitute URLs as guix-daemon.
* guix/scripts/weather.scm (%default-options): Remove ‘substitute-urls’.
(guix-weather): Call ‘substitute-urls’ when OPTS doesn’t have it.  Warn
when ‘substitute-urls’ returns #f.
* doc/guix.texi (Invoking guix weather): Adjust accordingly.

Change-Id: I3e9100074f2ad559e5c408660db70430d64f2bef
2023-12-11 23:19:00 +01:00
Raphaël Mélotte
b650dcabf1
doc: suggest using pre-inst-env for git-send-email on foreign distros
On foreign distros, not using pre-inst-env when using git-send-email results
in a backtrace ending with: no code for module (guix ui)
This can be confusing as users did not have to use pre-inst-env to use
git-send-email before.

* doc/contributing.texi (Sending a Patch Series): add a note to suggest using
pre-inst-env when calling git-send-email on foreign distros.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-12-11 23:16:27 +01:00
Aleksandr Vityazev
c6141a3da8
doc: Update yggdrasil related documentation.
* doc/guix.texi (Networking Services): Update the sample yggdrasil-private.conf.
Remove obsolete options that may contain a file whose path is specified in the
config-file field of yggdrasil-configuration.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-11-25 23:35:03 +01:00
Ludovic Courtès
5149bf99ba
doc: Fix childhurd host SSH port number.
Fixes <https://issues.guix.gnu.org/66739>.

* doc/guix.texi (Virtualization Services): Fix childhurd host SSH port
number.

Reported-by: Nathan Dehnel <ncdehnel@gmail.com>
Change-Id: I032b3447c7061ada8ba6d6f15c5454eab0e277d9
2023-11-25 16:29:25 +01:00
Giacomo Leidi
267786721b
services: Add oci-container-service-type.
* gnu/services/docker.scm (oci-container-configuration): New variable;
(oci-container-shepherd-service): new variable;
(oci-container-service-type): new variable.
* doc/guix.texi (Miscellaneous Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I17cede1975051a9fdd0e0a13b2191d8055266f80
2023-11-23 12:56:42 +01:00
Ekaitz Zarraga
e011961f99
build-system: Add zig-build-system.
* guix/build-system/zig.scm: New file.
* guix/build/zig-build-system.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi: Document it.
* etc/snippets/yas/scheme-mode/guix-package (build-system): Add
  zig-build-system.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-10-21 00:27:25 +02:00
Ludovic Courtès
953c65ffdd
services: hurd-vm: Implement zero-configuration offloading.
This allows for zero-configuration offloading to a childhurd.

* gnu/services/virtualization.scm (operating-system-with-offloading-account):
New procedure.
(<hurd-vm-configuration>)[offloading?]: New field.
(hurd-vm-disk-image): Define ‘transform’ and use it.
(hurd-vm-activation): Generate SSH key for user ‘offloading’ and add
authorize it via /etc/childhurd/etc/ssh/authorized_keys.d.
(hurd-vm-configuration-offloading-ssh-key)
(hurd-vm-guix-extension): New procedures.
(hurd-vm-service-type): Add GUIX-SERVICE-TYPE extension.
* gnu/tests/virtualization.scm (run-childhurd-test)[import-module?]: New
procedure.
[os]: Add (gnu build install) and its closure to #:import-modules.
[test]: Add “copy-on-write store” and “offloading” tests.
* doc/guix.texi (Virtualization Services): Document it.
2023-10-01 22:58:20 +02:00
Ludovic Courtès
990d20d4a8
doc: Give an example showing how to add an account in the childhurd.
* doc/guix.texi (Virtualization Services): Give an example showing how
to add an account.
2023-10-01 22:58:20 +02:00
Ludovic Courtès
c3a19cc2ac
services: hurd-vm: Disable password-based authentication for root.
With offloading to a childhurd is enabled, allowing password-less root
login in the childhurd to anyone amounts to providing write access to
the host’s store to anyone.  Thus, disable password-based root logins in
the childhurd.

* gnu/services/virtualization.scm (%hurd-vm-operating-system): Change
‘permit-root-login’ to 'prohibit-password.
* gnu/tests/virtualization.scm (%childhurd-os): Provide a custom ‘os’
field for ‘hurd-vm-configuration’.
* doc/guix.texi (Virtualization Services): Remove mention of
password-less root login.
2023-10-01 22:58:20 +02:00
Ludovic Courtès
bab6434f58
services: hurd-vm: ‘image’ field has to be an <image> record.
* gnu/services/virtualization.scm (<hurd-vm-configuration>)[image]:
Document as being an <image> record.
(hurd-vm-disk-image): Remove call to ‘system-image’.
(hurd-vm-shepherd-service): Add call to ‘system-image’.
* gnu/tests/virtualization.scm (hurd-vm-disk-image-raw): Remove call to
‘system-image’.
* doc/guix.texi (Virtualization Services): Adjust accordingly.
2023-10-01 22:58:19 +02:00
Ludovic Courtès
aa40b085dc
services: guix: Support declarative offloading setup.
* gnu/services/base.scm (guix-machines-files-installation): New
procedure.
(<guix-configuration>)[build-machines]: New field.
(guix-activation): Call ‘ guix-machines-files-installation’.
(<guix-extension>)[build-machines]: New field.
(guix-extension-merge): Handle it.
(guix-service-type)[extend]: Likewise.
* doc/guix.texi (Daemon Offload Setup): Add note linking to
‘guix-configuration’.
(Base Services): Document ‘build-machines’ field of <guix-configuration>
and of <guix-extension>.
(Virtualization Services): Add ‘hurd-vm’ anchor.
2023-10-01 22:58:19 +02:00
Maxim Cournoyer
06dc36ffb7
doc: Update bug-reference configuration snippet.
* doc/contributing.texi (The Perfect Setup)
<Viewing Bugs within Emacs>: Properly quote Elisp functions.  Add 'require'
directives.  Set BUG-REFERENCE-URL-FORMAT so the configuration is
self-contained.

Suggested-by: Mekeor Melire <mekeor@posteo.de>
2023-09-26 14:06:04 -04:00
Ludovic Courtès
f651a35969
build: Add dependency on Git.
* configure.ac: Check for ‘git’ and substitute ‘GIT’.
* guix/config.scm.in (%git): New variable.
* guix/self.scm (compiled-guix): Define ‘git’ and pass it to
‘make-config.scm’.
(make-config.scm): Add #:git; emit a ‘%git’ variable.
* doc/guix.texi (Requirements): Add it.
2023-09-26 17:36:58 +02:00
Maxim Cournoyer
c428246bcd
doc: Add new 'Circular Module Dependencies' section.
* doc/contributing.texi (Circular Module Dependencies): New subsection.

Series-version: 2
Series-to: 65860@debbugs.gnu.org
Patch-cc: mhw@netris.org
Cover-letter:
Resolve a circular module dependencies in embedded modules
This series is the culmination of at least a day of effort tracking down the
source of a module dependency cycle (!).  The last commit adds some guidelines
in the hope to avoid a repeat (perhaps 'lint' could be taught to
automate these checks).
END
2023-09-25 10:33:04 -04:00
Liliana Marie Prikler
cdbd81ce14
Merge branch 'master' into emacs-team 2023-09-22 23:54:34 +02:00
Efraim Flashner
f4a0e472a9
doc: contributing: Clarify generating the pre-inst-env script.
Lack of clarity reported by lrustland on IRC.

* doc/contributing.texi (Running Guix Before It Is Installed): Refer to
the Building from Git section when giving instructions for generating
the pre-inst-env script.
2023-09-22 08:54:18 +03:00
Mathieu Othacehe
e5ed1712da
image: Introduce the mbr-hybrid-raw image type.
Until 209204e23b and
d57cab7641, the default image type used by "guix
system image" was an MBR image with an ESP partition.

Having both an MBR image and an ESP partition is handy because the image will
boot on most x86 based systems using legacy BIOS and/or UEFI.

We now have a distinction between MBR images and EFI images. Introduce a new
MBR hybrid image type and default to it to restore the default behaviour.

This also fixes the images section of (gnu ci) that was trying to install a
BIOS bootloader on an EFI, GPT image and failing to do so.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2023-09-20 09:38:36 +02:00
Ludovic Courtès
a839bb9777
doc: Fix typo.
* doc/guix.texi (Specifying Channel Authorizations): Remove extra
hyphen.
2023-09-18 23:14:00 +02:00
Janneke Nieuwenhuizen
7bf12820f6
maint: Support `guix shell' in Guix's git archive with manifest.scm.
* manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
* doc/contributing.texi (Building from Git): Mention using it.
2023-09-18 22:12:39 +02:00
Maxim Cournoyer
fc1b4756e3
.dir-locals.el: Update bug-reference configuration and document it.
(nil) <bug-reference-url-format>: Update URL.  Add comment.
* doc/contributing.texi (The Perfect Setup): New "Viewing bugs within Emacs"
subsection.

Co-authored-by: Brian Cully <bjc@spork.org>
2023-09-17 16:42:03 -04:00
Alexey Abramov
04f71edb73
services: dhcp-client-configuration: Allow provision override.
* gnu/services/networking.scm (<dhcp-client-configuration>)[shepherd-provision]:
New field.
(dhcp-client-shepherd-service): Honor it.
* doc/guix.texi (Networking Setup): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-09-17 15:31:03 +02:00
Liliana Marie Prikler
94ca5b4357
Merge branch 'master' into emacs-team 2023-09-09 12:22:14 +02:00
Maxim Cournoyer
b02ad19305
gnu: emacs: Reload subdirs.el files in ‘guix-emacs-autoload-packages’.
This fixes a regression introduced with 79cfe30f3 ("build-system: emacs: Use
subdirectories again.") which caused the 'guix-emacs-autoload-packages' to no
longer be able to autoload all packages.

* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs-autoload-packages): Reload subdirs.el files unless NO-RELOAD is
provided.  Update docstring.
* doc/guix.texi (Application Setup): Document that
‘guix-emacs-autoload-packages’ can be invoked interactively to auto-reload
newly installed Emacs packages.
* gnu/packages/emacs.scm (emacs)[arguments]<#:phases>: Call
guix-emacs-autoload-packages with an argument in the site-start.el file.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-09-07 20:25:07 +02:00
Maxim Cournoyer
65dcfb3f38
.dir-locals: Streamline Geiser configuration.
Geiser now has support locating the project root and adding it to the load
path without external help; leverage it.

* .dir-locals.el [nil]: Remove obsolete Geiser configuration.  Set the
geiser-repl-per-project-p variable to t.
* doc/contributing.texi (The Perfect Setup): No longer mention explicitly
setting the geiser-guile-load-path; instead mention the effect of the
.dir-locals.el file.

Reported-by: Wolf <wolf@wolfsden.cz>
2023-09-06 14:16:22 -04:00
Aleksandr Vityazev
73958f7f04
doc: Fix typo.
* doc/guix.texi (VNC Services): Fix typo.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-09-05 23:28:13 -04:00
Arun Isaac
e0397faf6f
doc: Document mumi command-line interface.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]: New
subsubsection.  Update menus.
* doc/guix.texi: Bump copyright year.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-09-05 19:50:42 -04:00
Josselin Poiret
9f68a2a9c4
doc: Note that guix shell should contain base language packages.
* doc/guix.texi (Invoking guix shell): Explain that python must be included in
the invocation even if it is already available in the external environment.

Suggested-by: Skyler <skyvine@protonmail.com>
2023-08-25 15:16:19 +02:00
David Thompson
e9a5eebc78
gnu: system: Add home-directory-permissions field to <user-account>.
* gnu/system/accounts.scm (<user-account>)[home-directory-permissions]: New
field.
(user-account-home-directory-permissions): New accessor.
* gnu/build/activation.scm (activate-users+groups): Use home directory
permission bits from the user account object.
* doc/guix.texi (User Accounts): Document new field.

Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-08-25 15:12:54 +02:00
Josselin Poiret
ca8acad382
build: Add dependency on guix script for help2man targets.
* doc/local.mk: Add dependency on guix script for help2man targets.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-08-25 14:24:24 +02:00
Josselin Poiret
d57cab7641
image: Add mbr-raw-image-type and use by default.
* gnu/system/image.scm (mbr-disk-image, mbr-raw-image-type): New variables.
(qcow2-image-type): Inherit mbr-disk-image.
* guix/scripts/system.scm (%default-options): Use mbr-raw-image-type by
default.
* gnu/tests/install.scm (run-install): Use mbr-raw in the tests.
* doc/guix-cookbook.texi (Guix System Image API): Update the list of image
types.
* doc/guix.texi (Invoking guix system, System Images, image-type Reference):
Add mbr-raw and switch documented default to it.
2023-08-25 14:24:21 +02:00
Ludovic Courtès
2274d71f94
services: file-database: Clarify 'excluded-directories' description.
* gnu/services/admin.scm (file-database-configuration)[excluded-directories]:
Mention that these are regexps.
(%default-file-database-excluded-directories): Likewise.
* doc/guix.texi (File Search Services): Adjust accordingly.
2023-08-22 11:17:53 +02:00