me
/
guix
Archived
1
0
Fork 0
Commit Graph

3580 Commits (a1b39cb10ceb236dfa4a803283a31cf5a93a634d)

Author SHA1 Message Date
Rodion Goritskov 4bc49e2185
services: agate: Update options for compatibility with the current Agate version.
* gnu/services/web.scm (<agate-configuration>)[certs]: Add.
[cert]: Remove.
[key]: Remove.
[hostname]: Change from string to list.
[silent?]: Remove.
[only-tls13?]: Add.
[central-conf?]: Add.
[ed25519?]: Add.
[skip-port-check?]: Add.
(agate-shepherd-service): Change handling of addr and hostname, add new
options handling.
* doc/guix.texi (Web Services): Update.

Change-Id: Ifb4968d704627344913bb69f20636d710a4fe738
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-26 18:55:07 +02:00
Z572 via Guix-patches via 69b8a40365
doc: Add note about use sddm with qt5 theme.
* doc/guix.texi (X Window): Add note about use sddm with qt5 theme.

Change-Id: I57eebc696803894f154e09347283d3327db8a084
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-20 01:36:17 +08:00
Liliana Marie Prikler 8546ca946e
doc: Update note on Emacs packages.
* doc/guix.texi ("Emacs packages"): Expand note to talk about differences
between native compilation upstream and as used in Guix.
2024-07-07 08:04:46 +02:00
Giacomo Leidi via Guix-patches via 5ee2799cab
services: oci-container: Allow setting Shepherd actions in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[shepherd-actions]: New field.
(sanitize-shepherd-actions): sanitize it.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: I0ca9826542be7cb8ca280a07a9bff1a262c2a8a7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via cb57a3fd9f
services: oci-container: Allow setting Shepherd respawn? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[respawn?]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: I0d6367607fd0fd41f90a54b33d80bf4d4f43dd8b
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via 7d91bd4530
services: oci-container: Allow setting Shepherd auto-start? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[auto-start?]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Id093d93effbbec3e1be757f8be83cf5f62eaeda7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via 30ba86cb71
services: oci-container: Allow setting Shepherd log-file in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[log-file]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Icad29ac6342b6f5bafc0d9be13a93cee99674185
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via f5d0c324b1
doc: Minor changes to the OCI-backed Services documentation.
* doc/guix.texi: Clarify the example and remove reduntant escapes.

Change-Id: I38f5517ae46b391ba21ae5a94c6dcc272e245036
2024-07-05 15:12:34 +08:00
Tomas Volf 76a2b9d707
services: guix: Default `channels' field to #f.
In the absence of the /etc/guix/channels.scm file, %default-channels is used
anyway.  If user manually (or by extra-special-file) created the file, we
should respect it.  This commit therefore changes the default to #f, hopefully
having zero impact on people not actively using the `channels' field.

* gnu/services/base.scm (<guix-configuration>)[channels]: Set default to #f.

Change-Id: I516c1735a037a153fabbebfc337051aaf0be2155
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:36:24 +02:00
Tomas Volf 398393187c
doc: Warn about extra-special-file usage in /etc.
* doc/guix.texi (Base Services)[extra-special-file]: Add warning regarding
files in /etc.

Change-Id: Ic45465c8712d61caeed42d7912777368e8763a1a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:34:59 +02:00
Ludovic Courtès 0a220c1599
services: shepherd: Support “free-form” services.
* gnu/services/shepherd.scm (<shepherd-service>)[free-form]: New field.
[start]: Add default value.
(shepherd-service-file): Rename to…
(shepherd-service-file/regular): … this.
(shepherd-service-file/free-form): New procedure.
(shepherd-service-file): Dispatch to one of the two procedures above.
* doc/guix.texi (Shepherd Services): Document the ‘free-form’ field.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

Change-Id: I206374e950ef6d1e4a996c0f507fb5fcd9cadde3
2024-06-26 22:51:25 +02:00
Ludovic Courtès 0fdac5f036
doc: Introduce mumi before referring to it.
* doc/contributing.texi (Debbugs User Interfaces): Introduce mumi in the
body of the text rather than a footnote since the “Command-Line
Interface” section assumes it has already been introduced.
(Command-Line Interface, Emacs Interface): Capitalize titles.

Change-Id: I0e87cd48b6158582016734afe71c716c548c1639
2024-06-26 22:49:36 +02:00
Richard Sent da3e71f472
services: web: Improve nginx formatting for extra-content.
When extra-content is a list, add 4 space indentation and a newline to every
line. If it's a string, continue inserting it directly. This makes the list
serialization behavior more consistent with other services.

* gnu/services/web (default-nginx-config): Support lists.
* doc/guix.texi (Web Services)[nginx-configuration]: Document it.

Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-06-26 15:11:52 +01:00
Richard Sent 5f88f71c2d
doc: Add message for common error about make check-system.
* doc/contributing.texi (Running the Test Suite): Mention that make clean-go
may need to be run before running make check-system when previous builds were
run with different work trees.

Change-Id: I4b68d3a05f1425505816db969284487d725840d6
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Fixes: https://issues.guix.gnu.org/47573.
2024-06-24 08:51:45 -04:00
Tomas Volf fc921acbef
doc: Improve description of nginx's configuration.
* doc/guix.texi (Web Services)[nginx-server-configuration]: Document semantics
of raw-content field.
[nginx-location-configuration]: Document semantics of body field.

Change-Id: I1e699d085a27f2615190de1e1973146da4ab193d
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:45 -04:00
Simon Tournier d19d5447cd
doc: contributing: Mention 'guix git authenticate'.
Follow up of 73b3f941d7.

* doc/contributing.texi (Applying for Commit Access): Update accordingly with
the removal of 'make authenticate'.

Change-Id: Id945c484f6265c76d4eb803369a7fbd9f797434f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:42 -04:00
Ludovic Courtès e6facbe069
gnu: grub: Update to 2.12.
* gnu/packages/bootloaders.scm (grub): Update to 2.12.
[source](patches): Remove ‘grub-ignore-metadata-csum-seed.patch’.
(snippet): Create ‘grub-core/extra_deps.lst’.  Replace “exit 99”
by “exit 77”.
(grub-coreboot): Update value of ‘XFAIL_TESTS’.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning): Update
accordingly (it should now be fine to use LUKS2).
* gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.

Change-Id: Ia31b3b7e0a2e7de42d30229733e9c196fcd12fd9
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:51:41 -04:00
Richard Sent ff9942dcc1
doc: Prepend ISC to DHCP client references.
This makes it clearer that this service uses the ISC's dhclient implementation
and does not support DHCP clients that have different command line interfaces.

* doc/guix.texi (Networking Setup): Prepend ISC to all DHCP client references.

Change-Id: I750ef2ffb4b23445c4a2b97aaa44eba56458f430
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:49 -04:00
Richard Sent b539e5ae39
services: networking: Allow dhcp-client to use a config file.
* gnu/services/networking.scm (dhcp-client-configuration) [config-file]: New
field.
(dhcp-client-configuration-config-file): New accessor.
(dhcp-client-shepherd-service): Use the config file when invoking
dhclient if supplied.
* doc/guix.texi: Document it.

Change-Id: I286de4ddf59c5e606bf1fe0a7510570869e62b1a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:45 -04:00
Tomas Volf 603d523fc3
doc: Fix Reviewed-by format.
The documentation does not have a space between `e' and `<', which is not how
people use it, as can be seen from git log.  So adjust the format to match the
reality.

* doc/contributing.texi (Reviewing the Work of Others): Fix format for
Reviewed-by.

Change-Id: Ib863536db72b885cf34927323cb4ebc52a8db2ed
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:34:44 -04:00
Juliana Sims b49e556b9e
services: radicale: Use define-configuration.
* doc/guix.texi (radicale-configuration): Update documentation to reflect new
configuration, add new symbols.
* gnu/services/mail.scm (%default-radicale-config-file): Delete.
(radicale-auth-configuration, radicale-auth-configuration?)
(radicale-encoding-configuration, radicale-encoding-configuration?)
(radicale-logging-configuration, radicale-logging-configuration?)
(radicale-rights-configuration, radicale-rights-configuration?)
(radicale-server-configuration, radicale-server-configuration?)
(radicale-storage-configuration, radicale-storage-configuration?):
New configuration types and corresponding predicates.
(radicale-configuration, radicale-configuration?): Use define-configuration.
(radicale-activation, radicale-shepherd-service): Update to new
configuration format.
(radicale-activation): Use user-defined values for service files.
(radicale-service-type): Capitalize "Radicale" in description.

Change-Id: Ic88b8ff2750e3d658f6c7cee02d33417aa8ee6d2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-06-23 10:09:01 +02:00
Richard Sent 5d39cbdfff
doc: Fix typo in Guix Home Service
* doc/guix.texi (Guix Home Service): Change home-service-type to
guix-home-service-type in example.

Change-Id: Ief7f71c9e6494ced20ccda3bb2643f01eabe8441
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-06-22 21:51:02 +08:00
Sergey Trofimov 10d8bbdabb
services: dnsmasq: Add escape hatch.
* gnu/service/dns.scm: (<dnsmasq-configuration>)[extra-options]: Add.
* doc/guix.texi: Document (<dnsmasq-configuration>)[extra-options].

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I7d2df7aa5d3b041b69b2f8b3e311a7328c28a3be
2024-06-13 22:43:59 +02:00
Ludovic Courtès 086fe7ef25
doc: Use a symbol for Cuirass specification names.
* doc/guix.texi (Continuous Integration): Change ‘name’ field of
‘specification’ to be a symbol, as written in upstream Cuirass doc.

Change-Id: I0a8cddfb8ab47f627a01459393aaf346028bb3f6
2024-06-13 11:34:33 +02:00
Arun Isaac f65bbca6e4
doc: Refer to mumi send-email in Submitting Patches.
* doc/contributing.texi (Submitting Patches): Refer to mumi send-email.

Change-Id: I009cdc306220ef63e6641fac69d3453ab169bfa2
2024-06-12 22:14:41 +01:00
Arun Isaac d25bb39c51
doc: Add mumi CLI concept index entries.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]: Add
mumi CLI concept index entries.

Change-Id: Ic2e67226c18e87a7360b938476a662aae76dd58e
2024-06-12 22:14:41 +01:00
Arun Isaac cb1c12156e
doc: Document mumi am, compose and www subcommands.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]:
Document mumi am, compose and www subcommands.
* doc/guix.texi: Bump copyright year.

Change-Id: I28bde9454ad35115ed60fe4d6ffa35fad599b2d1
2024-06-12 22:14:41 +01:00
Nguyễn Gia Phong 039da35176
doc: Update field name in gitile-configuration.
* doc/guix.texi (gitile-configuration): Update field name
  nginx-server-block to nginx.

Change-Id: I215d3d57c1cb88271c580fa1426a661477a775f7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-12 00:21:52 +02:00
Denis 'GNUtoo' Carikli 0f9fe721be
doc: Binary Installation: Add Parabola packages.
* doc/guix.texi (Binary Installation): Add Parabola packages.

Co-authored by: Florian Pelz <pelzflorian@pelzflorian.de>
Change-Id: Id646152c54de0a958740314b09fdcf6af898e22e
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06 23:38:31 +02:00
Denis 'GNUtoo' Carikli 902a55e1dc
doc: Binary Installation: Mention Trisquel package.
* doc/guix.texi (Binary Installation): Also mention Trisquel package.

Change-Id: Iae6f77de43de2c6f387b99a10dcae5b9d82aaee1
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-06 23:38:31 +02:00
Florian Pelz 66eb60509d
doc: Advise system administrators to read and follow security notices.
* doc/guix.texi (Binary Installation): Prefix installation instructions
with the advice.

Change-Id: I088c7f00f4c3c8e32bdfd117ea934942930f7513
2024-06-06 23:38:17 +02:00
Richard Sent 579df5bc80
services: base: Add optional delayed mount of file-systems
Add a mechanism to only require mounting a subset of file-system entries
during early Shepherd initialization. Any file-system with additional Shepherd
service requirements (e.g. networking) is not required to provision
'file-systems.

* gnu/services/base.scm (file-system-shepherd-service): Splice
file-system-requirements into the Shepherd service requirement list.
(file-system-shepherd-services): Provision 'file-system only when file system
services without additional Shepherd requirements are started.
* gnu/system/file-systems.scm (file-system): Add shepherd-requirements field
to the file-system record. This field is used for adding additional Shepherd
requirements to a file-system Shepherd service.
* doc/guix.texi: Add documentation for file-system shepherd-requirements.

Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-04 12:08:34 +02:00
Florian Pelz 834a419524
nls: Update translations.
* po/doc/guix-cookbook.sv.po: New file.
* po/doc/local.mk: Add 'sv' cookbook.
* po/doc/po4a.cfg (po4a_langs): Add 'sv'.
* doc/local.mk: Add 'sv' cookbook.
* doc/htmlxref.cnf: Update URLs for cookbook.
* doc/build.scm (%cookbook-languages): Add 'sv'.
* doc/guix-cookbook.texi (Top): Mention 'sv' cookbook.

Change-Id: Ibfeb7254f583f1c8827e8c2756bbb02880bcba46
2024-06-03 00:27:12 +02:00
gemmaro f65bd477b0
build: Use the po4a command for the translation generation.
* configure.ac (Documentation translation): Remove the po4a-translate command.
This command has been replaced by the po4a command and are not used from
anywhere.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi, $(srcdir)/%D%/guix-cookbook.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use the po4a command instead of the
po4a-translate for the translation generation.  This eliminates the warning of
po4a-translate; "po4a-translate is deprecated.  The unified po4a(1) program is
more convenient and less error prone."
(PO4A_PARAMS): Remove the Texinfo format option.  This option is specified in
the configuration file (po/doc/po4a.cfg).
(dummy_pot): Add a variable for the temporary POT file location.

Change-Id: I542b934c3c03b8701e9f86823191224f8b0ccf81
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-06-03 00:27:11 +02:00
Florian Pelz 5c4742663b
doc: cookbook: Fix direnv example.
When replacing `guix environment' with `guix shell',
I forgot to add a `--development' argument.

Follow-up to 9c3a8a380b.

* doc/guix-cookbook.texi (Environment management)
[Guix environment via direnv]: Fix example.

Change-Id: I0a0df33b3b547bfc3ada10c4648e593be6608070
2024-06-03 00:27:11 +02:00
Ludovic Courtès 8f0878da8d
services: nscd: ‘log-file’ defaults to #f.
* gnu/services/base.scm (<nscd-configuration>)[log-file]: Default to #f.
* doc/guix.texi (Base Services): Clarify documentation.

Change-Id: Ia75914fc2665db13bef688d53659083a615ebef4
2024-06-02 20:52:24 +02:00
Andrew Tropin eac5171246
Revert "services: home: Use pairs instead of lists."
This reverts commit dbeef44f3c.

Despite the more semantically correct data type, it doesn't follow the style
of the most services and also breaks user-facing API.

Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea
2024-06-02 15:06:16 +04:00
Andrew Tropin dbeef44f3c
services: home: Use pairs instead of lists.
* gnu/services/guix.scm: Use pairs instead of lists.
* doc/guix.texi: Update accordingly.
* gnu/tests/guix.scm: Update accordingly.

Change-Id: I0b8d3fa5b214add89bdb84a11fa20d1b319435f0
2024-06-02 13:38:52 +04:00
Tomas Volf 8144c587f8
home: services: Add home-startx-command-service-type.
* gnu/home/services/desktop.scm (home-startx-command-service-type): New
variable.
(startx-command-service-type): New service-type mapping.
* doc/guix.texi (Guix Home Services): Document
home-startx-command-service-type.

Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:54 +01:00
Tomas Volf e51a930c5c
services: xorg: Add startx-command-service-type.
* gnu/services/xorg.scm (startx-command-profile-service,
startx-command-service-type): New variables.
* doc/guix.texi (X Window): Document startx-command-service-type.

Change-Id: Ia2a7c3b2d5ebf6bcfff40cb2640b17d3baf6eba0
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 22:40:23 +01:00
Tomas Volf 9948816819
services: xorg: Add xorg-start-command-xinit procedure.
When the user does not use any desktop environment, the typical sequence is to
log in and then type `startx' into the tty to get a window manager running.
Most distributions do provide a startx by default, but Guix has only an
xorg-start-command that is not suitable for this.

This commit adds a second procedure, xorg-start-command-xinit, that correctly
picks a virtual terminal to use, sets up XAUTHORITY and starts xinit with the
correct arguments.  That should make running Guix without a desktop
environment more approachable.

* gnu/services/xorg.scm (xorg-start-command-xinit): New public procedure.
* doc/guix.texi (X Window): Document it.

Change-Id: I17cb16093d16a5c6550b1766754700d4fe014ae9
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-05-30 18:23:34 +01:00
Maxim Cournoyer 4114060cd0
gnu: linux: Turn %default-extra-linux-options into a procedure.
This is to allow version-specific options to the list of defaults.

* gnu/packages/linux.scm (%default-extra-linux-options): Transform to...
(default-extra-linux-options): ... this procedure, which accepts a 'version'
argument.
(make-linux-libre, linux-libre-arm-generic, linux-libre-arm-generic-5.10)
(linux-libre-arm-generic-5.4, linux-libre-arm64-generic)
(linux-libre-arm64-generic-5.10, linux-libre-arm64-generic-5.4)
(linux-libre-riscv64-generic, linux-libre-mips64el-fuloong2e)
(linux-libre-with-bpf): Adjust accordingly.
* doc/guix-cookbook.texi (Customizing the Kernel): Adjust accordingly.

Change-Id: Ifd3be8b7ed8699bada224a938dbc84205366ff3d
2024-05-29 22:01:23 -04:00
Efraim Flashner c0610dfb1a
gnu: Use new ovmf firmware packages.
* doc/guix.texi (Invoking guix system): Update qemu command to use
ovmf-x86-64.
* gnu/packages/virtualization.scm (xen)[inputs]: Replace ovmf with
ovmf-i686.
* gnu/tests/install.scm (uefi-firmware): Use system appropriate ovmf
firmware.

Change-Id: Ia2ff76eaf766c8d4fb0be4a7cc7b8941574433d0
2024-05-27 10:26:24 +03:00
宋文武 f119408f2f
doc: Replace 'specification->package+output' with 'specifications->packages'.
'(map specification->package+output specs)' doesn't work due to
'specification->package+output' will return multiple values.

* doc/guix.texi (Using the Configuration System): Replace
'specification->package+output' with 'specifications->packages'.

Change-Id: I443771327a2ef5ae5e7dddd9785f1eef4200e898
2024-05-27 09:28:39 +08:00
Maxim Cournoyer 77771036f0
configure.ac: Set default value for the 'prefix' variable.
The Guix standard configuration uses a localstatedir of /var and a sysconfdir
of /etc.  To ease things for everyone, make the default values match that
standard expected configuration.  See
<https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00003.html> for a
related discussion.

* configure.ac: Default $prefix to '' unless already set.
* doc/contributing.texi (Building from Git): Streamline doc.
* doc/guix-cookbook.texi (Guix environment via direnv): Likewise.

Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I23cd12b58a842d246fbc9fdc740311c573eb0212
2024-05-25 23:28:30 -04:00
Ludovic Courtès 73b3f941d7
maint: Suggest ‘guix git authenticate’ for initial authentication.
The previous recommendation, running ‘make authenticate’, was insecure
because it led users to run code from the very repository they want to
authenticate:

  https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00252.html

* Makefile.am (commit_v1_0_0, channel_intro_commit)
(channel_intro_signer, GUIX_GIT_KEYRING, authenticate): Remove.
* Makefile.am (.git/hooks/%): New target, generalization of previous
‘.git/hooks/pre-push’ target.
(nodist_noinst_DATA): Add ‘.git/hooks/post-merge’.
* doc/contributing.texi (Building from Git): Suggest ‘guix git
authenticate’ instead of ‘make authenticate’.
* etc/git/post-merge: New file.
* etc/git/pre-push: Run ‘guix git authenticate’ instead of ‘make
authenticate’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Skyler Ferris <skyvine@protonmail.com>
Change-Id: Ia415aa8375013d0dd095e891116f6ce841d93efd
2024-05-25 16:23:56 +02:00
Richard Sent 0efa1daad3
doc: Document ‘assume-valid-file-name’ in ‘local-file’.
* doc/guix.texi (G-Expressions): Document the use of assume-valid-file-name with
local-file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I132f78e198cbf3ba2e5a677d671563d753de534c
2024-05-25 16:19:22 +02:00
Giacomo Leidi c07731a777
gnu: docker: Allow passing tarballs for images in oci-container-configuration.
This commit allows for loading an OCI image tarball before running an
OCI backed Shepherd service. It does so by adding a one shot Shepherd
service to the dependencies of the OCI backed service that at boot runs
docker load on the tarball.

* gnu/services/docker.scm (oci-image): New record;
(lower-oci-image): new variable, lower it;
(string-or-oci-image?): sanitize it;
(oci-container-configuration)[image]: allow also for oci-image records;
(oci-container-shepherd-service): use it;
(%oci-image-loader): new variable.

Change-Id: Ie504f479ea0d47f74b0ec5df9085673ffd3f639d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:53 +02:00
Giacomo Leidi 68adfaea25
gnu: docker: Allow setting Shepherd dependencies in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[requirement]: New field;
(list-of-symbols): sanitize it;
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.

Change-Id: Ic0ba336a2257d6ef7c658cfc6cd630116661f581
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:47 +02:00
Giacomo Leidi e68c1af4f4
gnu: docker: Allow setting host environment variables in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[host-environment]: New field;
(oci-sanitize-host-environment): sanitize it;
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.

Change-Id: I4d54d37736cf09f042a71cb0b6e673abc0948d9c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-25 15:34:43 +02:00