blob: 7609370d2c7c67548407601af5142787939d2697 (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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)))
|