diff options
Diffstat (limited to 'bffe/config.scm.in')
-rw-r--r-- | bffe/config.scm.in | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bffe/config.scm.in b/bffe/config.scm.in new file mode 100644 index 0000000..d897a87 --- /dev/null +++ b/bffe/config.scm.in @@ -0,0 +1,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/guix-data-service/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)))) |