blob: ff3c9fbdbe642c7527f0be9107ff463c1985a22e (
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
|
(define-module (jd features nextcloud)
#:use-module (rde features)
#:use-module (rde predicates)
#:use-module (gnu packages)
#:use-module (gnu packages polkit)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
#:use-module (guix gexp)
#:export (feature-nextcloud))
(define* (feature-nextcloud
#:key
(nextcloud-client (@ (gnu packages sync) nextcloud-client))
(gnome-keyring (@ (gnu packages gnome) gnome-keyring))
(polkit? #t))
(define f-name 'nextcloud)
(define (get-home-services config)
(list
(simple-service
'add-nextcloud-home-package
home-profile-service-type
(append
(if polkit? (list gnome-keyring) '())
(list nextcloud-client)))
(simple-service
'nextcloud-shepherd-service
home-shepherd-service-type
(list
(shepherd-service
(provision `(nextcloud))
(auto-start? #t)
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(program-file
"nextcloud"
#~(begin
(setenv "QT_QPA_PLATFORM" "wayland-egl;xcb")
(apply system*
(list
#$(file-append (@ (gnu packages sync) nextcloud-client) "/bin/nextcloud")))))))))))))
(feature
(name f-name)
(values `((,f-name . #t)))
(home-services-getter get-home-services)))
|