;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017 Caleb Ristvedt ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix 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 General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (guix config) #:export (%guix-package-name %guix-version %guix-bug-report-address %guix-home-page-url %storedir %localstatedir %sysconfdir %store-directory %state-directory %store-database-directory %config-directory %system %libz %gzip %bzip2 %xz %liblz)) ;;; Commentary: ;;; ;;; Compile-time configuration of Guix. When adding a substitution variable ;;; here, make sure to equip (guix scripts pull) to substitute it. ;;; ;;; Code: (define %guix-package-name "@PACKAGE_NAME@") (define %guix-version "@PACKAGE_VERSION@") (define %guix-bug-report-address "@PACKAGE_BUGREPORT@") (define %guix-home-page-url "@PACKAGE_URL@") (define %storedir "@storedir@") (define %localstatedir "@guix_localstatedir@") (define %sysconfdir "@guix_sysconfdir@") (define %store-directory (or (and=> (getenv "NIX_STORE_DIR") canonicalize-path) %storedir)) (define %state-directory ;; This must match `NIX_STATE_DIR' as defined in `nix/local.mk'. (or (getenv "GUIX_STATE_DIRECTORY") (string-append %localstatedir "/guix"))) (define %store-database-directory (or (getenv "GUIX_DATABASE_DIRECTORY") (string-append %state-directory "/db"))) (define %config-directory ;; This must match `GUIX_CONFIGURATION_DIRECTORY' as defined in `nix/local.mk'. (or (getenv "GUIX_CONFIGURATION_DIRECTORY") (string-append %sysconfdir "/guix"))) (define %system "@guix_system@") (define %libz "@LIBZ@") (define %gzip "@GZIP@") (define %bzip2 "@BZIP2@") (define %xz "@XZ@") (define %liblz ;; TODO: Set this dynamically. ;; "@LIBLZ@" "/gnu/store/8db7vivi8p9mpkbphb8xy8gh2bkwc4iz-lzlib-1.11/lib/liblz") ;;; config.scm ends here