blob: 496fd72b756d2e6b2cc00e9b675b375c6a77b377 (
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
|
(define-module (suweren trezor)
#:use-module (gnu packages finance)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:use-module (guix gexp))
(define-public trezor-bridge
(let*
( (service-executable (file-append trezord
"/bin/trezord-go"))
(start-command #~ (list #$ service-executable))
(shepherd-symbols (list 'trezor-bridge))
(start-process #~ (make-forkexec-constructor #$ start-command))
(stop-process #~ (make-kill-destructor))
(profile-extension (list trezord))
(shepherd-extension
(shepherd-service
(provision shepherd-symbols)
(requirement (list 'user-processes))
(start start-process)
(stop stop-process)))
(shepherd-extension* (list shepherd-extension))
(profile-service (simple-service 'trezor-bridge-profile
profile-service-type
profile-extension))
(shepherd-service* (simple-service 'trezor-bridge-shepherd
shepherd-root-service-type
shepherd-extension*))
(udev-service* (udev-rules-service 'trezor-bridge-udev
trezord-udev-rules)))
(list profile-service
udev-service*
shepherd-service*)))
|