Age | Commit message (Expand) | Author |
2024-01-14 | 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
| Tomas Volf |
2024-01-14 | 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>
| Tomas Volf |
2024-01-12 | 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
| Nikolaos Chatzikonstantinou |
2024-01-09 | 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
| David Elsing |
2024-01-09 | 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
| David Elsing |
2024-01-08 | 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
| Oleg Pykhalov |
2024-01-08 | 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
| Graham James Addis |
2024-01-07 | doc: Delete trailing whitespace....* doc/guix.texi: Delete trailing whitespace.
Change-Id: Ibf99a551f890044b8ce5772bdebb8a0b02ab1c21
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Tomas Volf |
2024-01-05 | 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
| Ludovic Courtès |
2024-01-03 | 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>
| Connor Clark |
2023-12-31 | doc: cookbook: Fix typo....Follow-up: f24b14767d362a84e6469682b4fe303b50f4b589
* doc/guix-cookbook.texi (Routed network for libvirt): Fix typo in
section name.
Change-Id: I1ba7ee2cba89764283f6a702a793ee9100585a87
| Jonathan Brielmaier |
2023-12-31 | 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 19fe24c5b978a16cbca3cddbfa3ab9d1ee2c68f2.
* doc/contributing.texi (Viewing Bugs within Emacs): Make comment
more accurate.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Florian Pelz |
2023-12-30 | Add network bridge guide to the cookbook....Change-Id: If478196985aac7947067329957516f82bcb95ca4
| Maxim Cournoyer |
2023-12-30 | 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
| Maxim Cournoyer |
2023-12-28 | 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
| David Thompson |
2023-12-26 | 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>
| Brian Cully |
2023-12-22 | 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
| Christopher Baines |
2023-12-22 | 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
| Ludovic Courtès |
2023-12-22 | 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
| Ludovic Courtès |
2023-12-18 | 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
| Nicolas Graves |
2023-12-18 | 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>
| Nicolas Graves |
2023-12-18 | Update cookbook Texinfo menus....Automated via C-c C-u C-a with Emacs.
Change-Id: I9e595430529f8f994988c1ac3c919bdaef930dc1
| Maxim Cournoyer |
2023-12-18 | doc: Document the rust-target platform field....* doc/guix.texi (platform Reference): Document the rust-target platform
field.
Change-Id: I31642bbc64f6d4f2bfeed4a4000f95f853580444
| Efraim Flashner |
2023-12-14 | 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>
| Thomas Ieong |
2023-12-14 | 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>
| Saku Laesvuori |
2023-12-11 | 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
| Ludovic Courtès |
2023-12-11 | 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
| Ludovic Courtès |
2023-12-11 | 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>
| Raphaël Mélotte |
2023-12-11 | guix: Add avr platform....* Makefile.am (MODULES): Add avr platform module.
* doc/guix.texi: Add documentation for avr platform.
* guix/platforms/avr.scm (avr): New variable.
Change-Id: I0f425eac61a71390b618e093f5a034ad4205a6f4
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Jean-Pierre De Jesus DIAZ |
2023-12-04 | monad-repl: Add REPL commands to inspect package arguments....* guix/monad-repl.scm (keyword-argument-value, package-argument-command):
New procedures.
(phases, configure-flags, make-flags): New REPL commands.
* doc/guix.texi (package Reference): Link to “Using Guix Interactively”.
(Defining Package Variants): Add “Tips” quotation.
(Build Phases): Add “Tip” quotation.
(Using Guix Interactively): Document the new REPL commands.
Change-Id: I7049c1d8aa9241e07d7c921aa396e578a1b4ef16
| Ludovic Courtès |
2023-12-04 | doc: Recommend building in ‘guix shell -CPW’....This was prompted by <https://issues.guix.gnu.org/66537>, where someone
tried to build Guix within ‘guix shell --pure’ on a foreign distro and
found that ./configure would pick software from the host system.
Suggested by Hiep Pham <hiepph9@proton.me>.
* doc/contributing.texi (Building from Git): Recommend ‘guix shell -CPW’.
Change-Id: I7694b482d982917fef6ec404f68ddacea761f482
| Ludovic Courtès |
2023-11-25 | 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>
| Aleksandr Vityazev |
2023-11-25 | 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
| Ludovic Courtès |
2023-11-23 | 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
| Giacomo Leidi |
2023-11-20 | doc: contributing: Fix syntax in link....* doc/contributing.texi(Alternative Setups)[Vim and Neovim]: Fix broken link
to fugitive.vim.
Change-Id: Ib86239d98c39383169a9cdebc7549477b648206e
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Ekaitz Zarraga |
2023-11-08 | build-system: Add vim-build-system....* guix/build-system/vim.scm,
* guix/build/vim-build-system.scm: New modules.
* Makefile.am (MODULES): Register new files.
* doc/guix.texi: Document it.
Co-authored-by: Efraim Flashner <efraim@flashner.co.il>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Jonathan Scoresby |
2023-11-07 | doc: Document extra Emacs-Debbugs configurations....* doc/contributing.texi (Viewing Bugs within Emacs): Document
debbugs-gnu-default-packages, debbugs-gnu-default-severities.
(Debbugs User Interfaces): Likewise, and mention debbugs-gnu-guix-search.
Suggested-by: Michael Albinus <michael.albinus@gmx.de>
Change-Id: I8e9026bc394b0cf674c8498ca713c332e48c2700
| Maxim Cournoyer |
2023-11-07 | doc: Expound on the build-side versus host-side modules topic....Discussed in <https://issues.guix.gnu.org/65924#98-lineno27>.
* doc/contributing.texi (Modules): Add new context indices, and provide a
real-life counter-example, and its ramifications.
Reported-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I06975fb24f0d67c833884313a727dc550f61d8a0
| Maxim Cournoyer |
2023-11-07 | git-download: Add support for Git Large File Storage (LFS)....* guix/build/git.scm (git-fetch) [lfs?]: New argument, doc and setup code.
(git-fetch-with-fallback) [lfs?]: New argument. Pass it to git-fetch.
* guix/git-download.scm (git-lfs-package): New procedure.
(git-fetch/in-band*): New procedure, made of the logic of git-fetch/in-band,
with new git-lfs specifics, with the following changes:
New #:git-lfs argument.
<inputs>: Remove labels. Conditionally add git-lfs.
<build>: Read "git lfs?" environment
variable and pass its value to the #:lfs? argument of git-fetch-with-fallback.
Use INPUTS directly; update comment.
<gexp->derivation>: Add "git lfs?" to #:env-vars.
(git-fetch/in-band): Express in terms of git-fetch/in-band*.
(git-fetch/lfs): New procedure.
* doc/guix.texi (origin Reference): Document it.
Change-Id: I5b233b8642a7bdb8737b9d9b740e7254a89ccb25
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-11-07 | doc: Add some guidelines for reviewing....* doc/contributing.texi (Contributing) [Reviewing the Work of Others]: New
section.
(Debbugs Usertags): Expound with Emacs Debbugs information and document the
'reviewed-looks-good' usertag.
* etc/git/gitconfig [b4]: New section.
Change-Id: I56630b15ec4fbc5c67e5420dbf2838556a005d6b
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-11-07 | doc: Update URL of Mumi git repository....* doc/contributing.texi (Debbugs User Interfaces): Use new repository URL.
Change-Id: Ieccf34be8a103740607d8c115120902dc687d4e7
| Ricardo Wurmus |
2023-11-05 | home: services: Add 'x11-display' service....* gnu/home/services/desktop.scm (x11-shepherd-service): New procedure.
(home-x11-service-type): New variable.
(redshift-shepherd-service): Add 'requirement' field.
(home-redshift-service-type): Extend 'home-x11-service-type'.
* doc/guix.texi (Desktop Home Services): Document it.
Change-Id: Ibd46d71cbb80fcdff8dbf3e8dbcfc3b24163bdb6
| Ludovic Courtès |
2023-11-05 | doc: contributing: Replace reference to dunst.scm....The contributing documentation makes a reference to dunst.scm as an example of
the build process failing after an update. This patch replaces that reference
with a much more permanent linux.scm.
* doc/contributing.texi: Replace reference to dunst.scm.
Change-Id: I89a4157eb253e25979bc35d6d3b12201a0d19951
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Jaeme Sifat |
2023-11-01 | doc: contributiong: Fix ref usage....Previous usage renders as "see See Teams".
* doc/contributing.texi: Fix ref usage.
Change-Id: I97a91697ecb87d07cc3c962a79d87dd290a70a7c
| Julien Lepiller |
2023-10-25 | doc: cookbook: Fix a broken cross-reference....* doc/guix-cookbook.texi (Building with Guix): Adjust xref target.
Change-Id: I87d6dc2648ff8898e3dd3b5ffca748193f14751e
| Florian Pelz |
2023-10-24 | doc: cookbook: Add cross references to the manual regarding manifests....* doc/guix-cookbook.texi (The benefits of manifests)
(Reproducible profiles): Add cross-references.
| Ludovic Courtès |
2023-10-24 | doc: cookbook: Suggest ‘guix shell’ as an alternative to multiple profiles....Multiple profiles are relatively hard to set up and maintain, especially
for newcomers. Thus, suggest ‘guix shell’ as an alternative.
* doc/guix-cookbook.texi (Guix Profiles in Practice): Add note
linking to ‘guix shell’.
(The benefits of manifests): Remove outdated info about ‘guix
environment’ and profiles that may be GC’d. Update.
| Ludovic Courtès |
2023-10-24 | doc: Mention Guix Home in “Getting Started”....* doc/guix.texi (Getting Started): Mention Guix Home.
(Home Configuration): Remove “still under development” note.
| Ludovic Courtès |
2023-10-24 | doc: Move “System Troubleshooting Tips” below....So far this section would appear before “Getting Started”. This moves
it right after “System Configuration”.
* doc/guix.texi (System Troubleshooting Tips): Move after “System
Configuration”.
| Ludovic Courtès |
2023-10-23 | 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>
| Maxim Cournoyer |