aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2020-06-16pull: Add '--disable-authentication'.Ludovic Courtès
* guix/channels.scm (latest-channel-instance): Add #:authenticate? and honor it. (latest-channel-instances): Likewise. * guix/scripts/pull.scm (%default-options): Add 'authenticate-channels?'. (show-help, %options): Add '--disable-authentication'. (guix-pull): Pass #:authenticate? to 'latest-channel-instances'. * doc/guix.texi (Invoking guix pull): Document it.
2020-06-16channels: 'latest-channel-instance' authenticates Git checkouts.Ludovic Courtès
Fixes <https://bugs.gnu.org/22883>. * guix/channels.scm (<channel>)[introduction]: New field. (<channel-introduction>): New record type. (%guix-channel-introduction): New variable. (%default-channels): Use it. (<channel-metadata>)[keyring-reference]: New field. (%default-keyring-reference): New variable. (read-channel-metadata, read-channel-metadata-from-source): Initialize the 'keyring-reference' field. (commit-short-id, verify-introductory-commit) (authenticate-channel): New procedures. (latest-channel-instance): Call 'authenticate-channel' when CHANNEL has an introduction. * tests/channels.scm (gpg+git-available?, commit-id-string): New procedures. ("authenticate-channel, wrong first commit signer"): ("authenticate-channel, .guix-authorizations"): New tests. * doc/guix.texi (Invoking guix pull): Mention authentication.
2020-06-16pack: Add zstd compressor.Tobias Geerinckx-Rice
* guix/scripts/pack.scm (%compressors): Add zstd. * doc/guix.texi (Invoking guix pack): Document it.
2020-06-15doc: Clarify 'hurd-vm' and 'childhurd' names.Jan (janneke) Nieuwenhuizen
Suggested by Maxim Cournoyer via IRC. * doc/guix.texi (The Hurd in a Virtual Machine): Explicitly mention that hurd-vm and childhurd are two names for this service.
2020-06-14guix repl: Add script execution.Konrad Hinsen
* guix/scripts/repl.scm: Add filename options for script execution. * doc/guix.texi (Invoking guix repl): Document it. * tests/guix-repl.sh: Test it. * Makefile.am: (SH_TESTS): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-06-14services: Add 'hurd-vm service-type'.Jan (janneke) Nieuwenhuizen
* gnu/services/virtualization.scm (hurd-vm-shepherd-service, hurd-vm-disk-image): New procedures. (%hurd-vm-operating-system, hurd-vm-service-type): New variables. (<hurd-vm-configuration>): New record type. * doc/guix.texi (Virtualization Services): Document it. * gnu/services/shepherd.scm (scm->go): Use let-system, remove FIXME. Fixes fixes cross-building of shepherd modules for the Hurd image.
2020-06-14lint: Add 'check-for-collisions' checker.Ludovic Courtès
Suggested by Edouard Klein <edk@beaver-labs.com>. * guix/profiles.scm (check-for-collisions): Export. * guix/lint.scm (check-profile-collisions): New procedure. (%local-checkers): Add 'profile-collisions' checker. * tests/lint.scm ("profile-collisions: no warnings") ("profile-collisions: propagated inputs collide") ("profile-collisions: propagated inputs collide, store items"): New tests. * doc/guix.texi (Invoking guix lint): Document it.
2020-06-14doc: Mention 'guix lint -c derivation'.Ludovic Courtès
* doc/guix.texi (Invoking guix lint): Mention the 'derivation' checker.
2020-06-09doc: Add note to 'udisks-service'.Brice Waegeneire
* doc/guix.texi (Desktop Services): Specify how to add file-systems utilities to 'udisks-service'.
2020-06-08services: Add `hurd-getty-service-type'.Jan (janneke) Nieuwenhuizen
* gnu/services/hurd.scm (<hurd-gettty-configuration>): New record. (hurd-ttys-shepherd-service): New procedure. (hurd-getty-service-type): New variable. * doc/guix.texi (Hurd Services): Document it.
2020-06-08services: Add `hurd-console-service-type'.Jan (janneke) Nieuwenhuizen
* gnu/services/hurd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Hurd Services): Document it.
2020-06-08bootloader: Extend `<menu-entry>' for multiboot.Jan (janneke) Nieuwenhuizen
* gnu/bootloader.scm (<menu-entry>)[multiboot-kernel,multiboot-arguments, multiboot-modules]: New fields. [linux,initrd]: Add default value '#f'. (menu-entry->sexp, sexp->menu-entry): Support multiboot entry. * doc/guix.texi (Bootloader Configuration): Document them.
2020-06-08system: Add 'hurd' field to <operating-system>.Jan (janneke) Nieuwenhuizen
* gnu/system.scm (<operating-system>)[hurd]: New field. * doc/guix.texi (operating-system Reference): Document 'hurd'.
2020-06-03doc: Mention Btrfs compression.Ludovic Courtès
Suggested by Pierre Neidhardt <mail@ambrevar.xyz>. * doc/guix.texi (Keyboard Layout and Networking and Partitioning): Mention Btrfs compression.
2020-06-03gnu: services: docker: Add a debug? parameter.Maxim Cournoyer
* gnu/services/docker.scm (docker-configuration): Add a debug? field. (containerd-shepherd-service): Pass the "--log-level=debug" argument when DEBUG? is true. (docker-shepherd-service): Pass the "--debug" and "--log-level=debug" arguments when DEBUG? is true. * doc/guix.texi (Miscellaneous Services): Update doc.
2020-05-29services: nfs: Expose configuration options for TCP and UDP.Maxim Cournoyer
* gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]: New fields. (nfs-shepherd-services)[rpc.nfsd]: Populate the --{no-,}tcp and --{no-,}udp command line options based on the values of the nfsd-tcp? and nfsd-upd? fields. * doc/guix.texi (Network File System): Add doc.
2020-05-29doc: Add example to calculate the size a system.Pierre Neidhardt
* doc/guix.texi (Invoking `guix size'): Add guix size example for store item.
2020-05-28doc: Remove explicit support for mips64el-linux.Efraim Flashner
It's been a good run, but no one is maintaining the architecture. So long, and thanks for all the fish. * doc/guix.texi (GNU Distribution): Change text for mips64el-linux to denote it is deprecated. (Daemon Offload Setup): Change occurrences of mips64el-linux to aarch64-linux and adjust local code snippets. (Guix Environment)[cross-compilation]: Change mips64el-linux-gnu to aarch64-linux-gnu. (GNU Build System)(package-cross-derivation]: Same. (G-Expressions)[cross compilation]: Same. (Additional Build Options)[cross-compilation, build logs]: Same. (qemu-binfmt-service-type): Remove mips64el. * doc/contributing.texi (Submitting Patches): Same. * m4/guix.m4: (GUIX_ASSERT_SUPPORTED_SYSTEM): Remove mips64el-linux.
2020-05-27doc: Use existing URLs and file names in installation instructions.Julien Lepiller
Some users are confused that these URLs and file names don't work, so change them to the most popular architecture, while still mentioning alternatives. * doc/guix.texi (USB Stick and DVD Installation, Binary Installation): Use x86_64-linux URLs by default.
2020-05-25doc: Fix typos.zimoun
* doc/guix.texi: Fix typos. * doc/contributing.texi: Fix typos. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2020-05-25pull: Protect against downgrade attacks.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Add 'validate-pull'. (%options, show-help): Add '--allow-downgrades'. (warn-about-backward-updates): New procedure. (guix-pull): Pass #:current-channels and #:validate-pull to 'latest-channel-instances'. * guix/channels.scm (ensure-forward-channel-update): Add hint for when (channel-commit channel) is true. * doc/guix.texi (Invoking guix pull): Document '--allow-downgrades'.
2020-05-24doc: Update to the new 'grub-theme' procedure.Jan (janneke) Nieuwenhuizen
This is a follow-up commit to 9cdb10d52e34f7e8fa3b6238fe268646a4bbb877: gnu: grub: Allow a PNG image and replace "aspect-ratio" with "resolution". * doc/guix.texi (Bootloader Configuration): Describe and use the 'grub-theme' procedure instead of the removed '%default-theme' variable.
2020-05-22doc: Update 'Bootstrapping' for further binary seed reduction.Jan Nieuwenhuizen
* doc/images/gcc-core-mesboot0-graph.dot: New image, replacing * doc/images/gcc-mesboot0-bag-graph.dot: ... remove file. * doc/local.mk (DOT_FILES): Update for new image file. * doc/guix.texi (Reduced Binary Seed Bootstrap): Use it in updated description of further reduction of the trusted computing base.
2020-05-22packages: Introduce <content-hash> and use it in <origin>.Ludovic Courtès
* guix/packages.scm (<content-hash>): New record type. (define-content-hash-constructor, build-content-hash) (content-hash): New macros. (print-content-hash): New procedure. (<origin>): Rename constructor to '%origin'. [sha256]: Remove field. [hash]: New field. Adjust users. (origin-compatibility-helper, origin): New macros. (origin-sha256): New deprecated procedure. (origin->derivation): Adjust accordingly. * tests/packages.scm ("package-source-derivation, origin, sha512"): New test. * guix/tests.scm: Hide (gcrypt hash) 'sha256' for proper syntax matching. * tests/challenge.scm: Add #:prefix for (gcrypt hash) and adjust users. * tests/derivations.scm: Likewise. * tests/store.scm: Likewise. * tests/graph.scm ("bag DAG, including origins"): Provide 'sha256' field with the right length. * gnu/packages/aspell.scm (aspell-dictionary) (aspell-dict-ca, aspell-dict-it): Use 'hash' and 'content-hash' for proper syntax matching. * gnu/packages/bash.scm (bash-patch): Rename 'sha256' to 'sha256-bv'. * gnu/packages/bootstrap.scm (bootstrap-executable): Rename 'sha256' to 'bv'. * gnu/packages/readline.scm (readline-patch): Likewise. * gnu/packages/virtualization.scm (qemu-patch): Rename 'sha256' to 'sha256-bv'. * guix/import/utils.scm: Hide (gcrypt hash) 'sha256'.
2020-05-22guix hash, guix download: Support base64 format.Ludovic Courtès
* guix/scripts/download.scm (show-help, %options): Support "base64" format. * guix/scripts/hash.scm (show-help, %options): Likewise. * tests/guix-hash.sh: Test it. * doc/guix.texi (Invoking guix hash): Document it.
2020-05-22guix hash, guix download: Add '--hash'.Ludovic Courtès
* guix/scripts/download.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-download): Honor it. * guix/scripts/hash.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-hash): Honor it. * tests/guix-hash.sh: Test '-H sha512'. * doc/guix.texi (Invoking guix download): Document it. (Invoking guix hash): Document it.
2020-05-22doc: Use "Alternatively" instead of "Alternately".Ludovic Courtès
These two words have different meanings and we really meant "alternatively" here. * doc/guix.texi (System Installation): (Preparing for Installation): (Invoking guix refresh): (Invoking guix challenge): (Networking Services): "Alternatively", not "Alternately".
2020-05-20bootloader: grub: Allow booting from a Btrfs subvolume.Maxim Cournoyer
* gnu/bootloader/grub.scm (strip-mount-point): Remove procedure. (normalize-file): Add procedure. (grub-configuration-file): New BTRFS-SUBVOLUME-FILE-NAME parameter. When defined, prepend its value to the kernel and initrd file names, using the NORMALIZE-FILE procedure. Adjust the call to EYE-CANDY to pass the BTRFS-SUBVOLUME-FILE-NAME argument. Normalize the KEYMAP file as well. (eye-candy): Add a BTRFS-SUBVOLUME-FILE-NAME parameter, and use it, along with the NORMALIZE-FILE procedure, to normalize the FONT-FILE and IMAGE nested variables. Adjust doc. * gnu/bootloader/depthcharge.scm (depthcharge-configuration-file): Adapt. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Likewise. * gnu/system/file-systems.scm (btrfs-subvolume?) (btrfs-store-subvolume-file-name): New procedures. * gnu/system.scm (operating-system-bootcfg): Specify the Btrfs subvolume file name the store resides on to the `operating-system-bootcfg' procedure, using the new BTRFS-SUBVOLUME-FILE-NAME argument. * doc/guix.texi (File Systems): Add a Btrfs subsection to document the use of subvolumes. * gnu/tests/install.scm (%btrfs-root-on-subvolume-os) (%btrfs-root-on-subvolume-os-source) (%btrfs-root-on-subvolume-installation-script) (%test-btrfs-root-on-subvolume-os): New variables.
2020-05-20file-systems: Add helpers for parsing the options string into an alist.Maxim Cournoyer
* gnu/system/file-systems.scm (file-system-options->alist) (alist->file-system-options): New procedures. * tests/file-systems.scm: New tests. * doc/guix.texi (File Systems): Add note about the newly added procedures.
2020-05-20linux-boot: Refactor boot-system.Maxim Cournoyer
The --root option can now be omitted, and inferred from the root file system declaration instead. * gnu/build/file-systems.scm (canonicalize-device-spec): Extend to support NFS directly, and... * gnu/build/linux-boot.scm (boot-system): ...remove NFS special casing from here. Remove nested definitions for root-fs-type, root-fs-flags and root-fs-options, and bind those inside the let* instead. Make "--root" take precedence over the device field string representation of the root file system. * doc/guix.texi (Initial RAM Disk): Document that "--root" can be left unspecified.
2020-05-18guix describe: Add '--list-formats'Ekaitz Zarraga
* guix/scripts/describe.scm (%available-formats): New variable. (list-formats): New procedure. (%options, show-help): Add --list-formats * doc/guix.texi: Add --list-formats Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-05-17doc: meson-build-system: Fix build type documentation.Julien Lepiller
* doc/guix.texi (Build Systems): Fix meson build system description.
2020-05-16doc: Reword "The GCC toolchain".zimoun
Fix commit 1f14e25c1969a93908288cb302a572f3cbbaa478 as discussed in <https://bugs.gnu.org/41038>. * doc/guix.texi (Packages for C Development): Rename to... (The GCC toolchain): ...this. Add gfortran-toolchain. (Invoking guix package): Add guix-search anchor. (Application Setup)[The GCC toolchain]: Remove. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-05-16etc: Add a systemd unit to bind-mount @storedir@ read-only.Tobias Geerinckx-Rice
* etc/gnu-store.mount.in: New file. * nix/local.mk (nodist_systemdservice_DATA): Add it. (etc/%.mount): New rule for it. * etc/guix-install.sh (sys_enable_guix_daemon): Install it. * doc/guix.texi (Binary Installation): Document it. * .gitignore: Ignore changes to it.
2020-05-16gexp: Add 'let-system'.Ludovic Courtès
* guix/gexp.scm (<system-binding>): New record type. (let-system): New macro. (system-binding-compiler): New procedure. (default-expander): Add 'self-quoting?' case. (self-quoting?): New procedure. (lower-inputs): Add 'filterm'. Pass the result of 'mapm/accumulate-builds' through FILTERM. (gexp->sexp)[self-quoting?]: Remove. * tests/gexp.scm ("let-system", "let-system, target") ("let-system, ungexp-native, target") ("let-system, nested"): New tests. * doc/guix.texi (G-Expressions): Document it.
2020-05-14pack: Add relocation via ld.so and fakechroot.Ludovic Courtès
* gnu/packages/aux-files/run-in-namespace.c (HAVE_EXEC_WITH_LOADER): New macro. (bind_mount): Rename to... (mirror_directory): ... this. Add 'firmlink' argument and use it instead of calling mkdir/open/close/mount directly. (bind_mount, make_symlink): New functions. (exec_in_user_namespace): Adjust accordingly. (exec_with_loader) [HAVE_EXEC_WITH_LOADER]: New function. (exec_performance): New function. (engines): Add them. * guix/scripts/pack.scm (wrapped-package)[fakechroot-library] [audit-module]: New procedures. [audit-source]: New variable. [build](elf-interpreter, elf-loader-compile-flags): New procedures. (build-wrapper): Use them. * tests/guix-pack-relocatable.sh: Test with 'GUIX_EXECUTION_ENGINE=fakechroot'. * doc/guix.texi (Invoking guix pack): Document the 'performance' and 'fakechroot' engines. * gnu/packages/aux-files/pack-audit.c: New file. * Makefile.am (AUX_FILES): Add it.
2020-05-14pack: Wrapper honors 'GUIX_EXECUTION_ENGINE' environment variable.Ludovic Courtès
* gnu/packages/aux-files/run-in-namespace.c (struct engine): New type. (exec_default): New function. (engines): New variable. (execution_engine): New function. (main): Use it instead of calling 'exec_in_user_namespace' and 'exec_with_proot' directly. * tests/guix-pack-relocatable.sh: Add test with 'GUIX_EXECUTION_ENGINE'. * doc/guix.texi (Invoking guix pack): Document 'GUIX_EXECUTION_ENGINE'.
2020-05-13doc: Mention guix-daemon's 'https_proxy' environment variable.Brice Waegeneire
* doc/guix.texi (Proxy Settings, Derivations): Mention 'https_proxy'.
2020-05-13mailmap: Update entries for Nikita.nikita
* .mailmap: change email and name for Nikita. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish, gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/erlang.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile-xyz.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell-xyz.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp-xyz.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2020-05-11guix graph: Add '--path'.Ludovic Courtès
* guix/scripts/graph.scm (display-path): New procedure. (%options, show-help): Add '--path'. (guix-graph): Handle it. * tests/guix-graph.sh: Add tests. * doc/guix.texi (Invoking guix graph): Document it. (Invoking guix size): Mention it.
2020-05-11doc: Mention xdot.Ludovic Courtès
* doc/guix.texi (Invoking guix graph): Mention xdot. Remove a couple of "| dot -Tpdf" in examples and add "| xdot". (Invoking guix system): Likewise. (Preparing to Use the Bootstrap Binaries): Likewise.
2020-05-08Merge branch 'core-updates'Marius Bakke
2020-05-07doc: Use @option for command-line optionsNicolas Goaziou
* doc/guix.texi (Invoking guix system): Use @option instead of @code.
2020-05-07guix system: 'docker-image' honors '--network'.Ludovic Courtès
* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and pass it to 'containerized-operating-system'. (qemu-image): * guix/scripts/system.scm (system-derivation-for-action): Pass #:shared-network? to 'system-docker-image'. * doc/guix.texi (Invoking guix system): Document it.
2020-05-07doc: Tiny markup fix.Nicolas Goaziou
* doc/guix.texi (Substitute Authentication): Use @samp instead of @code for pseudo-code.
2020-05-07doc: Remove markup for external package names.Nicolas Goaziou
* doc/guix.texi (Invoking guix import): Remove markup, which is not warranted here.
2020-05-07doc: Use @file instead of @code also for file extensions.Nicolas Goaziou
* doc/guix.texi (Defining Packages): (Build Systems): (Derivations): (Invoking guix import): (Printing Services): (Installing Debugging Files): (Preparing to Use the Bootstrap Binaries): Use @file instead of @code.
2020-05-07doc: Use @env for environment variables.Nicolas Goaziou
* doc/guix.texi (Binary Installation): (Build Environment Setup): (Invoking guix-daemon): (Application Setup): (After System Installation): (Invoking guix package): (Proxy Settings): (Invoking guix environment): (Packages for C Development): (Package Modules): (Build Systems): (The Store): (Common Build Options): (Invoking guix download): (Invoking guix refresh): (Using the Configuration System): (Locales): (Base Services): (Networking Services): (Sound Services): (Continuous Integration): (PAM Mount Service): (X.509 Certificates): Use @env instead of @code for environment variables.
2020-05-07doc: Use @option instead of @code.Nicolas Goaziou
* doc/guix.texi (Binary Installation): (Requirements): (Build Environment Setup): (Invoking guix-daemon): (Application Setup): (Invoking guix package): (Substitute Server Authorization): (Substitution Failure): (Invoking guix gc): (Invoking guix pull): (Invoking guix archive): (Invoking guix environment): (Invoking guix pack): (Defining Packages): (Build Systems): (The Store): (Invoking guix build): (Common Build Options): (Package Transformation Options): (Additional Build Options): (Debugging Build Failures): (Invoking guix edit): (Invoking guix import): (Invoking guix refresh): (Invoking guix lint): (Invoking guix publish): (Invoking guix challenge): (Base Services): (Virtualization Services): (Initial RAM Disk): (Invoking guix system): (Preparing to Use the Bootstrap Binaries): (Porting): Use @option instead of @code for command-line options.
2020-05-07doc: Fix typo in container example.Pierre Neidhardt
* doc/guix.texi (Invoking `guix environment'): Fix sll -> ssl typo.