diff options
author | Christopher Baines <mail@cbaines.net> | 2023-06-02 16:28:13 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-06-02 16:28:13 +0100 |
commit | f8cbed79d32542756f9ca24a8ea889bd75207c97 (patch) | |
tree | 51d32b2747d37020946ace2001b4861689a57ee2 | |
parent | 2a2a6a5db25d167ee3b915dd5f5143421c11e39b (diff) | |
download | bffe-f8cbed79d32542756f9ca24a8ea889bd75207c97.tar bffe-f8cbed79d32542756f9ca24a8ea889bd75207c97.tar.gz |
Add config.scm
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | bffe/config.scm.in | 42 | ||||
-rw-r--r-- | configure.ac | 1 |
4 files changed, 45 insertions, 0 deletions
@@ -11,6 +11,7 @@ build-aux/install-sh build-aux/missing scripts/bffe +bffe/config.scm pre-inst-env .local.envrc diff --git a/Makefile.am b/Makefile.am index 0bbeb9e..ff9fdad 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,6 +28,7 @@ godir = $(prefix)/lib/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache assetsdir = $(datadir)/@PACKAGE@ SOURCES = \ + bffe/config.scm \ bffe/server.scm \ bffe/view/util.scm \ bffe/view/home.scm \ 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)))) diff --git a/configure.ac b/configure.ac index c660bc0..6b5f15d 100644 --- a/configure.ac +++ b/configure.ac @@ -29,6 +29,7 @@ AC_PATH_PROG([guix], [guix]) dnl Substitute placeholders to generate these target files AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([bffe/config.scm]) AC_CONFIG_FILES([scripts/bffe], [chmod +x scripts/bffe]) AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env]) |