aboutsummaryrefslogtreecommitdiff
path: root/kbg/services/gnupg.scm
blob: d96691b0edbc5bd5815a70e51088140051884406 (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
(define-module (kbg services gnupg)
  #:use-module (kbg)
  #:use-module (gnu)
  #:use-module (guix)
  #:use-module (gnu services)
  #:use-module (gnu services shepherd)
  #:use-module (gnu home services)
  #:use-module (gnu home services shepherd)
  #:use-module (gnu packages gnupg)
  #:export (gnupg-service))

(define gnupg-service
  (let* ((gpg-agent (shepherd-service
                     (documentation "User GPG-Agent Daemon")
                     (provision '(gpg-agent))
                     (requirement '())
                     (start #~(make-system-constructor
                               #$(file-append gnupg "/bin/gpg-agent")
                               " "
                               "--daemon"
                               " "
                               "--verbose"
                               " "
                               "--options"
                               " "
                               (string-append (getenv "HOME") "/.gnupg/gpg-agent.conf")))
                     (stop #~(make-system-destructor
                              #$(file-append gnupg "/bin/gpg-connect-agent")
                              " "
                              "killagent"
                              " "
                              "/bye")))))
    (list gpg-agent)))