Commit Graph

16 Commits

Author SHA1 Message Date
Janneke Nieuwenhuizen 3fba3f4648
elisp/guix-misc: Update Emacs Info-directory-list if needed.
* elisp/guix-misc.el (guix-set-emacs-environment): Set 'Info-directory-list'
when setting "INFOPATH" variable.
2023-08-28 19:34:02 +02:00
Jonas Bernoulli 41fba4eec8 Fix the previous commit
This is a followup to commit d246b2c443.
2020-10-25 19:44:51 +03:00
Jan Nieuwenhuizen d246b2c443 elisp/misc: Update Emacs path if needed
This helps Geiser find the correct (environment's) Guile.

* elisp/guix-misc.el (guix-set-emacs-environment): Set 'exec-path'
when setting "PATH" variable.
2020-09-18 14:16:49 +03:00
Jan Nieuwenhuizen a4bd696f0b Add 'guix-set-emacs-environment' command
Co-authored by Alex Kost.

Discussed at
<https://lists.gnu.org/archive/html/help-guix/2018-09/msg00038.html>.

* scheme/emacs-guix/profiles.scm (search-paths-specifications): New procedure.
* scheme/emacs-guix.scm (emacs-guix): Autoload it.
* elisp/guix-misc.el (guix-set-emacs-environment): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Miscellaneous Commands): Document it.
2018-09-15 00:19:25 +03:00
Alex Kost 0111d16547 elisp: Add and use 'guix-file-name'
Various Guix (Guile) procedures are sensitive to "non-expanded" file
names and to trailing slashes in directory names, so
'directory-file-name' and 'expand-file-name' are called here and there.
Make a single function to fix it once and for all.

* elisp/guix-utils.el (guix-file-name): New function.
* elisp/guix-hash.el (guix-hash): Use it.
* elisp/guix-profiles.el (guix-profile): Use it.
* elisp/guix-misc.el (guix-apply-manifest): Use it.
* elisp/guix-repl.el (guix-repl-guile-args): Use it.
* elisp/guix-ui.el (guix-ui-buffer-name-short): Use it.
* elisp/guix-ui-profile.el (guix-profiles): Use it.
* elisp/guix-ui-generation.el
(guix-generation-packages-buffer-name-default): Use it.
2018-09-15 00:13:36 +03:00
Alex Kost c69618446e elisp: Add 'guix-report-bug' command
Suggested by Pierre Neidhardt:
<https://github.com/alezost/guix.el/issues/18>.

* elisp/guix-misc.el (guix-bug-address): New variable.
(guix-report-bug): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Miscellaneous Commands): Document it.
2018-04-08 22:32:58 +03:00
Alex Kost 6ba9af297c elisp: Add and use 'guix-read-manifest-file-name'
* elisp/guix-profiles.el (guix-read-manifest-file-name): New procedure.
* elisp/guix-ui-profile.el (guix-profile-list-apply-manifest): Use it.
* elisp/guix-misc.el (guix-apply-manifest): Likewise.
2017-08-17 23:11:48 +03:00
Alex Kost 58bd6f8e4a Add possibility to display 'search-paths'
* scheme/emacs-guix/profiles.scm: New file.
(search-paths): New procedure.
* scheme/emacs-guix.scm (emacs-guix): Autoload it.
* elisp/guix-utils.el (guix-display-buffer): New procedure.
* elisp/guix-misc.el (guix-search-paths-buffer-name): New variable.
(guix-show-search-paths): New procedure.
* elisp/guix-ui-generation.el (guix-generation-list-marked-file-names):
New procedure.
(guix-generation-list-show-search-paths): New command.
(guix-generation-list-mode-map): Bind it to "E".
* elisp/guix-ui-profile.el (guix-profile-list-marked-profiles): New
procedure.
(guix-profile-list-show-search-paths): New command.
(guix-profile-list-mode-map): Bind it to "E".
* doc/emacs-guix.texi (Profiles): Document "E" key.
(Generation Keys): Likewise.
(Buffer Names): Add 'guix-search-paths-buffer-name' variable.
* scheme/Makefile.am (MODULES): Add "profiles.scm"
2017-08-17 23:11:48 +03:00
Alex Kost a51572669e elisp: Expand file names after 'read-file-name'
* elisp/guix-misc.el (guix-apply-manifest): Use 'guix-read-file-name'
instead of 'read-file-name'.
* elisp/guix-profiles.el (guix-read-profile): Likewise.
* elisp/guix-ui-package.el (guix-package-from-file): Likewise.
* elisp/guix-ui-profile.el (guix-profile-list-apply-manifest): Likewise.
2017-02-14 22:06:43 +03:00
Alex Kost 25dc769599 elisp: Move package related code to "guix-package.el"
* elisp/guix-ui-package.el (guix-package-id-and-output-by-output-id)
(guix-package-build-log-file, guix-package-find-build-log): Move to...
* elisp/guix-misc.el (guix-package-name-specification)
(guix-package-source-file-name, guix-package-store-path)
(guix-package-source-build-derivation, guix-build-package): Move to...
* elisp/guix-package.el: ... here.  New file.
* elisp/local.mk (EL_FILES): Add it.
2017-01-23 22:17:22 +03:00
Alex Kost 8d0b6a6b6f elisp: Require 'guix' softly
This is a followup to commit b1db61ee28.

Since 'guix' feature provides custom groups only, it may not be a hard
dependency.
2016-12-15 16:57:56 +03:00
Alex Kost b1db61ee28 elisp: Add "guix.el" with custom groups
This is added mainly for MELPA, as it will be used to define
package headers (Package-Requires, etc.).

* elisp/guix-misc.el (guix, guix-faces): Move custom groups to...
* elisp/guix.el: ... here.  New file.
* elisp/guix-about.el: Require it.
* elisp/guix-build-log.el: Require it.
* elisp/guix-command.el: Require it.
* elisp/guix-devel.el: Require it.
* elisp/guix-external.el: Require it.
* elisp/guix-hydra.el: Require it.
* elisp/guix-misc.el: Require it.
* elisp/guix-pcomplete.el: Require it.
* elisp/guix-prettify.el: Require it.
* elisp/guix-repl.el: Require it.
* elisp/guix-ui-generation.el: Require it.
* elisp/guix-ui-license.el: Require it.
* elisp/guix-ui-location.el: Require it.
* elisp/guix-ui-package.el: Require it.
* elisp/guix-ui-profile.el: Require it.
* elisp/guix-ui-system-generation.el: Require it.
* elisp/guix-ui.el: Require it.
* elisp/guix-utils.el: Require it.
* elisp/local.mk (ELFILES): Add it.
2016-12-14 17:18:06 +03:00
Alex Kost bdacde99e9 elisp: Move "operation buffer" code to 'guix-repl'
* elisp/guix-ui.el (guix-ui-update-buffer): Remove.
(guix-ui-update-after-operation, guix-ui-buffer?, guix-ui-buffers)
(guix-ui-update-buffers-after-operation): Move and rename to...
* elisp/guix-repl.el (guix-update-buffers-after-operation)
(guix-operation-buffer?, guix-operation-buffers)
(guix-update-buffers-after-operation): ... this.
* elisp/guix-misc.el (guix-update-buffers-maybe-after-pull): Adjust
accordingly.
2016-12-12 20:48:18 +03:00
Alex Kost e44c58a241 elisp: Improve profile readers
* elisp/guix-profiles.el (guix-profile-prompt): Rename to...
(guix-read-profile): ... this.
(guix-read-package-profile, guix-read-generation-profile): New procedures.
* elisp/guix-ui.el (guix-ui-read-profile): Rename to..
(guix-ui-read-package-profile): ... this.
(guix-ui-read-generation-profile): New procedure.
* elisp/guix-ui-package.el: Adjust accordingly.
* elisp/guix-ui-generation.el: Likewise.
* elisp/guix-misc.el (guix-apply-manifest): Likewise.
2016-12-12 20:48:17 +03:00
Alex Kost c40395a667 elisp: Assert non-system profile in 'guix-apply-manifest'
* elisp/guix-profiles.el (guix-assert-non-system-profile): New procedure.
* elisp/guix-ui-package.el (guix-package-assert-non-system-profile): Use it.
* elisp/guix-misc.el (guix-apply-manifest): Likewise.
2016-12-12 20:48:17 +03:00
Alex Kost bb405b2174 elisp: Rename 'guix-base' to 'guix-misc'
* elisp/guix-base.el: Rename to...
* elisp/guix-misc.el: ... this.
* elisp/guix-command.el: Adjust accordingly.
* elisp/guix-devel.el: Likewise.
* elisp/guix-ui-package.el: Likewise.
* elisp/guix-ui-generation.el: Likewise.
* elisp/local.mk (ELFILES): Likewise.
2016-12-12 20:48:16 +03:00
Renamed from elisp/guix-base.el (Browse further)