From 745b985effc740962f02101b871491068c624e9e Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Sun, 14 Sep 2025 20:54:39 +0200 Subject: Tune a little my new rde config --- src/jd/features/nextcloud.scm | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/jd/features/nextcloud.scm (limited to 'src/jd/features/nextcloud.scm') diff --git a/src/jd/features/nextcloud.scm b/src/jd/features/nextcloud.scm new file mode 100644 index 0000000..ff3c9fb --- /dev/null +++ b/src/jd/features/nextcloud.scm @@ -0,0 +1,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))) -- cgit v1.2.3