summaryrefslogtreecommitdiff
path: root/elisp/guix.el
blob: 3a22fc2112bfd633f6f9822fb8d270be0bbc76e0 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
;;; guix.el --- Interface for GNU Guix

;; Copyright © 2016–2018 Alex Kost <alezost@gmail.com>

;; Author: Alex Kost <alezost@gmail.com>
;; Version: 0.4
;; URL: https://emacs-guix.gitlab.io/website/
;; Keywords: tools
;; Package-Requires: ((emacs "24.3") (dash "2.11.0") (geiser "0.8") (bui "1.1.0") (magit-popup "2.1.0") (edit-indirect "0.1.4"))

;; This file is part of Emacs-Guix.

;; Emacs-Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; Emacs-Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with Emacs-Guix.  If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:

;; Emacs-Guix (aka "guix.el") provides featureful visual interface for
;; the GNU Guix package manager.  It allows you:
;;
;; - to search for packages and to look at their code (package recipes);
;;
;; - to manage your Guix profile(s) by installing/removing packages;
;;
;; - to look at, compare and remove profile generations;
;;
;; - to look at system services and generations (if you use GuixSD);
;;
;; - to do many other things.
;;
;; Run "M-x guix-help" to look at the summary of available commands.

;;; Code:

(defgroup guix nil
  "Interface for the GNU Guix package manager."
  :prefix "guix-"
  :group 'external)

(defgroup guix-faces nil
  "Guix faces."
  :group 'guix
  :group 'faces)

(defface guix-true
  '((default :weight bold)
    (((class color) (min-colors 88) (background light))
     :foreground "ForestGreen")
    (((class color) (min-colors 88) (background dark))
     :foreground "PaleGreen")
    (((class color) (min-colors 8))
     :foreground "green")
    (t :underline t))
  "Parent face for various true-kind things ('Yes' strings, etc.)."
  :group 'guix-faces)

(defface guix-false
  '((t :weight bold))
  "Parent face for various false-kind things ('No' strings, etc.)."
  :group 'guix-faces)

(provide 'guix)

;;; guix.el ends here