blob: 9941fcab4e21a32c239efd4df430c5426bb706f3 (
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
|
;;; Guix Data Service -- Information about Guix over time
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 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 (guix-data-service config)
#:use-module (guix store)
#:export (%config
assets-dir-in-store?))
(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/guix-data-service/assets")
(dev-dir
(string-append (getcwd) "/assets")))
(if (file-exists? install-dir)
install-dir
dev-dir)))
(doc-dir . ,(let ((install-dir
"@prefix@/share/doc/guix-data-service")
(dev-dir
(getcwd)))
(if (file-exists? install-dir)
install-dir
dev-dir)))
(dumps-dir . ,(let ((install-dir
"/var/lib/guix-data-service/dumps")
(dev-dir
(string-append (getcwd) "/dumps")))
(if (file-exists? install-dir)
install-dir
dev-dir)))
(host . "localhost")
(port . 8765)
(guix . "@guix@")
(sqitch . "@sqitch@")
(sqitch-psql . "@psql@")
(sqitch-plan . ,(let ((installed-plan
"@prefix@/share/guix-data-service/sqitch/sqitch.plan")
(dev-plan
(string-append (getcwd) "/sqitch/sqitch.plan")))
(if (file-exists? installed-plan)
installed-plan
dev-plan)))
(database-user . "guix_data_service")
(database-host . "localhost")
(database-name . "guix_data_service"))))
(lambda (key)
(assoc-ref config key))))
(define assets-dir-in-store?
(string-prefix? (%store-prefix)
(%config 'assets-dir)))
|