diff options
-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]) |