;;; Guix Build Coordinator ;;; ;;; Copyright © 2020 Christopher Baines ;;; ;;; 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 ;;; . (define-module (guix-build-coordinator config) #:use-module (guix store) #:export (%config %show-error-details)) (define %config (let* ((data-dir (let ((install-dir "/var/lib/guix-build-coordinator") (dev-dir (string-append (getcwd) "/data"))) (if (file-exists? install-dir) install-dir dev-dir))) (config `((guix . "@guix@") (data-dir . ,data-dir) (builds-dir . ,(string-append data-dir "/builds")) (build-logs-dir . ,(string-append data-dir "/build-logs")) (sqitch . "@sqitch@") (sqitch-psql . "@psql@") (sqitch-sqlite . "@sqlite3@") (bzip2 . "@bzip2@") (sqitch-plan . ,(let ((installed-plan "@prefix@/share/guix-build-coordinator/sqitch/sqitch.plan") (dev-plan (string-append (getcwd) "/sqitch/sqitch.plan"))) (if (file-exists? installed-plan) installed-plan dev-plan)))))) (lambda (key) (assoc-ref config key)))) (define %show-error-details (make-parameter #f))