summaryrefslogtreecommitdiff
path: root/mumi/config.scm.in
blob: 66ad924f26fa1277fc8f88ecbf0423e5638ccbb8 (about) (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
;;; mumi -- Mediocre, uh, mail interface
;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This program is free software: you can redistribute it and/or
;;; modify it under the terms of the GNU Affero General Public License
;;; as published by the Free Software Foundation, either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;;; Affero General Public License for more details.
;;;
;;; You should have received a copy of the GNU Affero General Public
;;; License along with this program.  If not, see
;;; <http://www.gnu.org/licenses/>.

(define-module (mumi config)
  #:export (%config
            mailer-enabled?))

(define mailer-enabled?
  (make-parameter #t))

(define %config
  (let ((config
         ;; Try to find the "assets" directory relative to the executable
         ;; first.  This is useful when using "pre-inst-env".
         `((assets-dir  . ,(let ((maybe-dir
                                  (string-append (getcwd) "/assets")))
                             (if (and (getenv "MUMI_UNINSTALLED")
                                      (file-exists? maybe-dir))
                                 maybe-dir
                                 ;; TODO: use @assetsdir@ variable here
                                 "@prefix@/share/mumi/assets")))
           (pkg-dir     . ,(let ((maybe-dir
                                  (string-append (getcwd) "/etc")))
                             (if (and (getenv "MUMI_UNINSTALLED")
                                      (file-exists? maybe-dir))
                                 maybe-dir
                                 (let ((dir "@datarootdir@/mumi"))
                                   (if (string-prefix? "${prefix}" dir)
                                       (string-replace dir "@prefix@"
                                                       0 (string-length "${prefix}"))
                                       dir)))))
           (db-dir      . ,(let ((maybe-dir (getcwd)))
                             (if (and (getenv "MUMI_UNINSTALLED")
                                      (file-exists? maybe-dir))
                                 maybe-dir
                                 (let ((dir "@localstatedir@/mumi/db"))
                                   (if (string-prefix? "${prefix}" dir)
                                       (string-replace dir "@prefix@"
                                                       0 (string-length "${prefix}"))
                                       dir)))))
           (key-dir      . ,(let ((maybe-dir (getcwd)))
                              (if (and (getenv "MUMI_UNINSTALLED")
                                       (file-exists? maybe-dir))
                                  maybe-dir
                                  (let ((dir "@localstatedir@/mumi/"))
                                    (if (string-prefix? "${prefix}" dir)
                                        (string-replace dir "@prefix@"
                                                        0 (string-length "${prefix}"))
                                        dir))))) 
           (data-dir . ,(let ((maybe-dir
                               (string-append (getcwd) "/data")))
                          (if (and (getenv "MUMI_UNINSTALLED")
                                   (file-exists? maybe-dir))
                              maybe-dir
                              (let ((dir "@localstatedir@/mumi/data"))
                                (if (string-prefix? "${prefix}" dir)
                                    (string-replace dir "@prefix@"
                                                    0 (string-length "${prefix}"))
                                    dir)))))
           (host        . "localhost")
           (port        . 1234)
           (cache-ttl   . 120)
           (submission-email-address . "guix-patches@gnu.org")
           (submission-bug-email-address . "bug-guix@gnu.org")
           (lists       . ("guix-patches@gnu.org" "bug-guix@gnu.org"))
           (packages    . ("guix-patches" "guix"))
           (debbugs-domain . "debbugs.gnu.org"))))
    (lambda (key)
      (assoc-ref config key))))