doc: emacs: Add "Package Source Locations" section.
* doc/emacs.texi (Emacs Commands): Move description of 'guix-edit' command to... (Emacs Package Locations): ... here. Document 'guix-find-location'. New node. * doc/guix.texi (Top): Add it.master
parent
e81a89d176
commit
b5e3cbbb24
|
@ -10,6 +10,7 @@ Guix convenient and fun.
|
||||||
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
|
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
|
||||||
* Package Management: Emacs Package Management. Managing packages and generations.
|
* Package Management: Emacs Package Management. Managing packages and generations.
|
||||||
* Licenses: Emacs Licenses. Interface for licenses of Guix packages.
|
* Licenses: Emacs Licenses. Interface for licenses of Guix packages.
|
||||||
|
* Package Source Locations: Emacs Package Locations. Interface for package location files.
|
||||||
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
|
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
|
||||||
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
||||||
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
|
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
|
||||||
|
@ -222,30 +223,6 @@ With @kbd{C-u}, make it verbose.
|
||||||
Once @command{guix pull} has succeeded, the Guix REPL is restared. This
|
Once @command{guix pull} has succeeded, the Guix REPL is restared. This
|
||||||
allows you to keep using the Emacs interface with the updated Guix.
|
allows you to keep using the Emacs interface with the updated Guix.
|
||||||
|
|
||||||
Finally, there is an Emacs variant of @command{guix edit} command
|
|
||||||
(@pxref{Invoking guix edit}):
|
|
||||||
|
|
||||||
@table @kbd
|
|
||||||
@item M-x guix-edit
|
|
||||||
As with @kbd{M-x guix-packages-by-name}, you can press @key{TAB} to
|
|
||||||
complete a package name.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
If you are contributing to Guix, you may find it useful for @kbd{M-x
|
|
||||||
guix-edit} to open package files from your git directory. This can be
|
|
||||||
done by setting @code{guix-directory} variable. For example, after
|
|
||||||
this:
|
|
||||||
|
|
||||||
@example
|
|
||||||
(setq guix-directory "~/src/guix")
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@kbd{M-x guix-edit guix} opens
|
|
||||||
@file{~/src/guix/gnu/packages/package-management.scm} file.
|
|
||||||
|
|
||||||
Also you can use @kbd{C-u} prefix argument to specify a directory just
|
|
||||||
for the current @kbd{M-x guix-edit} command.
|
|
||||||
|
|
||||||
|
|
||||||
@node Emacs General info
|
@node Emacs General info
|
||||||
@subsection General information
|
@subsection General information
|
||||||
|
@ -570,6 +547,44 @@ guix-packages-by-license} would do (@pxref{Emacs Commands}).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
@node Emacs Package Locations
|
||||||
|
@section Package Source Locations
|
||||||
|
|
||||||
|
As you know, package definitions are placed in Guile files, also known
|
||||||
|
as @dfn{package locations}. The following commands should help you not
|
||||||
|
get lost in these locations:
|
||||||
|
|
||||||
|
@table @kbd
|
||||||
|
|
||||||
|
@item M-x guix-find-location
|
||||||
|
Open the given package definition source file (press @key{TAB} to choose
|
||||||
|
a location from a completion list).
|
||||||
|
|
||||||
|
@item M-x guix-edit
|
||||||
|
Find location of a specified package. This is an Emacs analog of
|
||||||
|
@command{guix edit} command (@pxref{Invoking guix edit}). As with
|
||||||
|
@kbd{M-x guix-packages-by-name}, you can press @key{TAB} to complete a
|
||||||
|
package name.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
|
||||||
|
If you are contributing to Guix, you may find it useful for @kbd{M-x
|
||||||
|
guix-find-location} and @kbd{M-x guix-edit} to open locations from your
|
||||||
|
Git checkout. This can be done by setting @code{guix-directory}
|
||||||
|
variable. For example, after this:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(setq guix-directory "~/src/guix")
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@kbd{M-x guix-edit guix} opens
|
||||||
|
@file{~/src/guix/gnu/packages/package-management.scm} file.
|
||||||
|
|
||||||
|
Also you can use @kbd{C-u} prefix argument to specify a directory just
|
||||||
|
for the current @kbd{M-x guix-find-location} or @kbd{M-x guix-edit}
|
||||||
|
command.
|
||||||
|
|
||||||
|
|
||||||
@node Emacs Popup Interface
|
@node Emacs Popup Interface
|
||||||
@section Popup Interface
|
@section Popup Interface
|
||||||
|
|
||||||
|
|
|
@ -118,6 +118,7 @@ Emacs Interface
|
||||||
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
|
* Initial Setup: Emacs Initial Setup. Preparing @file{~/.emacs}.
|
||||||
* Package Management: Emacs Package Management. Managing packages and generations.
|
* Package Management: Emacs Package Management. Managing packages and generations.
|
||||||
* Licenses: Emacs Licenses. Interface for licenses of Guix packages.
|
* Licenses: Emacs Licenses. Interface for licenses of Guix packages.
|
||||||
|
* Package Source Locations: Emacs Package Locations. Interface for package location files.
|
||||||
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
|
* Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands.
|
||||||
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
||||||
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
|
* Build Log Mode: Emacs Build Log. Highlighting Guix build logs.
|
||||||
|
|
Reference in New Issue