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/mail.scm | 34 +++++++++++++++++++++- src/jd/features/math.scm | 68 +++++++++++++++++++++++++++++++++++++++++++ src/jd/features/nextcloud.scm | 50 +++++++++++++++++++++++++++++++ 3 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 src/jd/features/math.scm create mode 100644 src/jd/features/nextcloud.scm (limited to 'src/jd/features') diff --git a/src/jd/features/mail.scm b/src/jd/features/mail.scm index f5c3536..bf137e9 100644 --- a/src/jd/features/mail.scm +++ b/src/jd/features/mail.scm @@ -27,7 +27,7 @@ #:use-module (guix diagnostics) #:use-module (guix i18n) - #:export (feature-l2md* feature-mail-mcron)) + #:export (feature-l2md* feature-mail-mcron feature-octave)) (define* (feature-l2md* #:key @@ -113,3 +113,35 @@ features that have been enabled." (feature (name 'mail-mcron) (home-services-getter get-home-services))) + +(define* (feature-octave + #:key (octave (@ (gnu packages maths) octave-cli))) + (define f-name 'octave) + (define (get-home-services config) + (list + (rde-elisp-configuration-service + f-name + config + `((with-eval-after-load 'org + (require 'ob-octave) + (add-to-list 'org-structure-template-alist + '("octave" . "src octave")) + (org-babel-do-load-languages + 'org-babel-load-languages + '((octave . t))) + (setq org-babel-default-header-args:octave + '((:results . "output") + (:session . "octave") + (:exports . "both") + (:eval . "no-export")))))) + (simple-service + 'octave-packages + home-profile-service-type + (append (or (and (get-value 'python config) + (list (@ (gnu packages python-xyz) python-sympy))) + '()) + (list octave))))) + (feature + (name f-name) + (values `((,f-name . #t))) + (home-services-getter get-home-services))) diff --git a/src/jd/features/math.scm b/src/jd/features/math.scm new file mode 100644 index 0000000..7609370 --- /dev/null +++ b/src/jd/features/math.scm @@ -0,0 +1,68 @@ +(define-module (jd features math) + #:use-module (rde features) + #:use-module (gnu services) + #:use-module (rde features emacs) + #:use-module (gnu home services) + + + #:use-module (rde packages) + #:use-module (rde exceptions) + + #:use-module (rde predicates) + + #:use-module (rde features mail) + #:use-module ((rde features mail providers) #:prefix mail-providers:) + #:use-module (gnu packages mail) + #:use-module (gnu packages emacs-xyz) + #:use-module (rde packages emacs-xyz) + #:use-module (rde packages mail) + #:use-module (rde serializers elisp) + #:use-module (rde home services mail) + + #:use-module (gnu services configuration) + + #:use-module (gnu home-services mail) + #:use-module (gnu home services mcron) + #:use-module (gnu home-services version-control) + #:use-module (gnu home services xdg) + + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (guix gexp) + #:use-module (guix deprecation) + #:use-module (guix diagnostics) + #:use-module (guix i18n) + + #:export (feature-octave)) + +(define* (feature-octave + #:key (octave (@ (gnu packages maths) octave-cli))) + (define f-name 'octave) + (define (get-home-services config) + (list + (rde-elisp-configuration-service + f-name + config + `((with-eval-after-load 'org + (require 'ob-octave) + (add-to-list 'org-structure-template-alist + '("octave" . "src octave")) + (org-babel-do-load-languages + 'org-babel-load-languages + '((octave . t))) + (setq org-babel-default-header-args:octave + '((:results . "output") + (:session . "octave") + (:exports . "both") + (:eval . "no-export")))))) + (simple-service + 'octave-packages + home-profile-service-type + (append (or (and (get-value 'python config) + (list (@ (gnu packages python-xyz) python-sympy))) + '()) + (list octave))))) + (feature + (name f-name) + (values `((,f-name . #t))) + (home-services-getter get-home-services))) 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