blob: 19e583213d8634091e9a5b026ee33eaa76d648b2 (
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
|
;;; Build Farm Front-End
;;;
;;; Copyright © 2023 Christopher Baines <mail@cbaines.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 (bffe config)
#:use-module (guix store)
#:export (%config))
(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 ((install-dir
"@prefix@/share/bffe/assets")
(dev-dir
(string-append (getcwd) "/assets")))
(if (file-exists? install-dir)
install-dir
dev-dir)))
(template-dir . ,(let ((install-dir
"@prefix@/share/bffe/templates")
(dev-dir
(string-append (getcwd) "/templates")))
(if (file-exists? install-dir)
install-dir
dev-dir))))))
(lambda (key)
(assq-ref config key))))
|