aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2024-01-22guix: Add ork1-elf platform.Jean-Pierre De Jesus DIAZ
* 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-16doc: Fix mistakes in the manual.Efraim Flashner
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-14bootloader: grub: Add support for loading an additional initrd.Tomas Volf
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-14mapped-devices: Allow unlocking by a key file.Tomas Volf
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-12doc: Fix typos and add readonly option to qemu invocation.Nikolaos Chatzikonstantinou
* 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-09guix: import: Optionally import necessary yanked crates.David Elsing
* 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-09import: crate: Optionally import dev-dependencies recursively.David Elsing
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-08guix: pack: Build layered images.Oleg Pykhalov
* 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-08guix: pack: Add '--entry-point-argument' option.Graham James Addis
* 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-07doc: Delete trailing whitespace.Tomas Volf
* doc/guix.texi: Delete trailing whitespace. Change-Id: Ibf99a551f890044b8ce5772bdebb8a0b02ab1c21 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-01-05daemon: Change default ‘timeout’ and ‘max-silent-time’ values.Ludovic Courtès
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-03services: docker: Add config-file option.Connor Clark
* 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>
2023-12-31doc: cookbook: Fix typo.Jonathan Brielmaier
Follow-up: f24b14767d362a84e6469682b4fe303b50f4b589 * doc/guix-cookbook.texi (Routed network for libvirt): Fix typo in section name. Change-Id: I1ba7ee2cba89764283f6a702a793ee9100585a87
2023-12-31doc: Use accurate wording in Emacs-Debbugs configuration.Florian Pelz
'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>
2023-12-30Add network bridge guide to the cookbook.Maxim Cournoyer
Change-Id: If478196985aac7947067329957516f82bcb95ca4
2023-12-30doc: Fix doc and clarify how to use libvirt as unprivileged user.Maxim Cournoyer
* 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-28services: laminar: Add configuration option for supplementary groups.David Thompson
* 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-26gnu: home: Add home-pipewire service.Brian Cully
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-22services: guix: Remove guix-build-coordinator-queue-builds service.Christopher Baines
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-22gexp: #:references-graphs accepts and honors <gexp-input> records.Ludovic Courtès
* 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-22gexp: Add compiler for <gexp-input>.Ludovic Courtès
* 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-18build-system: Add ‘composer-build-system’.Nicolas Graves
* 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-18guix: import: Add composer importer.Nicolas Graves
* 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-18Update cookbook Texinfo menus.Maxim Cournoyer
Automated via C-c C-u C-a with Emacs. Change-Id: I9e595430529f8f994988c1ac3c919bdaef930dc1
2023-12-18doc: Document the rust-target platform field.Efraim Flashner
* doc/guix.texi (platform Reference): Document the rust-target platform field. Change-Id: I31642bbc64f6d4f2bfeed4a4000f95f853580444
2023-12-14services: Add rspamd-service-type.Thomas Ieong
* 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-14services: guix: Allow gexps evaluating to a list of build-machines.Saku Laesvuori
* 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-11weather: Report unauthorized substitute servers.Ludovic Courtès
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-11weather: Use the same substitute URLs as guix-daemon.Ludovic Courtès
* 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-11doc: suggest using pre-inst-env for git-send-email on foreign distrosRaphaël Mélotte
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-11guix: Add avr platform.Jean-Pierre De Jesus DIAZ
* 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>
2023-12-04monad-repl: Add REPL commands to inspect package arguments.Ludovic Courtès
* 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
2023-12-04doc: Recommend building in ‘guix shell -CPW’.Ludovic Courtès
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
2023-11-25doc: Update yggdrasil related documentation.Aleksandr Vityazev
* 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-25doc: Fix childhurd host SSH port number.Ludovic Courtès
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-23services: Add oci-container-service-type.Giacomo Leidi
* 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-20doc: contributing: Fix syntax in link.Ekaitz Zarraga
* 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>
2023-11-08build-system: Add vim-build-system.Jonathan Scoresby
* 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>
2023-11-07doc: Document extra Emacs-Debbugs configurations.Maxim Cournoyer
* 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
2023-11-07doc: Expound on the build-side versus host-side modules topic.Maxim Cournoyer
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
2023-11-07git-download: Add support for Git Large File Storage (LFS).Maxim Cournoyer
* 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>
2023-11-07doc: Add some guidelines for reviewing.Maxim Cournoyer
* 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>
2023-11-07doc: Update URL of Mumi git repository.Ricardo Wurmus
* doc/contributing.texi (Debbugs User Interfaces): Use new repository URL. Change-Id: Ieccf34be8a103740607d8c115120902dc687d4e7
2023-11-05home: services: Add 'x11-display' service.Ludovic Courtès
* 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
2023-11-05doc: contributing: Replace reference to dunst.scm.Jaeme Sifat
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>
2023-11-01doc: contributiong: Fix ref usage.Julien Lepiller
Previous usage renders as "see See Teams". * doc/contributing.texi: Fix ref usage. Change-Id: I97a91697ecb87d07cc3c962a79d87dd290a70a7c
2023-10-25doc: cookbook: Fix a broken cross-reference.Florian Pelz
* doc/guix-cookbook.texi (Building with Guix): Adjust xref target. Change-Id: I87d6dc2648ff8898e3dd3b5ffca748193f14751e
2023-10-24doc: cookbook: Add cross references to the manual regarding manifests.Ludovic Courtès
* doc/guix-cookbook.texi (The benefits of manifests) (Reproducible profiles): Add cross-references.
2023-10-24doc: cookbook: Suggest ‘guix shell’ as an alternative to multiple profiles.Ludovic Courtès
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.
2023-10-24doc: Mention Guix Home in “Getting Started”.Ludovic Courtès
* doc/guix.texi (Getting Started): Mention Guix Home. (Home Configuration): Remove “still under development” note.