README 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. -*- mode: org -*-
  2. * About
  3. =Emacs-Guix= (aka =guix.el=) provides various features and tools
  4. for [[http://www.gnu.org/software/guix/][GNU Guix]] package manager.
  5. It allows you to manage your Guix profile(s) from Emacs: to install,
  6. upgrade and remove packages, to switch and remove profile generations,
  7. to display all available info about packages and to do many other
  8. things.
  9. This README provides only a basic overview on Emacs-Guix, for a full and
  10. detailed description, see the info manual that comes with it.
  11. In short, Emacs-Guix provides the following features:
  12. - Interface for:
  13. + profiles
  14. + profile generations (including system generations for GuixSD)
  15. + packages
  16. + package licenses
  17. + package locations
  18. + [[https://hydra.gnu.org][Hydra build farm]]
  19. - Magit-like popup interface for all guix shell commands (=M-x guix=).
  20. - Modes to view logs of package builds (=guix-build-log-mode= and
  21. =guix-build-log-minor-mode=).
  22. - Minor mode to "prettify" store file names (to replace hash parts with
  23. "…").
  24. - Shell completions for all guix commands and options (for =M-x shell=
  25. and =M-x eshell=).
  26. - Minor mode with additional functionality for =scheme-mode= to work
  27. with Guix .scm files, particularly with package modules
  28. (=guix-devel-mode=).
  29. On the following screenshot you can see one of the mentioned features,
  30. namely: "list" and "info" interface for Guix packages (this screenshot
  31. was made for an early version of Emacs-Guix, the interface has slightly
  32. changed since then).
  33. [[http://i.imgur.com/gRcu14n.png]]
  34. ([[https://github.com/alezost/alect-themes][alect-light]] theme is used there).
  35. * Usage
  36. Call =M-x guix-help= to get a summary of all available commands.
  37. Here is an incomplete list of them:
  38. - To show packages:
  39. : M-x guix-all-available-packages
  40. : M-x guix-newest-available-packages
  41. : M-x guix-installed-user-packages
  42. : M-x guix-installed-system-packages
  43. : M-x guix-obsolete-packages
  44. : M-x guix-packages-by-name
  45. : M-x guix-packages-by-license
  46. : M-x guix-packages-by-location
  47. : M-x guix-package-from-file
  48. : M-x guix-search-by-name
  49. : M-x guix-search-by-regexp
  50. - To show profile generations:
  51. : M-x guix-generations
  52. : M-x guix-last-generations
  53. : M-x guix-generations-by-time
  54. : M-x guix-system-generations
  55. : M-x guix-last-system-generations
  56. : M-x guix-system-generations-by-time
  57. - To show/browse package licenses:
  58. : M-x guix-licenses
  59. : M-x guix-browse-license-url
  60. : M-x guix-find-license-definition
  61. - To show/find package locations:
  62. : M-x guix-locations
  63. : M-x guix-find-location
  64. : M-x guix-edit
  65. - Magit-like interface:
  66. : M-x guix
  67. - To show Hydra builds and jobsets:
  68. : M-x guix-hydra-latest-builds
  69. : M-x guix-hydra-queued-builds
  70. : M-x guix-hydra-jobsets
  71. - Miscellaneous commands:
  72. : M-x guix-pull
  73. : M-x guix-prettify-mode
  74. : M-x guix-build-log-mode
  75. : M-x guix-devel-mode