summaryrefslogtreecommitdiffstats
path: root/src/jd/features/math.scm
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2025-09-14 20:54:39 +0200
committerjdlugosz963 <jdlugosz963@gmail.com>2025-09-14 20:54:39 +0200
commit745b985effc740962f02101b871491068c624e9e (patch)
tree8e4b925fbfa917d33972077c425c5d15a0ddc074 /src/jd/features/math.scm
parentbc591dcedf45b80f70661f33c42c68dbd581e901 (diff)
downloaddotfiles-745b985effc740962f02101b871491068c624e9e.tar.gz
dotfiles-745b985effc740962f02101b871491068c624e9e.zip
Tune a little my new rde configHEADmaster
Diffstat (limited to 'src/jd/features/math.scm')
-rw-r--r--src/jd/features/math.scm68
1 files changed, 68 insertions, 0 deletions
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 @@
1(define-module (jd features math)
2 #:use-module (rde features)
3 #:use-module (gnu services)
4 #:use-module (rde features emacs)
5 #:use-module (gnu home services)
6
7
8 #:use-module (rde packages)
9 #:use-module (rde exceptions)
10
11 #:use-module (rde predicates)
12
13 #:use-module (rde features mail)
14 #:use-module ((rde features mail providers) #:prefix mail-providers:)
15 #:use-module (gnu packages mail)
16 #:use-module (gnu packages emacs-xyz)
17 #:use-module (rde packages emacs-xyz)
18 #:use-module (rde packages mail)
19 #:use-module (rde serializers elisp)
20 #:use-module (rde home services mail)
21
22 #:use-module (gnu services configuration)
23
24 #:use-module (gnu home-services mail)
25 #:use-module (gnu home services mcron)
26 #:use-module (gnu home-services version-control)
27 #:use-module (gnu home services xdg)
28
29 #:use-module (ice-9 match)
30 #:use-module (srfi srfi-1)
31 #:use-module (guix gexp)
32 #:use-module (guix deprecation)
33 #:use-module (guix diagnostics)
34 #:use-module (guix i18n)
35
36 #:export (feature-octave))
37
38(define* (feature-octave
39 #:key (octave (@ (gnu packages maths) octave-cli)))
40 (define f-name 'octave)
41 (define (get-home-services config)
42 (list
43 (rde-elisp-configuration-service
44 f-name
45 config
46 `((with-eval-after-load 'org
47 (require 'ob-octave)
48 (add-to-list 'org-structure-template-alist
49 '("octave" . "src octave"))
50 (org-babel-do-load-languages
51 'org-babel-load-languages
52 '((octave . t)))
53 (setq org-babel-default-header-args:octave
54 '((:results . "output")
55 (:session . "octave")
56 (:exports . "both")
57 (:eval . "no-export"))))))
58 (simple-service
59 'octave-packages
60 home-profile-service-type
61 (append (or (and (get-value 'python config)
62 (list (@ (gnu packages python-xyz) python-sympy)))
63 '())
64 (list octave)))))
65 (feature
66 (name f-name)
67 (values `((,f-name . #t)))
68 (home-services-getter get-home-services)))