summaryrefslogtreecommitdiff
path: root/doc/guix.texi
Commit message (Expand)AuthorAgeFilesLines
* 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> Ekaitz Zarraga2023-10-211-0/+21
* doc: Expand origin-Reference section•••* doc/guix.texi (origin Reference): Add references for hg-reference, svn-reference, bzr-fetch, and bzr-reference. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Christina O'Donnell2023-10-181-1/+73
* doc: Clarify partition LBA compatibility.•••* doc/guix.texi (partition Reference): Clarify LBA compatibility. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Gabriel Wicki2023-10-171-1/+2
* doc: Use herd for cerbot deploy hook example.•••* doc/guix.texi (Certificate Services): Replace PID file based example with one using (gnu services herd). Rename %nginx-deploy-hook to %certbot-deploy-hook. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal2023-10-141-6/+7
* pack: Allow setting a custom image tag for Docker images•••Previously, the image repository name was automatically computed from the packages in the manifest without allowing the user to set a custom one. As such, changing the packages in the manifest would result in a new image name. Thereby requiring updating documentation et cetera when using `docker load` directory on the resulting image. Inspired by `docker build -t`, this commit adds a new Docker-specific option to `guix pack` which allows setting a custom repository name for the resulting image. If this option is not specified, pack falls back to computing the name from the manifest. Therefore, this change is entirely backwards compatible. * guix/scripts/pack.scm (guix-pack): Add --image-tag option. (%docker-format-options): New constant. (show-docker-format-options): New procedure. (show-docker-format-options/detailed): New procedure. (docker-image): Allow setting a custom repository name for the created docker image via extra-options. * doc/guix.texi (Invoking guix pack)[docker]: Document --image-tag option. Signed-off-by: Sören Tempel <soeren@soeren-tempel.net> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Sören Tempel2023-10-141-3/+6
* doc: Document specification->package+output.•••Reported by nutcase on IRC. * doc/guix.texi (Using the Configuration System): Add a section about using specification->package+output. Efraim Flashner2023-10-131-0/+17
* services: cuirass: Add ‘log-expiry’ option for ‘remote-server’.•••* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>)[log-expiry]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Ludovic Courtès2023-10-121-0/+4
* doc: Fix typo.•••* doc/guix.texi (Derivations): Fix typo. Ludovic Courtès2023-10-121-1/+1
* services: static-networking: Add support for bonding.•••* gnu/services/base.scm (<network-link>): Add mac-address field. Set type field to #f by default, so it won't be mandatory. network-link without a type will be used for existing interfaces. (assert-network-link-mac-address, mac-address?): Add sanitizer. Allow valid mac-address or #f. (assert-network-link-type): Add sanitizer. Allow symbol or #f. * gnu/services/base.scm (network-set-up/linux, network-tear-down/linux): Adapt to new structure. * doc/guix.texi (Networking Setup): Document it. * gnu/tests/networking.scm (run-static-networking-advanced-test): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Alexey Abramov2023-10-111-3/+58
* doc: Fix typo.•••* doc/guix.texi (GNU Privacy Guard): Fix typo. Ludovic Courtès2023-10-081-1/+1
* 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> Bruno Victal2023-10-071-3/+3
* 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> Bruno Victal2023-10-071-60/+42
* 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> Nikolaos Chatzikonstantinou2023-10-051-1/+1
* 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. Ludovic Courtès2023-10-011-26/+45
* 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. Ludovic Courtès2023-10-011-0/+51
* 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. Ludovic Courtès2023-10-011-5/+0
* 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. Ludovic Courtès2023-10-011-2/+2
* 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. Ludovic Courtès2023-10-011-1/+41
* 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. Ludovic Courtès2023-09-261-0/+1
* Merge branch 'master' into emacs-teamLiliana Marie Prikler2023-09-221-23/+113
|\
| * image: Introduce the mbr-hybrid-raw image type.•••Until 209204e23b39af09e0ea92540b6fa00a60e6a0ae and d57cab764122af69d52d8cc9c843456044e5d7bc, 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> Mathieu Othacehe2023-09-201-7/+27
| * doc: Fix typo.•••* doc/guix.texi (Specifying Channel Authorizations): Remove extra hyphen. Ludovic Courtès2023-09-181-1/+1
| * 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> Alexey Abramov2023-09-171-0/+6
| * services: guix: Add bffe-service-type.•••This is intended to replace the functionality of the Guix Build Coordinator queue builds script, and also provide a web interface for build farms. * gnu/services/guix.scm (<bffe-configuration>): New record type. (bffe-configuration, bffe-configuration?, bffe-configuration-package, bffe-configuration-user, bffe-configuration-group, bffe-configuration-arguments bffe-configuration-extra-environment-variables): New procedures. (bffe-service-type): New variable. * gnu/tests/guix.scm (%test-bffe): New variable. * doc/guix.texi (Guix Services): Document the new service. Christopher Baines2023-09-151-0/+59
| * doc: Make “crash course” xref more visible.•••* doc/guix.texi (Using the Configuration System): Move the “Do not panic” note right after the first example. Clarify wording. Ludovic Courtès2023-09-141-15/+20
* | Merge branch 'master' into emacs-teamLiliana Marie Prikler2023-09-091-86/+124
|\|
| * doc: Fix typo.•••* doc/guix.texi (VNC Services): Fix typo. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Aleksandr Vityazev2023-09-051-1/+1
| * 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> Arun Isaac2023-09-051-1/+1
| * doc: manual: Update TeX Live-related sections.•••* doc/guix.texi (Invoking guix import): Mention "--recursive" option. (Using TeX and LaTeX): Improve documentation of modular TeX Live. Insist on the incompatibility with TEXLIVE package, and expound part about collections and schemes. Also fix the call to `tlmgr', which does not need to happen from a "guix shell" invocation. Co-authored-by: Andreas Enge <andreas@enge.fr> Nicolas Goaziou2023-09-041-79/+55
| * home: Add parcimonie service.•••* gnu/home/services/gnupg.scm (home-parcimonie-service-type, home-parcimonie-configuration): New variables. * doc/guix.texi (GNU Privacy Guard): Document it. Efraim Flashner2023-09-041-0/+56
| * doc: Describe black screen issue when booting the installer.•••With suggestions by Iku-Tulo Vilutar <ikutulovilutar@gmail.com>. Fixes <https://issues.guix.gnu.org/65572>. * doc/guix.texi (System Installation): Add suggestion when booting the installer fails with a black screen. Florian Pelz2023-09-021-0/+10
| * doc: Update link to Mumi repository.•••* doc/guix.texi (Web Services): Update URL of Mumi git repository. Reported-by: Attila Lendvai <attila@lendvai.name> Ricardo Wurmus2023-08-301-1/+1
| * Revert "gnu: system: Add home-directory-permissions field to <user-account>."•••This reverts commit e9a5eebc785cb843034b38c5c5a6dd10904bdf2a, which as far as I can tell breaks system roll-backs thusly: [...] In gnu/build/accounts.scm: 239:27 3 (_ #<<password-entry> name: "root" password: "x" uid: 0 gid: 0 real-name: "System >) In unknown file: 2 (string-join ("root" "x" "0" "0" "System administrator" "/root" #t) ":" #<undefined>) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure string-append: Wrong type (expecting string): #t Tobias Geerinckx-Rice2023-08-201-4/+0
* | 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> Maxim Cournoyer2023-09-071-4/+7
|/
* 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> Josselin Poiret2023-08-251-1/+9
* 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> David Thompson2023-08-251-0/+4
* 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. Josselin Poiret2023-08-251-6/+10
* 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. Ludovic Courtès2023-08-221-6/+5
* doc: Clarify 'user' field and key pairs in Daemon Offload.•••* doc/guix.texi (Daemon Offload Setup:): Clarify 'user' field of build-machine data type and the key pair used by guix archive. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal2023-08-211-1/+6
* doc: Fix module for "Essential Home Services".•••Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves2023-08-201-3/+3
* home: services: Add Syncthing.•••* gnu/home/services/syncthing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/services/syncthing.scm (<syncthing-configuration>)[home-service?]: New field. Adjust 'provision' and 'requirement' depending on 'home-service?', and likewise for #:user and #:group. Use 'filter' + 'negate' instead of 'remove'. * doc/guix.texi (Networking Services): Add note and cross-reference to "Networking Home Services". (Networking Home Services): New node. Ludovic Courtès2023-08-201-1/+50
* home: services: Add dicod.•••* gnu/home/services/dict.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/services/dict.scm (<dicod-configuration>)[home-service?]: New field. (dicod-shepherd-service): Do not map /dev/log when 'home-service?' is true. Remove 'user-processes' requirement when 'home-service?' is true. (dicod-shepherd-service): Set #:user and #:group to #f when 'home-service?' is true. * doc/guix.texi (Miscellaneous Home Services): New node. (Miscellaneous Services): Add cross-reference. Ludovic Courtès2023-08-201-0/+45
* Merge branch 'kde-updates'宋文武2023-08-191-0/+18
|\
| * Merge remote-tracking branch 'origin/master' into kde-updates宋文武2023-08-171-109/+149
| |\
| * \ Merge remote-tracking branch 'origin/master' into kde-updates宋文武2023-08-111-2/+224
| |\ \
| * | | services: Add Plasma desktop service.•••* gnu/services/desktop.scm (kde-desktop-service-type): New variable. (<kde-desktop-configuration>): New record type. (kde-desktop-configuration): New procedure. * doc/guix.texi (Desktop Services): Document it. Co-authored-by: Zheng Junjie <873216071@qq.com> Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Hartmut Goebel2023-08-031-0/+18
* | | | pull, time-machine: Add '-q' to ignore channel files.•••This also fixes <https://issues.guix.gnu.org/63726>. * guix/scripts/pull.scm (show-help, %options): Add '-q'. (channel-list): Honor it. * guix/scripts/time-machine.scm (show-help, %options): Add '-q'. * doc/guix.texi (Invoking guix pull, Invoking guix time-machine): Document it. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Ludovic Courtès2023-08-171-10/+37
* | | | doc: Fix typo.•••* doc/guix.texi (VPN Services): Fix typo. Maxim Cournoyer2023-08-171-1/+1
| |_|/ |/| |
* | | scripts: time-machine: Error when attempting to visit too old commits.•••* doc/guix.texi (Invoking guix time-machine): Document limitation. * guix/inferior.scm (cached-channel-instance): New VALIDATE-CHANNELS argument. Use it to validate channels when there are no cache hit. * guix/scripts/time-machine.scm (%options): Tag the given reference with 'tag-or-commit instead of 'commit. (%oldest-possible-commit): New variable. (guix-time-machine) <validate-guix-channel>: New nested procedure. Pass it to the 'cached-channel-instance' call. * tests/guix-time-machine.sh: New test. * Makefile.am (SH_TESTS): Register it. Suggested-by: Simon Tournier <zimon.toutoune@gmail.com> Reviewed-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com> Maxim Cournoyer2023-08-161-0/+17
* | | Revert "services: Add ddclient service."•••ddclient is unmaintained as of 2023-07-04 [1] and this service has been broken for a while [2]. Remove it rather than shipping a broken service for an unmaintained program that's unlikely to be fixed. [1]: <https://github.com/ddclient/ddclient> [2]: <https://issues.guix.gnu.org/52770> This reverts commit 8490a8346b5c8207f5798be55bea1de865b0bd42. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal2023-08-161-107/+0