aboutsummaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAge
* scripts: environment: Build environments as profiles.David Thompson2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19816>. * guix/scripts/environment.scm (evaluate-input-search-paths) (build-inputs): Delete. (evaluate-profile-search-paths, strip-input-name) (package-or-package+output?, package-environment-inputs) (build-environment, inputs->profile-derivations): New procedures. (create-environment, show-search-paths, launch-environment) (launch-environment/container): Replace 'inputs' argument with 'profile' argument. (package+propagated-inputs): Strip off names off of input tuples. (options/resolve-packages): Handle input tuples that specify an output in expressions. (guix-environment): Convert inputs into a profile to use in the environment. Remove non-package inputs such as origins from environment inputs. * doc/guix.texi ("invoking guix environment"): Document package+output tuples for --expression option. * tests/guix-environment.sh: Update tests. * tests/guix-environment-container.sh: Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* doc: Provide more details about system installation.Ludovic Courtès2016-02-10
| | | | | | | | | | | | | * doc/guix.texi (System Installation): Turn all subsections into individual nodes. (Limitations): Update the number of packages. (Preparing for Installation)[Keyboard Layout, Networking, Disk Partitionning]: New subsections. Move the 'cow-store' thing to... (Proceeding with the Installation): ... here. Describe things in more detail. (Base Services): Add index entry for "keyboard layout". Co-authored-by: Petter <petter@mykolab.ch>.
* system: Selected locale is automatically built.Ludovic Courtès2016-02-10
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/22572>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/system/locale.scm (%not-dot): New variable. (denormalize-codeset, locale-name->definition): New procedures. * gnu/system.scm (locale-name->definition*): New procedure. (operating-system-locale-directory): Instead of raising an error, add the missing locale. * doc/guix.texi (Locales): Adjust accordingly.
* emacs: 'C-u M-x guix-edit' prompts for directory.Alex Kost2016-02-10
| | | | | | | | * emacs/guix-base.el (guix-read-directory): New procedure. (guix-find-location, guix-edit): Add optional 'directory' argument. * emacs/guix-ui-package.el (guix-package-list-edit) (guix-output-list-edit): Likewise. * doc/emacs.texi (Emacs Commands): Mention "C-u".
* doc: Document 'guix-edit' Emacs command.Alex Kost2016-02-07
| | | | | * doc/emacs.texi (Emacs Commands): Document "M-x guix-edit". * doc/guix.texi (Invoking guix edit): Mention it.
* emacs: Factorize searching for Emacs packages.Alex Kost2016-02-07
| | | | | | | | | | | * emacs/guix-emacs.el: (guix-emacs-directories): New procedure. (guix-emacs-find-autoloads-in-directory): Rename to... (guix-emacs-find-autoloads): ... this. (guix-emacs-load-autoloads): Remove. Replace with... (guix-emacs-autoload-packages): ... this. New procedure. At first, find a list of directories with Emacs packages, then add them to 'load-path' and finally, load autoloads. * doc/emacs.texi (Emacs Initial Setup): Adjust accordingly.
* doc: Mention 'tzselect'.Ludovic Courtès2016-02-04
| | | | | * doc/guix.texi (operating-system Reference): Mention 'tzselect' and invalid timezone strings.
* guix system: 'reconfigure' loads and starts new services.Ludovic Courtès2016-02-03
| | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/22039>. * gnu/services/herd.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/services/shepherd.scm (shepherd-service-canonical-name): New procedure. (shepherd-service-file): Export. * guix/scripts/system.scm (upgrade-shepherd-services): New procedure. (switch-to-system): Use it. * guix/ui.scm (info): New procedure. * doc/guix.texi (Invoking guix system): Mention system services.
* guix build: Add '--with-input'.Ludovic Courtès2016-02-01
| | | | | | | | | | | * guix/scripts/build.scm (transform-package-inputs): New procedure. (%transformations): Add it. (%transformation-options, show-transformation-options-help): Add --with-input. * tests/scripts-build.scm ("options->transformation, with-input"): ("options->transformation, with-input, no matches"): New tests. * tests/guix-build.sh: Add tests. * doc/guix.texi (Package Transformation Options): Document it.
* guix package: Support package transformation options.Ludovic Courtès2016-02-01
| | | | | | | | | | * guix/scripts/package.scm (show-help): Call 'show-transformation-options-help'. (%options): Append %TRANSFORMATION-OPTIONS. (process-actions)[transform, transform-entry]: New procedures. * doc/guix.texi (Invoking guix package): Mention package transformations. (Package Transformation Options): Mention 'guix package'.
* guix build: Separate transformation options.Ludovic Courtès2016-02-01
| | | | | | | | | | | * guix/scripts/build.scm (%transformation-options): New variable. (show-transformation-options-help): New procedure. (show-help): Remove '--with-source' documentation and add 'show-transformation-options-help' call. (%options): Remove "with-source" and append %TRANSFORMATION-OPTIONS. * doc/guix.texi (Package Transformation Options): New node. Document '--with-source', moved from... (Additional Build Options): ... here.
* doc: Add subsections to 'Invoking guix build'.Ludovic Courtès2016-02-01
| | | | | | | | | | | * doc/guix.texi (Invoking guix build): Add example. Shuffle options in the new subsections below. (Common Build Options, Additional Build Options): New nodes. (Invoking guix archive): Refer to "Common Build Options". (Invoking guix environment): Likewise. (Invoking guix system): Likewise. fixlet
* guix system: Rename 'dmd-graph' to 'shepherd-graph'.Alex Kost2016-01-29
| | | | | | | | | | | | | | | | * doc/images/dmd-graph.dot: Rename to... * doc/images/shepherd-graph.dot: ... this. * doc.am (DOT_FILES): Adjust accordingly. * guix/scripts/system.scm (dmd-service-node-label) (dmd-service-node-type, export-dmd-graph): Rename to... (shepherd-service-node-label, shepherd-service-node-type) (export-shepherd-graph): ... this. (show-help, process-action, process-command): Rename 'dmd-graph' to 'shepherd-graph'. * emacs/guix-command.el (guix-command-additional-execute-arguments) (guix-command-special-executors): Likewise. * doc/guix.texi: Likewise. * doc/emacs.texi (Emacs Popup Interface): Likewise.
* services: Rename 'dmd' services to 'shepherd'.Alex Kost2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/shepherd.scm (dmd-root-service-type, %dmd-root-service) (dmd-service-type, <dmd-service>, dmd-service, dmd-service?) (make-dmd-service, dmd-service-documentation, dmd-service-provision) (dmd-service-requirement, dmd-service-respawn, dmd-service-start) (dmd-service-stop, dmd-service-auto-start?, dmd-service-modules) (dmd-service-imported-modules, dmd-service-file-name, dmd-service-file) (dmd-service-back-edges): Rename to... (shepherd-root-service-type, %shepherd-root-service, shepherd-service-type) (<shepherd-service>, shepherd-service, shepherd-service?) (make-shepherd-service, shepherd-service-documentation) (shepherd-service-provision, shepherd-service-requirement) (shepherd-service-respawn, shepherd-service-start) (shepherd-service-stop, shepherd-service-auto-start?) (shepherd-service-modules, shepherd-service-imported-modules) (shepherd-service-file-name, shepherd-service-file) (shepherd-service-back-edges): ...this * gnu/services.scm: Adjust comments. * gnu/services/avahi.scm (avahi-dmd-service): Rename to... (avahi-shepherd-service): ... this. * gnu/services/base.scm (%root-file-system-dmd-service) (file-system->dmd-service-name, mapped-device->dmd-service-name) (dependency->dmd-service-name, file-system-dmd-service) (mingetty-dmd-service, nscd-dmd-service, guix-dmd-service) (guix-publish-dmd-service, udev-dmd-service, gpm-dmd-service): Rename to... (%root-file-system-shepherd-service) (file-system->shepherd-service-name, mapped-device->shepherd-service-name) (dependency->shepherd-service-name, file-system-shepherd-service) (mingetty-shepherd-service, nscd-shepherd-service, guix-shepherd-service) (guix-publish-shepherd-service, udev-shepherd-service) (gpm-shepherd-service): ... this. * gnu/services/databases.scm (postgresql-dmd-service): Rename to... (postgresql-shepherd-service): ... this. * gnu/services/desktop.scm (upower-dmd-service, elogind-dmd-service): Rename to... (upower-shepherd-service, elogind-shepherd-service): ... this. * gnu/services/dbus.scm (dbus-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/lirc.scm (lirc-dmd-service): Rename to... (lirc-shepherd-service): ... this. * gnu/services/mail.scm (dovecot-dmd-service): Rename to... (dovecot-shepherd-service): ... this. * gnu/services/networking.scm (ntp-dmd-service, tor-dmd-service) (bitlbee-dmd-service, wicd-dmd-service, network-manager-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/ssh.scm (lsh-dmd-service): Rename to... (lsh-shepherd-service): ... this. * gnu/services/web.scm (nginx-dmd-service): Rename to... (nginx-shepherd-service): ... this. * gnu/services/xorg.scm (slim-dmd-service): Rename to... (slim-shepherd-service): ... this. * gnu/system.scm (essential-services): Use '%shepherd-root-service'. * gnu/system/install.scm (cow-store-service-type): Adjust accordingly. * guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type) (export-dmd-graph): Likewise. * tests/guix-system.sh: Likewise. * tests/services.scm ("dmd-service-back-edges"): Rename to... ("shepherd-service-back-edges"): Adjust accordingly. * doc/guix.texi: Likewise. * doc/images/service-graph.dot: Use 'shepherd' service name.
* Rename (gnu services dmd) to (gnu services shepherd).Alex Kost2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/dmd.scm: Rename to... * gnu/services/shepherd.scm: ... this. * gnu/system.scm: Use it. * gnu/system/install.scm: Likewise. * gnu/services/xorg.scm: Likewise. * gnu/services/web.scm: Likewise. * gnu/services/ssh.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/services/mail.scm: Likewise. * gnu/services/lirc.scm: Likewise. * gnu/services/desktop.scm: Likewise. * gnu/services/dbus.scm: Likewise. * gnu/services/databases.scm: Likewise. * gnu/services/base.scm: Likewise. * gnu/services/avahi.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/services.scm: Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu-system.am (GNU_SYSTEM_MODULES): Likewise. * po/guix/POTFILES.in: Likewise.
* doc: Replace references to 'dmd' with 'shepherd'.Alex Kost2016-01-29
| | | | | * doc/guix.texi: Use 'shepherd'/'herd' instead of 'dmd'/'deco'. Fix info references.
* doc: Describe how Emacs packages are found.Alex Kost2016-01-29
| | | | * doc/guix.texi (Application Setup)[Emacs Packages]: New subsection.
* doc: Show how to boot result of 'vm-image'.Leo Famulari2016-01-26
| | | | | * doc/guix.texi (Running GuixSD in a VM): New node. (Invoking guix system): Add reference to 'Running GuixSD in a VM'.
* emacs: Add interface for licenses.Alex Kost2016-01-25
| | | | | | | | | | | | | | * emacs/guix-main.scm (%license-param-alist): New variable. (license->sexp, find-licenses, license-entries): New procedures. * emacs/guix-license.el (guix-license-get-entries) (guix-license-get-display, guix-license-insert-packages-button) (guix-license-insert-comment, guix-license-list-describe) (guix-license-list-show-packages): New procedures. (guix-licenses): New command. * doc/emacs.texi (Emacs Licenses): New node. (Emacs Interface): Add it. * doc/guix.texi (Top): Add it. * NEWS: Mention new interface.
* emacs: Add 'guix-packages-by-license' command.Alex Kost2016-01-25
| | | | | | | | | * emacs/guix-main.scm (packages-by-license): New procedure. (%patterns-makers): Add 'license' search type. * emacs/guix-messages.el (guix-message-packages-by-license): New procedure. (guix-messages): Use it. * emacs/guix-ui-package.el (guix-packages-by-license): New command. * doc/emacs.texi (Emacs Commands): Document it.
* emacs: Buttonize licenses in "Package Info".Alex Kost2016-01-25
| | | | | | * emacs/guix-ui-package.el (guix-package-license): New button type. (guix-package-info-format, guix-output-info-format): Use it. * doc/emacs.texi (Emacs Info buffer): Mention it.
* doc: Add policy about version numbers for VCS snapshots.Ludovic Courtès2016-01-25
| | | | | * doc/guix.texi (Version Numbers): Add paragraphs about VCS snapshot version numbers.
* doc: Remove unneeded backslashes.Ludovic Courtès2016-01-25
| | | | * doc/guix.texi (Networking Services): Remove unneeded backslashes.
* doc: 'base-initrd' has #:virtio? default to #t.Ludovic Courtès2016-01-25
| | | | | | This is a followup to e26d507. * doc/guix.texi (Initial RAM Disk): #:virtio? defaults to #t.
* doc: Fix typo in section on offloading.Andreas Enge2016-01-24
| | | | * doc/guix.texi (Daemon Offload Setup): Fix quoting typo in command.
* doc: Fix typo in "Locales".Ludovic Courtès2016-01-22
| | | | * doc/guix.texi (Locales): Add missing 's'.
* doc: Explain how to make the Info manual visible.Ludovic Courtès2016-01-21
| | | | | | | | Suggested by David Thompson <dthompson2@worcester.edu> at <http://bugs.gnu.org/22402>. * doc/guix.texi (Binary Installation): Explain how to make the Info manual visible.
* doc: Explain how to remove services from a list.Ludovic Courtès2016-01-21
| | | | | | | | Suggested by <swedebugia@riseup.net>. * doc/guix.texi (Using the Configuration System): Add @unnumberedsubsubsec. Explain how to remove services from a list. Mention (gnu system).
* import: Add Bioconductor importer and updater.Ricardo Wurmus2016-01-20
| | | | | | | | | | | | | | | | | * guix/import/cran.scm (%bioconductor-updater, latest-bioconductor-release, bioconductor-package?): New procedures. (cran->guix-package): Support repositories other than CRAN. (%bioconductor-url, %bioconductor-svn-url): New variables. (description->package): Update signature to distinguish between packages from different repositories. (latest-release): Rename procedure ... (latest-cran-release): ... to this. (cran-package?): Do not assume all R packages are available on CRAN. * tests/cran.scm: Update tests. * guix/scripts/import/cran.scm: Add "--archive" option and default to CRAN. * guix/scripts/refresh.scm (%updaters): Add "%bioconductor-updater". * doc/guix.texi: Document Bioconductor importer and updater.
* guix build: Add '--keep-going'.Ludovic Courtès2016-01-19
| | | | | | | | * guix/scripts/build.scm (show-build-options-help) (%standard-build-options): Add --keep-going. * guix/scripts/build.scm (set-build-options-from-command-line): Honor it. * doc/guix.texi (Invoking guix build): Document it.
* doc: Document 'http_proxy'.Ludovic Courtès2016-01-18
| | | | | * doc/guix.texi (Build Environment Setup, Substitutes): Document 'http_proxy'.
* doc: Explain how to run a subset of the tests.Ludovic Courtès2016-01-18
| | | | * doc/guix.texi (Running the Test Suite): Explain 'TESTS'.
* emacs: Add 'guix-search-by-name'.Alex Kost2016-01-18
| | | | | * emacs/guix-ui-package.el (guix-search-by-name): New command. * doc/emacs.texi (Emacs Commands): Document it.
* emacs: Rename 'guix-search-by-name' to 'guix-packages-by-name'.Alex Kost2016-01-18
| | | | | | * emacs/guix-ui-package.el (guix-search-by-name): Rename to... (guix-packages-by-name): ... this. Complete package name. * doc/emacs.texi (Emacs Commands): Likewise.
* doc: Document command-line options honored by the initrd.Ludovic Courtès2016-01-16
| | | | | * doc/guix.texi (Initial RAM Disk): Document kernel command-line options.
* emacs: Add interface for system generations.Alex Kost2016-01-16
| | | | | | | | | | | | * emacs/guix-main.scm (system-generation-boot-parameters) (system-generation-param-alist, system-generation-sexps): New procedures. (entries): Add 'system-generation' entry type. * emacs/guix-messages.el (guix-result-message): Use the same messages for 'generation' and 'system-generation' entry types. * emacs/guix-ui-system-generation.el: New file. * emacs.am (ELFILES): Add it. * doc/emacs.texi (Emacs Commands): Document new commands. * NEWS: Mention new interface.
* doc: Fix typo in "Build Systems".Leo Famulari2016-01-12
| | | | * doc/guix.texi (Build Systems): Remove extra 's'.
* doc: Show bootstrapping at the package level.Ludovic Courtès2016-01-12
| | | | | | | * doc/images/bootstrap-packages.dot: New file. * doc.am (DOT_FILES): Add it. * doc/guix.texi (Bootstrapping): Show 'guix graph' commands. Includes 'images/bootstrap-packages' and comment it.
* doc: Document network-manager-service.宋文武2016-01-08
| | | | * doc/guix.texi (Networking Services): Document network-manager-service.
* doc: Add elaborate package search example.Ludovic Courtès2016-01-08
| | | | | * doc/guix.texi (Invoking guix package): Add elaborate --search example using recsel and sexes.
* doc: Remove double occurrence of words.Michael Vetter2016-01-05
| | | | | | * doc/guix.texi: substitute 'the the' with 'the'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix package: Allow multiple '--search' flags.Ludovic Courtès2016-01-05
| | | | | | | | | | | * guix/scripts/package.scm (find-packages-by-description): Change 'rx' parameter to 'regexps'. [matches-all?, matches-one?]: New procedures. Use them. (process-query): Collect regexps from all 'search' queries, and pass them to 'find-packages-by-description'. * tests/guix-package.sh: Add tests. * doc/guix.texi (Invoking guix package): Document it.
* emacs: Use "B" key in "Package List" to display latest builds.Alex Kost2016-01-02
| | | | | | | | * 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.
* emacs: Add Hydra interface.Alex Kost2016-01-02
| | | | | | | | | | | | | * 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.
* emacs: Reorganize package/generation UI code.Alex Kost2016-01-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* emacs: Generalize buffer naming.Alex Kost2016-01-02
| | | | | | | | | | | | | | | | | | | | | * 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.
* emacs: Split 'guix-root-map' keymap.Alex Kost2016-01-02
| | | | | | | | | | | | * 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.
* emacs: Split 'guix-param-titles' variable.Alex Kost2016-01-02
| | | | | | | | | | | | | | 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.
* emacs: info: Split 'guix-info-format' variable.Alex Kost2016-01-02
| | | | | | | | | | | | | * 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.
* emacs: info: Generalize inserting and formatting.Alex Kost2016-01-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.