summaryrefslogtreecommitdiff
path: root/.config/guix/modules/emacs.scm
blob: 7ed090afaac26504c29dbab8acbd3ff9df863511 (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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Provides a home-service, installing ;;
;; my required emacs packages. Because ;;
;; root cannot use my emacs config,    ;;
;; installing packages in my home is   ;;
;; ideal.                              ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(define-module (modules emacs)
  #:use-module (gnu)
  #:use-module (gnu home services)
  #:use-module (gnu services)
  #:use-module (gnu services configuration)
  #:use-module (gnu system)
  #:use-module (guix gexp)
  #:export (bd-home-emacs-service-type))

(use-package-modules
 aspell emacs-xyz
 mail lisp)


(define (bd-emacs-package-list config)
  (list
   ;; direct
   emacs-all-the-icons
   emacs-all-the-icons-dired
   emacs-auctex
   emacs-consult
   emacs-ef-themes
   emacs-emms
   emacs-guix
   emacs-htmlize
   emacs-magit
   emacs-marginalia
   emacs-notmuch
   emacs-orderless
   emacs-org-roam
   emacs-paredit
   emacs-pinentry
   emacs-popper
   emacs-rainbow-delimiters
   emacs-rainbow-mode
   emacs-shackle
   emacs-simple-httpd
   emacs-slime
   emacs-transmission
   emacs-vertico
   emacs-visual-fill-column
   emacs-yasnippet
   emacs-yasnippet-snippets

   ;; associative
   aspell
   aspell-dict-en
   sbcl
   ))


(define bd-home-emacs-service-type
  (service-type (name 'emacs-config)
                (description "A service which deploys my
emacs configuration.")
                (extensions
                 (list (service-extension
                        home-profile-service-type
                        bd-emacs-package-list)))
                (default-value #f)))