summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2022-05-22scripts: Add --list-systems and --list-targets options.Mathieu Othacehe
Also factorize the --system and --target build options. Check that the passed system and target arguments are known platforms. * doc/guix.texi (Additional Build Options): Document the new --list-systems and --list-targets options. * guix/scripts/build.scm (show-cross-build-options-help, show-emulated-build-options-help, list-systems, list-targets): New procedures. (%standard-cross-build-options, %standard-emulated-build-options): New variables. (show-help): Remove --system and --target entries and use show-cross-build-options-help and show-emulated-build-options-help procedures instead. (%options): Remove --system and --target entries and use %standard-cross-build-options and %standard-emulated-build-options variables instead. * guix/scripts/archive.scm (show-help, %options): Adapt them. * guix/scripts/environment.scm: Ditto. * guix/scripts/graph.scm: Ditto. * guix/scripts/pack.scm: Ditto. * guix/scripts/pull.scm: Ditto. * guix/scripts/size.scm: Ditto. * guix/scripts/weather.scm: Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-22gnu: Add elm-todomvc.Philip McGrath
* gnu/packages/elm.scm (elm-todomvc): New variable. * doc/guix.texi (Build Systems)[elm-build-system]: Mention it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22gnu: elm: Support 'elm reactor'.Philip McGrath
* gnu/packages/elm.scm (elm): Rename to ... (elm-sans-reactor): ... this new variable. [synopsis, description]: Tweak. (elm): New variable. * guix/build-system/elm.scm (default-elm): Use elm-sans-reactor. * doc/guix.texi (Build Systems)[elm-build-system]: Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22import: Add Elm importer.Philip McGrath
* guix/import/elm.scm, guix/scripts/import/elm.scm: New files. * Makefile.am (MODULES): Add them. * guix/scripts/import.scm (importers): Add "elm". * doc/guix.texi (Invoking guix import): Document Elm importer. * doc/contributing.texi (Elm Packages): Mention it. * tests/elm.scm ("(guix import elm)"): New test group. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-22guix: Add elm-build-system.Philip McGrath
* gnu/packages/patches/elm-offline-package-registry.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/elm.scm (elm): Use it. * guix/build-system/elm.scm, guix/build/elm-build-system.scm, tests/elm.scm: New files. * Makefile.scm (MODULES, SCM_TESTS): Add them. * doc/guix.texi (Build Systems): Document 'elm-build-system'. * doc/contributing.texi (Elm Packages): New section. Document naming conventions and utilities. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-15doc: Remove duplicate sddm-configuration.Tobias Geerinckx-Rice
* doc/guix.texi (X Window): Remove duplicate sddm-configuration @deftp, after merging the better parts into the remaining one. Reported by dgcampea in #guix.
2022-05-17doc: Clarify guix shell's DWIM behaviour.Liliana Marie Prikler
* doc/guix.texi ("Invoking guix shell"): Document the exact behaviour, that is which flags go together with which file names.
2022-05-16doc: Fix typos in the "Channels" chapter.Ludovic Courtès
* doc/guix.texi (Using a Custom Guix Channel) (Replicating Guix): Fix typos.
2022-05-13search-paths: Define $SSL_CERT_DIR and $SSL_CERT_FILE.Maxime Devos
For the ‘why’, see the docstring next to $SSL_CERT_DIR. In later commits, packages will be changed to use these variables and the variables will be added to more packages. * guix/search-paths.scm ($SSL_CERT_DIR, $SSL_CERT_FILE): New variables. * doc/guix.texi (Search Paths): Document them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-13doc: Add "Writing Manifests" node.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Remove explanation of 'specifications->manifest' and 'package->development-manifest'. Link to "Writing Manifests". (Inferiors): Likewise. (Invoking guix shell): Add anchor and link to 'package->development-manifest'. (Invoking guix pack): Likewise. (Writing Manifests): New section. (Using TeX and LaTeX): Link to "Writing Manifests".
2022-05-08doc: Avoid leading ‘But’.Tobias Geerinckx-Rice
* doc/guix.texi (Manual Installation): End sentence later.
2022-04-22services: nar-herder: Allow specifying the log level.Christopher Baines
* gnu/services/guix.scm (nar-herder-configuration-log-level): New procedure. (nar-herder-shepherd-services): Pass the log-level to the nar-herder process. * doc/guix.texi (Nar Herder): Document configuring the log-level.
2022-04-14daemon: Support systemd-style socket activation.Ludovic Courtès
* nix/nix-daemon/guix-daemon.cc (SD_LISTEN_FDS_START): New macro. (systemd_activation_sockets): New function. (main): Use it. Remove obsolete 'printMsg' call. * doc/guix.texi (Invoking guix-daemon): Document socket activation.
2022-04-14publish: Support systemd-style socket activation.Ludovic Courtès
* guix/scripts/publish.scm (systemd-socket): New procedure. (guix-publish): Add 'style' variable. Adjust startup message depending on whether STYLE is 'systemd. * doc/guix.texi (Invoking guix publish): Mention socket activation.
2022-04-12services: Replace murmur-service-type with mumble-server-service-type.Liliana Marie Prikler
* gnu/services/telephony.scm (murmur-configuration, make-murmur-configuration) (murmur-configuration?, murmur-configuration-package) (murmur-configuration-user, murmur-configuration-group) (murmur-configuration-port, murmur-configuration-welcome-text) (murmur-configuration-server-password) (murmur-configuration-max-users) (murmur-configuration-max-user-bandwidth) (murmur-configuration-database-file) (murmur-configuration-log-file, murmur-configuration-pid-file) (murmur-configuration-autoban-attempts) (murmur-configuration-autoban-timeframe) (murmur-configuration-autoban-time) (murmur-configuration-opus-threshold) (murmur-configuration-channel-nesting-limit) (murmur-configuration-channelname-regex) (murmur-configuration-username-regex) (murmur-configuration-test-message-length) (murmur-configuration-image-message-length) (murmur-configuration-cert-required?) (murmur-configuration-remember-channel?) (murmur-configuration-allow-html?) (murmur-configuration-allow-ping?) (murmur-configuration-bonjour?) (murmur-configuration-send-version?) (murmur-configuration-log-days) (murmur-configuration-obfuscate-ips?) (murmur-configuration-ssl-cert murmur-configuration-ssl-key) (murmur-configuration-ssl-dh-params murmur-configuration-ssl-ciphers) (murmur-configuration-public-registration) (murmur-configuration-file) (murmur-public-registration-configuration) (make-murmur-public-registration-configuration) (murmur-public-registration-configuration?) (murmur-public-registration-configuration-name) (murmur-public-registration-configuration-url) (murmur-public-registration-configuration-password) (murmur-public-registration-configuration-hostname) (murmur-service-type): Add deprecation alias and rename to ... (mumble-server-configuration, make-mumble-server-configuration) (mumble-server-configuration?, mumble-server-configuration-package) (mumble-server-configuration-user, mumble-server-configuration-group) (mumble-server-configuration-port, mumble-server-configuration-welcome-text) (mumble-server-configuration-server-password) (mumble-server-configuration-max-users) (mumble-server-configuration-max-user-bandwidth) (mumble-server-configuration-database-file) (mumble-server-configuration-log-file, mumble-server-configuration-pid-file) (mumble-server-configuration-autoban-attempts) (mumble-server-configuration-autoban-timeframe) (mumble-server-configuration-autoban-time) (mumble-server-configuration-opus-threshold) (mumble-server-configuration-channel-nesting-limit) (mumble-server-configuration-channelname-regex) (mumble-server-configuration-username-regex) (mumble-server-configuration-test-message-length) (mumble-server-configuration-image-message-length) (mumble-server-configuration-cert-required?) (mumble-server-configuration-remember-channel?) (mumble-server-configuration-allow-html?) (mumble-server-configuration-allow-ping?) (mumble-server-configuration-bonjour?) (mumble-server-configuration-send-version?) (mumble-server-configuration-log-days) (mumble-server-configuration-obfuscate-ips?) (mumble-server-configuration-ssl-cert mumble-server-configuration-ssl-key) (mumble-server-configuration-ssl-dh-params) (mumble-server-configuration-ssl-ciphers) (mumble-server-configuration-public-registration) (mumble-server-configuration-file) (mumble-server-public-registration-configuration) (make-mumble-server-public-registration-configuration) (mumble-server-public-registration-configuration?) (mumble-server-public-registration-configuration-name) (mumble-server-public-registration-configuration-url) (mumble-server-public-registration-configuration-password) (mumble-server-public-registration-configuration-hostname) (mumble-server-service-type): ... these. * doc/guix.texi ("Murmur (VoIP server)"): Rename to ... ("Mumble server"): ... this. Adjust documentation accordingly.
2022-04-10doc: package Reference: Mention syntax of package-description.Luis Felipe
* doc/guix.texi (package Reference) <description>: Mention that the string is in Texinfo syntax. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-10doc: guix: Add missing article "a".jgart
* doc/guix.texi (Essential Home Services): Add missing article "a". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-07services: openssh: Start as an inetd service.Ludovic Courtès
* gnu/services/ssh.scm (openssh-shepherd-service): Use 'make-inetd-constructor' when it is defined. (<openssh-configuration>)[max-connections]: New field. * gnu/tests/ssh.scm (run-ssh-test)["sshd PID"]: Adjust to cope with PID-FILE being #f. * gnu/tests/ssh.scm (%test-openssh): Pass #f as the 'pid-file' argument. * doc/guix.texi (Networking Services): Document 'max-connections'.
2022-04-05doc: Update the sample yggdrasil-private.conf.Aleksandr Vityazev
* doc/guix.texi (Networking Services): Update the sample yggdrasil-private.conf. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-04shell: Add '--export-manifest'.Ludovic Courtès
* guix/scripts/shell.scm (show-help, %options): Add '--export-manifest'. (manifest-entry-version-prefix, manifest->code*) (export-manifest): New procedures. (guix-shell): Honor '--export-manifest'. * tests/guix-shell-export-manifest.sh: New file. * Makefile.am (SH_TESTS): Add it. * doc/guix.texi (Invoking guix shell): Document '--export-manifest'. (Invoking guix environment): Link to it. (Invoking guix pack): Likewise.
2022-04-04services: Add 'log-cleanup' service to '%base-services' for build logs.Ludovic Courtès
* gnu/services/base.scm (%base-services): Add 'log-cleanup-service-type' instance. * doc/guix.texi (Log Rotation): Add example and mention '%base-services'.
2022-04-04services: Add 'log-cleanup-service-type'.Ludovic Courtès
* gnu/services/admin.scm (<log-cleanup-configuration>): New record type. (log-cleanup-program, log-cleanup-mcron-jobs): New procedures. (log-cleanup-service-type): New variable. * doc/guix.texi (Log Rotation): Document it.
2022-03-24services: dnsmasq: Add more options.Remco van 't Veer
* gnu/services/dns.scm (<dnsmasq-configuration>): Add forward-private-reverse-lookup?, strict-order? and cpe-id options. (dnsmasq-shepherd-service): Pass added options to dnsmasq and use match-record instead of match-lambda. * doc/guix.texi (Guix Services): Document options added to dnsmasq. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-20services: thermald: Add 'adaptive?' field.Jelle Licht
* gnu/services/pm.scm (<thermald-configuration>): Add 'adaptive?' field. (thermald-shepherd-service): Use it to pass --adaptive to thermald. * doc/guix.texi (Power Management Services): Document the 'adaptive?' field of 'thermald-configuration'.
2022-03-19guix home: Add 'container' command.Ludovic Courtès
* guix/scripts/home.scm (show-help, %options): Add '--network', '--share', and '--expose'. (not-config?, user-shell, spawn-home-container): New procedures. (%default-system-profile): New variable. (perform-action): Add #:file-system-mappings, #:container-command, and #:network?; honor them. (process-action): Adjust accordingly. (guix-home)[parse-sub-command]: Add "container". [parse-args]: New procedure. Use it instead of 'parse-command-line'. * tests/guix-home.sh: Add tests. * doc/guix.texi (Declaring the Home Environment): Mention 'guix home container' as a way to test configuration. (Invoking guix home): Document it.
2022-03-18doc: Fix wrong variable name.EuAndreh
* doc/guix.texi (Mail services): use correct variable name. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-18home: services: Fix bash aliases without guix-defaults.angryrectangle
* gnu/home/services/shells.scm: Fix bash aliases not being added if guix-defaults? was #f. Also fix inaccuracy in documentation about placement of defaults. * doc/guix.texi (Shells Home Services): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-18guix home: Implement the 'extension-graph' and 'shepherd-graph' actions.Ludovic Courtès
Until now these two actions were silently ignored. * guix/scripts/home.scm (show-help, %options): Add "--graph-backend". (%default-options): Add 'graph-backend' key. (export-extension-graph, export-shepherd-graph): New procedures. (perform-action): Add #:graph-backend parameter. Add cases for the 'extension-graph' and 'shepherd-graph' actions. (process-action): Pass #:graph-backend to 'perform-action'. * guix/scripts/system.scm (service-node-type) (shepherd-service-node-type): Export * tests/guix-home.sh: Add tests. * doc/guix.texi (Invoking guix home): Document it.
2022-03-13doc: Fix inappropriate escapes.Florian Pelz
* doc/guix.texi (Shells Home Services): Change \" to ".
2022-03-10services: openssh: Add 'generate-host-keys?' field.Ludovic Courtès
* gnu/services/ssh.scm (<openssh-configuration>)[generate-host-keys?]: New field. (openssh-activation): Honor it. * doc/guix.texi (Networking Services): Document it.
2022-03-10services: guix: Add 'generate-substitute-key?' field.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[generate-substitute-key?]: New field. (guix-activation): Honor it. * doc/guix.texi (Base Services): Document it.
2022-03-09services: bluetooth: Add missing config parameters.Demis Balbach
* doc/guix.texi (Desktop Services): Document 'bluetooth-service-type' and 'bluetooth-configuration'. * gnu/services/desktop.scm (<bluetooth-configuration>): Add many fields. (bluetooth-configuration-file): Handle them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-03-02doc: Add "Using TeX and LaTeX" chapter.Ludovic Courtès
* doc/guix.texi (Using TeX and LaTeX): New node.
2022-03-01initrd: Honor rootfstype and rootflags command-line parameters.Maxim Cournoyer
* gnu/build/linux-boot.scm (boot-system): Honor rootfstype and rootflags arguments. Update doc. Error out in case there is insufficient information with regard to the root file system. Restore the behavior of inferring the root device from the root file system from the operating system in case the root argument is not provided. * doc/guix.texi (Initial RAM Disk): Document the new command-line parameters.
2022-03-01initrd: Use non-hyphenated kernel command-line parameter names.Maxim Cournoyer
This is to make it less surprising, given the common convention sets forth by the kernel Linux command-line parameters. * gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root' and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system', respectively. Adjust doc. (find-long-option): Adjust doc. * gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly. * gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and update doc. Use VERSION to conditionally return old style vs new style initrd arguments. (%boot-parameters-version): Increment to 1. (operating-system-boot-parameters): Adjust doc. (operating-system-boot-parameters-file): Likewise. * gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise. * doc/guix.texi: Adjust doc. * gnu/build/activation.scm (boot-time-system): Adjust accordingly. * gnu/build/hurd-boot.scm (boot-hurd-system): Likewise. * gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
2022-02-27gnu: glibc-utf8-locales: Hide the package.Maxim Cournoyer
This package has a long history of confusing users, due to containing only a small, arbitrary subset of UTF-8 locales. * gnu/packages/base.scm (glibc-utf8-locales): Define as a hidden package. * doc/guix.texi (Application Setup): Do not mention glibc-utf8-locales. Instead, provide an example for defining a custom locales package.
2022-02-27pull: '--news' no longer shows package lists.Ludovic Courtès
* guix/scripts/pull.scm (display-channel-news): Return #t when news were displayed. (display-news): Add #:profile-news? parameter and honor it. Print something there were no news. (process-query): For 'display-news', call 'display-channel-news' directly. * doc/guix.texi (Invoking guix pull): Adjust accordingly.
2022-02-26services: pulseaudio: Add an extra-script-files configuration field.Maxim Cournoyer
* gnu/services/sound.scm (<pulseaudio-configuration>) [extra-script-files]: Add field. (extra-script-files->file-union): New procedure. (append-include-directive): Likewise. (pulseaudio-etc): Use them. * doc/guix.texi: Document the new 'extra-script-files- configuration field.
2022-02-25services: agetty: Add shepherd-requirement.Danny Milosavljevic
* gnu/services/base.scm (<agetty-configuration>): Add shepherd-requirement. * doc/guix.texi (agetty-configuration): Document it.
2022-02-23doc: Fix 'setuid-program' example.John Kehayias
%setuid-programs was previously moved to be in the list sexp instead of just the append one. This causes an "invalid G-expression input" error. Error reported by: Kolev on #guix. * doc/guix.texi (Setuid Programs): Move %setuid-programs out to the append sexp. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-02-23doc: Document virtlogd package variable.Simon Streit
* doc/guix.texi (Virtualization Services): Document virtlogd package variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-02-18doc: Typographical tweaks.Ludovic Courtès
* doc/guix.texi (Build Utilities): Remove trailing #t from phases. Use @lisp for 'wrap-program' examples.
2022-02-16doc: Document 'wrap-program' and 'wrap-script'.Ludovic Courtès
* doc/guix.texi (Build Utilities)[Wrappers]: New subsection.
2022-02-15doc: Clarify the Swap Space examples, and include an helper example.Josselin Poiret
* doc/guix.texi (Swap Space): The examples referred to variables defined outside of the snippets, and so were not very informative for people without much Guile knowledge. Instead, refer to mapped-devices for the first, and use the new helper file-systme-mount-point-predicate for the second. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-14pull: '--list-generations' lists packages only with '--details'.Ludovic Courtès
* guix/scripts/pull.scm (show-help, %options): Add "--details". (process-query): Honor it. * doc/guix.texi (Invoking guix pull): Document it.
2022-02-14git-authenticate: Ensure the target is a descendant of the introductory commit.Ludovic Courtès
Fixes a bug whereby authentication of a commit *not* descending from the introductory commit could succeed, provided the commit verifies the authorization invariant. In the example below, A is a common ancestor of the introductory commit I and of commit X. Authentication of X would succeed, even though it is not a descendant of I, as long as X is authorized according to the '.guix-authorizations' in A: X I \ / A This is because, 'authenticate-repository' would not check whether X descends from I, and the call (commit-difference X I) would return X. In practice that only affects forks because it means that ancestors of the introductory commit already contain a '.guix-authorizations' file. * guix/git-authenticate.scm (authenticate-repository): Add call to 'commit-descendant?'. * tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"): New test. * tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"): New test. * tests/guix-git-authenticate.sh: Expect earlier test to fail since 9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 is not a descendant of $intro_commit. Add new test targeting an ancestor of the introductory commit, and another test targeting the v1.2.0 commit. * doc/guix.texi (Specifying Channel Authorizations): Add a sentence.
2022-02-13doc: Zabbix: Improvide description.Marius Bakke
* doc/guix.texi (Monitoring Services): Document the various 'zabbix-*' service types, and expand description of all Zabbix services. Use less marketing terms. (Web Services): Add subsubheading for PHP-FPM, and anchors for cross-referencing. * gnu/services/monitoring.scm (zabbix-front-end-configuration): Use @ref instead of @pxref for cross-referencing.
2022-02-07doc: Regenerate Zabbix server and agent configuration.Marius Bakke
...to make them in line with the newly generated front-end documentation. * doc/guix.texi (Monitoring Services): Regenerate zabbix-server-configuration and zabbix-agent-configuration.
2022-02-07services: zabbix-front-end: Restore backwards compatibility.Marius Bakke
Commit e301f1a8ed11f9eacb2b7f525a7446dc00621a8b removed the NGINX argument entirely, but users may rely on and override it. Reported by rekado on #guix. * gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Restore exported variable. (zabbix-front-end-nginx-extension): New procedure. (zabbix-front-end-configuration): Remove FASTCGI-PARAMS field. Restore NGINX field, but default to the empty list. (zabbix-front-end-service-type): Extend NGINX-SERVICE-TYPE by ZABBIX-FRONT-END-NGINX-EXTENSION. * doc/guix.texi (Monitoring Services): Regenerate documentation.
2022-02-07home: Add redshift service.Ludovic Courtès
* gnu/home/services/desktop.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Desktop Home Services): New node.