gnu: Add r-flowsom.
[jackhill/guix/guix.git] / guix / config.scm.in
index c5ebd39..0ada0f3 100644 (file)
@@ -1,35 +1,48 @@
-;;; 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