-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017 Caleb Ristvedt <caleb.ristvedt@cune.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; 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.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; 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 Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(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
- %libgcrypt
- %nixpkgs
- %nix-instantiate))
+ %libz
+ %liblz
+ %gzip
+ %bzip2
+ %xz))
;;; Commentary:
;;;
-;;; Compile-time configuration of Guix.
+;;; Compile-time configuration of Guix. When adding a substitution variable
+;;; here, make sure to equip (guix scripts pull) to substitute it.
;;;
;;; Code:
(define %guix-bug-report-address
"@PACKAGE_BUGREPORT@")
-(define %store-directory
+(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 `daemon.am'.
- "@guix_localstatedir@/nix")
+ ;; 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 %libgcrypt
- "@LIBGCRYPT@")
+(define %libz
+ "@LIBZ@")
+
+(define %liblz
+ "@LIBLZ@")
+
+(define %gzip
+ "@GZIP@")
-(define %nixpkgs
- (if (string=? "@NIXPKGS@" "")
- #f
- "@NIXPKGS@"))
+(define %bzip2
+ "@BZIP2@")
-(define %nix-instantiate
- "@NIX_INSTANTIATE@")
+(define %xz
+ "@XZ@")
;;; config.scm ends here