Emacs interface to GNU Guix
https://git.savannah.gnu.org/cgit/guix/emacs-guix.git
1f205b8c75
* elisp/guix-ui-license.el (guix-license-list-describe): 'cl-list*' is redundant here, use 'cons' instead. |
||
---|---|---|
build-aux | ||
doc | ||
elisp | ||
images | ||
scheme | ||
.gitignore | ||
COPYING | ||
INSTALL | ||
Makefile.am | ||
NEWS | ||
README | ||
README.org | ||
THANKS | ||
autogen.sh | ||
configure.ac | ||
guix.scm |
README
-*- mode: org -*- * About =Emacs-Guix= (aka =guix.el=) provides various features and tools for [[http://www.gnu.org/software/guix/][GNU Guix]] package manager. It allows you to manage your Guix profile(s) from Emacs: to install, upgrade and remove packages, to switch and remove profile generations, to display all available info about packages and to do many other things. This README provides only a basic overview on Emacs-Guix, for a full and detailed description, see the info manual that comes with it. In short, Emacs-Guix provides the following features: - Interface for: + profiles + profile generations (including system generations for GuixSD) + packages + package licenses + package locations + [[https://hydra.gnu.org][Hydra build farm]] - Magit-like popup interface for all guix shell commands (=M-x guix=). - Modes to view logs of package builds (=guix-build-log-mode= and =guix-build-log-minor-mode=). - Minor mode to "prettify" store file names (to replace hash parts with "…"). - Shell completions for all guix commands and options (for =M-x shell= and =M-x eshell=). - Minor mode with additional functionality for =scheme-mode= to work with Guix .scm files, particularly with package modules (=guix-devel-mode=). On the following screenshot you can see one of the mentioned features, namely: "list" and "info" interface for Guix packages (this screenshot was made for an early version of Emacs-Guix, the interface has slightly changed since then). [[http://i.imgur.com/gRcu14n.png]] ([[https://github.com/alezost/alect-themes][alect-light]] theme is used there). * Installation Emacs-Guix can be installed using Guix, from [[http://melpa.org/][MELPA]], or it can be used from a git checkout. ** Guix Just use: #+BEGIN_SRC sh guix package -i emacs-guix #+END_SRC ** MELPA If you added "melpa" or "melpa-stable" archives to =package-archives= as it is described on the [[http://melpa.org/#/getting-started][MELPA Getting Started]] page, you can install "emacs-guix" using =M-x package-install= or =M-x list-packages= commands. ** Git checkout Also you can clone this git repository and use Emacs-Guix from this git checkout (see the info manual for details). Finally, if you have the git checkout, you can install Guix package for the current commit of Emacs-Guix using [[file:guix.scm]] file: #+BEGIN_SRC sh guix package --install-from-file=guix.scm #+END_SRC * Usage Call =M-x guix-help= to get a summary of all available commands. Here is an incomplete list of them: - To show packages: : M-x guix-all-available-packages : M-x guix-newest-available-packages : M-x guix-installed-user-packages : M-x guix-installed-system-packages : M-x guix-obsolete-packages : M-x guix-packages-by-name : M-x guix-packages-by-license : M-x guix-packages-by-location : M-x guix-package-from-file : M-x guix-search-by-name : M-x guix-search-by-regexp - To show profile generations: : M-x guix-generations : M-x guix-last-generations : M-x guix-generations-by-time : M-x guix-system-generations : M-x guix-last-system-generations : M-x guix-system-generations-by-time - To show/browse package licenses: : M-x guix-licenses : M-x guix-browse-license-url : M-x guix-find-license-definition - To show/find package locations: : M-x guix-locations : M-x guix-find-location : M-x guix-edit - Magit-like interface: : M-x guix - To show Hydra builds and jobsets: : M-x guix-hydra-latest-builds : M-x guix-hydra-queued-builds : M-x guix-hydra-jobsets - Miscellaneous commands: : M-x guix-pull : M-x guix-prettify-mode : M-x guix-build-log-mode : M-x guix-devel-mode