Ludovic Courtès
dedb8d5ece
doc: Provide more details about system installation.
...
* 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>.
2016-02-10 21:47:31 +01:00
Ludovic Courtès
f5582b2c1d
system: Selected locale is automatically built.
...
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.
2016-02-10 15:15:17 +01:00
Alex Kost
2c04e2eec8
emacs: 'C-u M-x guix-edit' prompts for directory.
...
* 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".
2016-02-10 01:31:19 +03:00
Alex Kost
7c1b1ae24a
doc: Document 'guix-edit' Emacs command.
...
* doc/emacs.texi (Emacs Commands): Document "M-x guix-edit".
* doc/guix.texi (Invoking guix edit): Mention it.
2016-02-07 11:24:35 +03:00
Alex Kost
abea77e3f0
emacs: Factorize searching for Emacs packages.
...
* 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.
2016-02-07 11:24:35 +03:00
Ludovic Courtès
17c20385fb
doc: Mention 'tzselect'.
...
* doc/guix.texi (operating-system Reference): Mention 'tzselect' and
invalid timezone strings.
2016-02-04 12:21:34 +01:00
Ludovic Courtès
240b57f0ca
guix system: 'reconfigure' loads and starts new services.
...
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.
2016-02-03 22:28:28 +01:00
Ludovic Courtès
47c0f92c37
guix build: Add '--with-input'.
...
* 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.
2016-02-01 08:59:13 +01:00
Ludovic Courtès
b8638f0347
guix package: Support package transformation options.
...
* 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'.
2016-02-01 08:59:13 +01:00
Ludovic Courtès
88ad6deda6
guix build: Separate transformation options.
...
* 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.
2016-02-01 08:59:13 +01:00
Ludovic Courtès
ccd7158d2a
doc: Add subsections to 'Invoking guix build'.
...
* 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
2016-02-01 08:59:13 +01:00
Alex Kost
710fa231f0
guix system: Rename 'dmd-graph' to 'shepherd-graph'.
...
* 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.
2016-01-29 20:21:54 +03:00
Alex Kost
d4053c710b
services: Rename 'dmd' services to 'shepherd'.
...
* 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.
2016-01-29 20:21:53 +03:00
Alex Kost
0190c1c02f
Rename (gnu services dmd) to (gnu services shepherd).
...
* 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.
2016-01-29 20:21:53 +03:00
Alex Kost
dd17bc3821
doc: Replace references to 'dmd' with 'shepherd'.
...
* doc/guix.texi: Use 'shepherd'/'herd' instead of 'dmd'/'deco'. Fix
info references.
2016-01-29 20:21:53 +03:00
Alex Kost
6d97319c53
doc: Describe how Emacs packages are found.
...
* doc/guix.texi (Application Setup)[Emacs Packages]: New subsection.
2016-01-29 11:13:15 +03:00
Leo Famulari
97d76250e1
doc: Show how to boot result of 'vm-image'.
...
* doc/guix.texi (Running GuixSD in a VM): New node.
(Invoking guix system): Add reference to 'Running GuixSD in a VM'.
2016-01-26 14:23:39 -05:00
Alex Kost
687c9bc023
emacs: Add interface for licenses.
...
* 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.
2016-01-25 22:11:47 +03:00
Alex Kost
83aab70b2d
emacs: Add 'guix-packages-by-license' command.
...
* 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.
2016-01-25 22:11:47 +03:00
Alex Kost
cefb7aea9d
emacs: Buttonize licenses in "Package Info".
...
* 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.
2016-01-25 22:11:47 +03:00
Ludovic Courtès
880d647d0f
doc: Add policy about version numbers for VCS snapshots.
...
* doc/guix.texi (Version Numbers): Add paragraphs about VCS snapshot
version numbers.
2016-01-25 00:11:22 +01:00
Ludovic Courtès
24a8ef3ba1
doc: Remove unneeded backslashes.
...
* doc/guix.texi (Networking Services): Remove unneeded backslashes.
2016-01-25 00:11:22 +01:00
Ludovic Courtès
9059b97dc3
doc: 'base-initrd' has #:virtio? default to #t.
...
This is a followup to e26d507
.
* doc/guix.texi (Initial RAM Disk): #:virtio? defaults to #t.
2016-01-25 00:11:22 +01:00
Andreas Enge
74273b6f2d
doc: Fix typo in section on offloading.
...
* doc/guix.texi (Daemon Offload Setup): Fix quoting typo in command.
2016-01-24 23:25:38 +01:00
Ludovic Courtès
c4847f49b3
doc: Fix typo in "Locales".
...
* doc/guix.texi (Locales): Add missing 's'.
2016-01-22 00:02:52 +01:00
Ludovic Courtès
aca738f3c6
doc: Explain how to make the Info manual visible.
...
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.
2016-01-21 00:22:34 +01:00
Ludovic Courtès
5d94ac5192
doc: Explain how to remove services from a list.
...
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).
2016-01-21 00:22:34 +01:00
Ricardo Wurmus
d0bd632f89
import: Add Bioconductor importer and updater.
...
* 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.
2016-01-20 12:41:28 +01:00
Ludovic Courtès
f495301902
guix build: Add '--keep-going'.
...
* 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.
2016-01-19 21:59:58 +01:00
Ludovic Courtès
e0c941fefa
doc: Document 'http_proxy'.
...
* doc/guix.texi (Build Environment Setup, Substitutes): Document
'http_proxy'.
2016-01-18 17:41:16 +01:00
Ludovic Courtès
a887fd8d48
doc: Explain how to run a subset of the tests.
...
* doc/guix.texi (Running the Test Suite): Explain 'TESTS'.
2016-01-18 17:41:16 +01:00
Alex Kost
27a2e48337
emacs: Add 'guix-search-by-name'.
...
* emacs/guix-ui-package.el (guix-search-by-name): New command.
* doc/emacs.texi (Emacs Commands): Document it.
2016-01-18 19:11:46 +03:00
Alex Kost
e119ba9008
emacs: Rename 'guix-search-by-name' to 'guix-packages-by-name'.
...
* 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.
2016-01-18 19:11:46 +03:00
Ludovic Courtès
e90cf6c14a
doc: Document command-line options honored by the initrd.
...
* doc/guix.texi (Initial RAM Disk): Document kernel command-line
options.
2016-01-16 14:45:47 +01:00
Alex Kost
67cedc4ba6
emacs: Add interface for system generations.
...
* 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.
2016-01-16 13:02:21 +03:00
Leo Famulari
0917e80ea8
doc: Fix typo in "Build Systems".
...
* doc/guix.texi (Build Systems): Remove extra 's'.
2016-01-12 17:55:59 -05:00
Ludovic Courtès
d33fa0c714
doc: Show bootstrapping at the package level.
...
* 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.
2016-01-12 17:47:36 +01:00
宋文武
c0a9589da2
doc: Document network-manager-service.
...
* doc/guix.texi (Networking Services): Document network-manager-service.
2016-01-08 08:06:40 +08:00
Ludovic Courtès
b110869dd3
doc: Add elaborate package search example.
...
* doc/guix.texi (Invoking guix package): Add elaborate --search example
using recsel and sexes.
2016-01-08 00:09:50 +01:00
Michael Vetter
f9b9a0330d
doc: Remove double occurrence of words.
...
* doc/guix.texi: substitute 'the the' with 'the'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-01-05 23:55:26 +01:00
Ludovic Courtès
db5a94445f
guix package: Allow multiple '--search' flags.
...
* 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.
2016-01-05 00:28:42 +01:00
Alex Kost
5c8994d9d9
emacs: Use "B" key in "Package List" to display latest builds.
...
* 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-02 17:25:35 +03:00
Alex Kost
32950fc846
emacs: Add Hydra interface.
...
* 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-02 17:25:35 +03:00
Alex Kost
c80ce104be
emacs: Reorganize package/generation UI code.
...
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-02 17:25:35 +03:00
Alex Kost
8bff0c796e
emacs: Generalize buffer naming.
...
* 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-02 17:25:35 +03:00
Alex Kost
e40b3c33f4
emacs: Split 'guix-root-map' keymap.
...
* 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-02 17:25:35 +03:00
Alex Kost
574f6727b0
emacs: Split 'guix-param-titles' variable.
...
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-02 17:25:35 +03:00
Alex Kost
9193fb7c1d
emacs: info: Split 'guix-info-format' variable.
...
* 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-02 17:25:35 +03:00
Alex Kost
2c7ed388cf
emacs: info: Generalize inserting and formatting.
...
* 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-02 17:25:35 +03:00
Alex Kost
cf910ceffc
emacs: list: Split 'guix-list-format' variable.
...
* 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-02 17:25:35 +03:00