summary refs log tree commit diff
path: root/doc
AgeCommit message (Collapse)Author
2016-01-02emacs: Use "B" key in "Package List" to display latest builds.Alex Kost
* emacs/guix-ui-package.el (guix-package-list-latest-builds): New procedure. (guix-package-list-mode-map): Bind "B" key to it. (guix-output-list-mode-map): Likewise. * doc/emacs.texi (Emacs List buffer): Document it.
2016-01-02emacs: Add Hydra interface.Alex Kost
* emacs/guix-utils.el (guix-hexify, guix-number->bool): New procedures. (guix-while-null): New macro. * emacs/guix-hydra.el: New file. * emacs/guix-hydra-build.el: New file. * emacs/guix-hydra-jobset.el: New file. * emacs.am (ELFILES): Add them. * doc/emacs.texi (Emacs Hydra): New node. (Emacs Interface): Add it. * doc/guix.texi (Top): Add it. (Substitutes): Mention Emacs interface.
2016-01-02emacs: Reorganize package/generation UI code.Alex Kost
Move the code for packages/generations interface from "guix-info.el", "guix-list.el", "guix-base.el" and "guix.el" to "guix-ui-package.el" and "guix-ui-generation.el". * emacs/guix-base.el (guix-package-entry->name-specification) (guix-package-entries->name-specifications) (guix-package-id-and-output-by-output-id) (guix-package-installed-outputs, guix-process-package-actions) (guix-package-list-type, guix-package-info-type) (guix-continue-package-operation-p, guix-get-package-strings) (guix-insert-package-strings): Move to "guix-ui-package.el". (guix-generation-packages-buffer-name-function, guix-output-name-width) (guix-generation-packages-update-buffer, guix-generation-packages) (guix-generation-packages-buffer-name-default) (guix-generation-packages-buffer-name-long) (guix-generation-packages-buffer-name, guix-generation-packages-buffer) (guix-generation-insert-packages, guix-generation-insert-package) (guix-profile-generation-manifest-file, guix-delete-generations) (guix-profile-generation-packages-buffer, guix-switch-to-generation): Move to "guix-ui-generation.el". * emacs/guix-info.el (guix-package-location, guix-package-name) (guix-package-source, guix-package-info-source) (guix-package-info-heading, guix-package-info-license) (guix-package-info-name, guix-package-info-name-button) (guix-package-info-version, guix-package-info-location) (guix-package-info-synopsis, guix-package-info-description) (guix-package-info-obsolete, guix-package-info-installed-outputs) (guix-package-info-uninstalled-outputs) (guix-package-info-insert-heading) (guix-package-info-define-insert-inputs) (guix-package-info-obsolete-string) (guix-package-info-insert-obsolete-text) (guix-package-info-insert-non-unique-text) (guix-package-info-insert-outputs, guix-package-info-insert-output) (guix-package-info-insert-action-button) (guix-package-info-auto-find-source) (guix-package-info-auto-download-source) (guix-package-info-download-buffer, guix-package-info-show-source) (guix-package-info-download-source, guix-package-info-insert-source) (guix-package-info-redisplay-after-download) (guix-output-info-insert-version, guix-output-info-insert-output): Move to "guix-ui-package.el". (guix-generation-info-number, guix-generation-info-current) (guix-generation-not-current, guix-generation-info-insert-number) (guix-generation-info-insert-current): Move to "guix-ui-generation.el". * emacs/guix-list.el (guix-package-list-generation-marking-enabled) (guix-package-list-installed, guix-package-list-obsolete) (guix-package-list-get-name, guix-package-list-get-installed-outputs) (guix-package-list-marking-check, guix-package-list-mark-outputs) (guix-package-list-mark-install, guix-package-list-mark-delete) (guix-package-list-mark-upgrade, guix-package-list-mark-upgrades) (guix-list-mark-package-upgrades, guix-list-execute-package-actions) (guix-package-list-execute, guix-package-list-make-action) (guix-package-list-edit, guix-output-list-mark-install) (guix-output-list-mark-delete, guix-output-list-mark-upgrade) (guix-output-list-mark-upgrades, guix-output-list-make-action) (guix-output-list-describe, guix-output-list-edit): Move to "guix-ui-package.el". (guix-generation-list-get-current, guix-generation-list-switch) (guix-generation-list-generations-to-compare) (guix-generation-list-compare, guix-generation-list-show-packages) (guix-generation-list-show-added-packages) (guix-generation-list-show-removed-packages) (guix-generation-list-diff, guix-generation-list-diff-manifests) (guix-generation-list-ediff, guix-generation-list-ediff-manifests) (guix-generation-list-diff-packages) (guix-generation-list-ediff-packages) (guix-generation-list-mark-delete, guix-generation-list-execute): Move to "guix-ui-generation.el". * emacs/guix.el: Remove. (guix, guix-faces, guix-edit): Move to "guix-base.el". (guix-list-single-package, guix-search-params, guix-search-history) (guix-get-show-packages, guix-search-by-name, guix-search-by-regexp) (guix-installed-packages, guix-obsolete-packages) (guix-all-available-packages, guix-newest-available-packages): Move to "guix-ui-package.el". (guix-get-show-generations, guix-generations, guix-last-generations) (guix-generations-by-time): Move to "guix-ui-generation.el". * emacs.am (ELFILES): Remove "guix.el". Add "guix-ui-package.el" and "guix-ui-generation.el". * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02emacs: Generalize buffer naming.Alex Kost
* emacs/guix-base.el (guix-buffer-name): New procedure. (guix-buffer-define-interface): Make ':buffer-name' a required keyword. (guix-update-after-operation, guix-buffer-name-function) (guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name) (guix-buffer-p, guix-buffers, guix-update-buffer) (guix-update-buffers-maybe-after-operation): Adjust, move and rename to... * emacs/guix-ui.el (guix-ui-update-after-operation) (guix-ui-buffer-name-function, guix-ui-buffer-name-simple) (guix-ui-buffer-name-default, guix-ui-buffer-name) (guix-ui-buffer?, guix-ui-buffers, guix-ui-update-buffer) (guix-ui-update-buffers-after-operation): ... this. (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-buffer-name' procedure and pass it as ':buffer-name' argument. (guix-ui): New custom group. * emacs/guix-info.el: Specify ':buffer-name' for the defined interfaces. * emacs/guix-list.el: Likewise. * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02emacs: Split 'guix-root-map' keymap.Alex Kost
* emacs/guix-base.el: (guix-root-map): Split into... (guix-buffer-map): ... this and... * emacs/guix-ui.el (guix-ui-map): ... this. (guix-ui-define-interface): Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-mode-map' keymaps inheriting them from 'guix-ui-map' and 'guix-BUFFER-TYPE-mode-map'. * emacs/guix-info.el (guix-info-mode-map): Use 'guix-buffer-map'. * emacs/guix-list.el (guix-list-mode-map): Likewise. * doc/emacs.texi (Emacs Keymaps): Document new keymaps.
2016-01-02emacs: Split 'guix-param-titles' variable.Alex Kost
Generate 'guix-ENTRY-TYPE-BUFFER-TYPE-titles' variables for each ENTRY-TYPE and BUFFER-TYPE instead. * emacs/guix-base.el (guix-param-titles): Remove. (guix-buffer-data): New variable. (guix-buffer-value, guix-buffer-param-title): New procedures. (guix-buffer-define-interface): Add ':titles' keyword. * emacs/guix-info.el (guix-info-param-title): Adjust accordingly. * emacs/guix-list.el (guix-list-param-title): Likewise. (guix-list-column-titles): Remove. * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02emacs: info: Split 'guix-info-format' variable.Alex Kost
* emacs/guix-info.el: Generate 'guix-ENTRY-TYPE-info-format' variables for 'package', 'installed-output', 'output' and 'generation' entry types. (guix-info-format): Remove. (guix-info-data): New variable. (guix-info-value): New procedure. (guix-info-define-interface): Add ':format' keyword. * emacs/guix-base.el (guix-buffer-define-interface): Add ':reduced?' keyword. * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02emacs: info: Generalize inserting and formatting.Alex Kost
* emacs/guix-info.el: Use a more flexible format for inserting any data. (guix-info-ignore-empty-vals): Rename to... (guix-info-ignore-empty-values): ... this. (guix-info-insert-methods): Merge this and... (guix-info-displayed-params): ... this into... (guix-info-format): ... this. Change format specifications. (guix-info-title-aliases, guix-info-value-aliases): New variables. (guix-info-displayed-params): Adjust for the new format. (guix-info-insert-entry): Likewise. (guix-package-info-fill-heading): Replace with... (guix-info-fill): ... this. (guix-info-insert-param): Replace with... (guix-info-insert-entry-unit): ... this. (guix-info-insert-title-default): Replace with... (guix-info-insert-title-format): ... this. (guix-info-insert-val-default): Replace with... (guix-info-insert-value-format): ... this. (guix-info-insert-val-simple): Replace with... (guix-info-insert-value-indent): ... this. (guix-package-info-insert-source): Adjust accordingly. (guix-package-info-insert-heading): Insert only name and version. (guix-package-info-define-insert-inputs): Do not generate 'guix-package-info-insert-ENTRY-TYPE-inputs' procedures. (guix-info-fill-column, guix-info-insert-entry-default) (guix-info-method-funcall, guix-info-insert-file-path) (guix-info-insert-url, guix-info-insert-package-function) (guix-info-insert-installed-function) (guix-info-insert-output-function) (guix-info-insert-generation-function) (guix-package-info-heading-params) (guix-package-info-insert-with-heading) (guix-package-info-insert-description) (guix-package-info-insert-location) (guix-package-info-insert-full-names) (guix-package-info-insert-source-url): Remove. (guix-info-fill-column, guix-info-param-title) (guix-info-title-function, guix-info-value-function) (guix-info-title-method->function) (guix-info-value-method->function) (guix-info-insert-value-simple): New procedures. * emacs/guix-utils.el (guix-buttonize, guix-button-type?): New procedures. (guix-split-string): Split multi-line strings and ignore empty lines. * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02emacs: list: Split 'guix-list-format' variable.Alex Kost
* emacs/guix-list.el: Generate 'guix-ENTRY-TYPE-list-format' variables for 'package', 'output' and 'generation' entry types. (guix-list-format): Remove. (guix-list-define-entry-type): Add ':format' keyword. * doc/emacs.texi (Emacs Appearance): Adjust accordingly.
2016-01-02emacs: list: Configure format in one place.Alex Kost
* emacs/guix-list.el: (guix-list-column-format): Merge this and... (guix-list-column-value-methods): ... this into... (guix-list-format): ... this. New variable. (guix-list-tabulated-vector): Adjust accordingly. (guix-list-tabulated-format): Likewise. (guix-list-tabulated-entry): Likewise. * doc/emacs.texi (Emacs Appearance): Likewise.
2016-01-01doc: Mention how to verify signatures.Ludovic Courtès
* doc/guix.texi (Binary Installation): Be more precise about signature verification. Suggested by Carl Hansen <carlhansen1234@gmail.com>.
2015-12-30daemon: Build in /tmp/guix-build-*.Ludovic Courtès
* nix/libstore/build.cc (DerivationGoal::startBuilder): Use "guix-build" instead of "nix-build" for TMPDIR. * doc/guix.texi (Build Environment Setup): Adjust accordingly.
2015-12-22file-systems: Add a 'mount?' field.Ludovic Courtès
Fixes <http://bugs.gnu.org/22176>. Reported by Florian Paul Schmidt <mista.tapas@gmx.net>. * gnu/system/file-systems.scm (<file-system>)[mount?]: New field. (file-system->spec): Adjust accordingly. * gnu/services/base.scm (file-system-dmd-service): Return the empty list when FILE-SYSTEM has 'mount?' set to false. (user-processes-service): Select the subset of FILE-SYSTEMS that matches 'file-system-mount?'. * doc/guix.texi (File Systems): Document it.
2015-12-21doc: Explain significance of partition labels.Leo Famulari
* doc/guix.texi (Preparing for Installation): Point out relationship between partition labels and the file-system configuration.
2015-12-21doc: Fix outdated claim about CRAN importer.Ricardo Wurmus
* doc/guix.texi: The CRAN importer no longer extracts information from the HTML package description but from the package's DESCRIPTION file.
2015-12-18gnu: Add dovecot serviceAndy Wingo
* gnu/services/mail.scm: New file. (&dovecot-configuration-error, dovecot-configuration-error?) (dovecot-service, dovecot-configuration, dict-configuration) (passdb-configuration, userdb-configuration) (unix-listener-configuration, fifo-listener-configuration) (inet-listener-configuration, service-configuration) (protocol-configuration, plugin-configuration, mailbox-configuration) (namespace-configuration, opaque-dovecot-configuration): New public variables. * gnu-system.am (GNU_SYSTEM_MODULES): Add (gnu services mail). * doc/guix.texi (Mail Services): New node.
2015-12-15doc: Give another example use of 'propagated-inputs'.Ludovic Courtès
Suggested by Leo Famulari <leo@famulari.name>. * doc/guix.texi (package Reference): Explain 'propagated-inputs' for non-C languages.
2015-12-14gexp: 'local-file' resolves relative file names.Ludovic Courtès
* guix/gexp.scm (<local-file>): Rename constructor to '%%local-file'. Add 'absolute' field. (%local-file, extract-directory, absolute-file-name): New procedures. (current-source-directory): New macro. (local-file): Adjust call to '%local-file'. (local-file-absolute-file-name): New procedure. (local-file-compiler): Force the 'absolute' field. * tests/guix-system.sh: Test whether 'local-file' canonicalization works. * doc/guix.texi (G-Expressions): Adjust.
2015-12-13daemon: Add '--rounds'.Ludovic Courtès
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_BUILD_ROUNDS): New macro. (options): Add --rounds. (parse_opt): Honor it. * doc/guix.texi (Invoking guix-daemon): Document it.
2015-12-13doc: Reword description of 'inputs' & co.Ludovic Courtès
* doc/guix.texi (package Reference): Reword explanation of 'inputs', 'native-inputs', and 'propagated-inputs'. Add example.
2015-12-13doc: Fix typo in "Setuid Programs".Ludovic Courtès
* doc/guix.texi (Setuid Programs): Remove extra 's'.
2015-12-09doc: rephrase code of conduct.Alex Sassmannshausen
* doc/contributing.texi (Contributing): Rephrase 'code of conduct' section. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09Add "Contributor Covenant".Ludovic Courtès
* CODE-OF-CONDUCT: New file, adapted from <http://contributor-covenant.org/version/1/3/0/code_of_conduct.txt>. * doc/contributing.texi (Contributing): Mention it. * Makefile.am (EXTRA_DIST): Add it.
2015-12-09daemon: Use deterministic $TMPDIR in chroot.Eelco Dolstra
Rather than using $<host-TMPDIR>/nix-build-<drvname>-<number>, the temporary directory is now always /tmp/nix-build-<drvname>-0. This improves bitwise-exact reproducibility for builds that store $TMPDIR in their build output. (Of course, those should still be fixed...) * nix/libstore/build.cc (DerivationGoal)[tmpDirInSandbox]: New field. (DerivationGoal::startBuilder): Initialize 'useChroot' earlier. Compute 'tmpDirInSandbox', and use it when populating 'dirsInChroot'. * doc/guix.texi (Build Environment Setup): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-12-09guix build: Add '--check'.Ludovic Courtès
* guix/derivations.scm (build-derivations): Add optional 'mode' parameter. * guix/scripts/build.scm (%default-options): Add 'build-mode'. (show-help, %options): Add '--check'. (guix-build): Honor 'build-mode' key of OPTS. Pass it to 'show-what-to-build' and 'build-derivations'. * doc/guix.texi (Invoking guix build): Document it. (Substitutes): Mention it.
2015-12-08guix build: Add '--rounds'.Ludovic Courtès
* guix/scripts/build.scm (show-build-options-help) (%standard-build-options): Add --rounds. (set-build-options-from-command-line): Honor it. * doc/guix.texi (Invoking guix build): Document it. * doc/contributing.texi (Submitting Patches): Mention it.
2015-12-07gnu-maintenance: Add GNOME updater.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Remove glib. (false-if-ftp-error): New macro. (latest-release*): Use it. (non-emacs-gnu-package?): Rename to... (pure-gnu-package?): ... this. Add call to 'gnome-package?'. (%gnu-updater): Adjust accordingly. (gnome-package?, latest-gnome-release): New procedures. (%gnome-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %GNOME-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention it.
2015-12-07doc: 'guix environment --container' does not create '/env'.Ludovic Courtès
* doc/guix.texi (Invoking guix environment): Remove outdated mention of '/env' for '--container'.
2015-11-28doc: Mention 'specification->package'.Ludovic Courtès
Suggested by Florian Paul Schmidt <mista.tapas@gmx.net>. * doc/guix.texi (Using the Configuration System): Mention 'specification->package'.
2015-11-27services: tor: Store private data under /var/lib/tor.Ludovic Courtès
* gnu/services/networking.scm (tor-configuration->torrc): Add 'DataDirectory' clause. Change 'HiddenServiceDir' to /var/lib/tor/hidden-services/NAME. (tor-hidden-service-activation): Create /var/lib/tor. (tor-hidden-service): Adjust docstring. * doc/guix.texi (Networking Services): Adjust accordingly.
2015-11-27services: Add 'tor-hidden-service'.Ludovic Courtès
* gnu/services/networking.scm (<tor-configuration>, <hidden-service>): New record types. (tor-configuration->torrc): New procedure. (tor-dmd-service): Use it. (tor-hidden-service-activation): New procedure. (tor-service-type)[extensions]: Extend ACTIVATION-SERVICE-TYPE. [compose, extend]: New fields. (tor-service): Use 'tor-configuration'. (tor-hidden-service-type): New variable. (tor-hidden-service): New procedure.
2015-11-26Add 'guix-daemon.conf' job for Upstart.Mario Daniel Ruiz Saavedra
* etc/guix-daemon.conf.in: New file. * daemon.am (CLEANFILES): Add etc/guix-daemon.conf. (upstartjobdir, nodist_upstartjob_DATA): New variables. (EXTRA_DIST): Add etc/guix-daemon.conf.in. * doc/guix.texi (Binary Installation, Build Environment Setup): Mention 'guix-daemon.conf'. Signed-off-by: Mario Daniel Ruiz Saavedra <desiderantes@rocketmail.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-11-26lint: Add "cve" checker.Ludovic Courtès
Fixes <http://bugs.gnu.org/21289>. * guix/scripts/lint.scm (package-name->cpe-name, package-vulnerabilities) (check-vulnerabilities): New procedures. * guix/scripts/lint.scm (%checkers): Add "cve" checker. * tests/lint.scm ("cve", "cve: one vulnerability"): New tests. * doc/guix.texi (Invoking guix lint): Mention it.
2015-11-25doc: Remove mention of monadic services.Ludovic Courtès
* doc/guix.texi (Base Services): Remove mention of a list of monadic services.
2015-11-25services: dmd: Add 'modules' and 'imported-modules' fields.Ludovic Courtès
* gnu/services/dmd.scm (%default-imported-modules, %default-modules): New variables. * gnu/services/dmd.scm (<dmd-service>)[modules, imported-modules]: New field. * gnu/services/dmd.scm (dmd-service-file-name, dmd-service-file): New procedures. (dmd-configuration-file)[modules]: Compute based on the 'imported-modules' field of SERVICES. (dmd-configuration-file): Remove 'use-modules' form. Use 'dmd-service-file', and call 'primitive-load' on each file. * doc/guix.texi (dmd Services): Document the new fields.
2015-11-23graph: Add '%bag-with-origins-node-type'.Ludovic Courtès
* guix/scripts/graph.scm (bag-node-edges): Remove 'filter' call. Add case for 'origin'. (%bag-node-type)[edges]: Add filtering here. (%bag-with-origins-node-type): New variable. (%node-types): Add it. * tests/graph.scm ("bag DAG, including origins"): New test. * tests/guix-graph.sh: Add 'bag-with-origins'. * doc/guix.texi (Invoking guix graph): Document it.
2015-11-23doc: Mention the 'NIX_REMOTE' variable for 'guix import nix'.Ludovic Courtès
Suggested by rgrau on #guix. * doc/guix.texi (Invoking guix import): Document 'NIX_REMOTE'.
2015-11-23refresh: Add '--expression'.Ludovic Courtès
* guix/scripts/refresh.scm (%options, show-help): Add --expression. (guix-refresh): Honor it. * doc/guix.texi (Invoking guix refresh): Document it.
2015-11-22doc: Mention 'guix environment guix'.Ludovic Courtès
* doc/contributing.texi (Building from Git): Mention 'guix environment guix'. Remove outdated description of ./bootstrap. Clarify a few things.
2015-11-21doc: Remove extraneous "See."Ludovic Courtès
* doc/contributing.texi (Building from Git): Remove extra "See" and use @xref instead of @pxref.
2015-11-21doc: Fix 'geiser-guile-load-path' example.Alex Kost
Reported by marusich on #guix. * doc/contributing.texi (The Perfect Setup): Wrap modifying 'geiser-guile-load-path' into 'with-eval-after-load'.
2015-11-19doc: Mention fonts for Asian languages.Ludovic Courtès
Suggested by Alex Vong <alexvong1995@gmail.com>. * doc/guix.texi (Application Setup): Explain how to install X11 fonts for Asian languages.
2015-11-19doc: Update documentation of the 'services' field.Ludovic Courtès
* doc/guix.texi (operating-system Reference): The 'services' field now contains a list of service objects.
2015-11-11edit: Honor $VISUAL.Ludovic Courtès
Suggested by Andreas Enge <andreas@enge.fr>. * guix/scripts/edit.scm (%editor): Honor 'VISUAL' before 'EDITOR'. (show-help): Adjust accordingly. * doc/guix.texi (Invoking guix edit): Likewise.
2015-11-11guix package: '--search-paths' can report combined search paths.Ludovic Courtès
Partly fixes <http://bugs.gnu.org/20255>. * guix/scripts/package.scm (search-path-environment-variables): Change 'profile' to 'profiles'; expect it to be a list. (display-search-paths): Likewise. (%default-options): Remove 'profile' entry. (%options) <--profile>: Keep previous values associated with 'profile' in RESULT. (guix-package)[process-actions, process-query]: Handle the possible lack of 'profile' pair in OPTS.
2015-11-07install: Run GPM.Ludovic Courtès
Suggested by Adam Pribyl <pribyl@lowlevel.cz> at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00133.html>. * gnu/system/install.scm (installation-services): Add call to 'gpm-service'. * doc/guix.texi (System Installation): Mention GPM.
2015-11-07services: Add 'gpm-service'.Ludovic Courtès
* gnu/services/base.scm (<gpm-configuration>): New record type. (gpm-dmd-service): New procedure. (gpm-service-type): New variable. (gpm-service): New procedure. * doc/guix.texi (Base Services): Document it.
2015-11-06doc: Make the ifconfig command more visible.Ludovic Courtès
Suggested by Adam Pribyl <pribyl@lowlevel.cz>. * doc/guix.texi (System Installation): Move the 'ifconfig' command to an @example.
2015-11-04doc: Back up on the claim of encrypted root partitions.Ludovic Courtès
Reported by 宋文武 <iyzsong@openmailbox.org> at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00096.html>. * doc/guix.texi (System Installation): Comment out encrypted root partition commands. * gnu/system/examples/desktop.tmpl (mapped-devices): Remove. (file-systems): Refer to the root by label. * NEWS: Adjust.
2015-11-04doc: Fix typos.Ludovic Courtès
* doc/guix.texi (Invoking guix refresh): Fix typos.