summaryrefslogtreecommitdiff
path: root/.config/guix/modules/emacs.scm
blob: 4e4a128b6b0fd46869710199ac24aa4b112b03c6 (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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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
 cpp
 mail
 lisp)


(define (bd-emacs-package-list config)
  (list
   emacs-dash
   emacs-denote
   emacs-emms
   emacs-elpher
   emacs-exwm
   emacs-f
   emacs-guix
   emacs-hydra
   emacs-magit
   emacs-paredit
   emacs-pinentry
   emacs-rainbow-delimiters
   emacs-rainbow-mode
   emacs-shackle
   emacs-transmission
   emacs-yasnippet

   aspell
   aspell-dict-en

   ccls
   ))


(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)))