aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-02-01 20:53:14 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-02-01 20:53:14 +0000
commit2e6bf723e4d63d661d26443a4477a040a96c7257 (patch)
treedee35ee1dd887c89ca9772ea0ff06a957a366e03
parent9f6835c2829310f3c58abb39002a4a580e3ae35e (diff)
* Added a global configuration file (/nix/etc/nix/nix.conf). It
contains options for the garbage collector right now, but other stuff can be added here later.
-rw-r--r--Makefile.am8
-rw-r--r--nix.conf.example30
2 files changed, 37 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 7e386f84c..f50351b05 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,6 @@
SUBDIRS = externals src scripts corepkgs doc misc tests
-EXTRA_DIST = substitute.mk nix.spec nix.spec.in bootstrap.sh svn-revision
+EXTRA_DIST = substitute.mk nix.spec nix.spec.in bootstrap.sh \
+ svn-revision nix.conf.example
include ./substitute.mk
@@ -12,6 +13,11 @@ relname:
echo -n $(distdir) > relname
install-data-local: init-state
+ $(INSTALL) -d $(DESTDIR)$(sysconfdir)/nix
+ $(INSTALL_DATA) nix.conf.example $(DESTDIR)$(sysconfdir)/nix
+ if ! test -e $(DESTDIR)$(sysconfdir)/nix/nix.conf; then \
+ $(INSTALL_DATA) nix.conf.example $(DESTDIR)$(sysconfdir)/nix/nix.conf; \
+ fi
if INIT_STATE
if SETUID_HACK
diff --git a/nix.conf.example b/nix.conf.example
new file mode 100644
index 000000000..1af5df952
--- /dev/null
+++ b/nix.conf.example
@@ -0,0 +1,30 @@
+### Option `gc-keep-outputs'
+#
+# If `true', the garbage collector will keep the outputs of
+# non-garbage derivations. If `false' (default), outputs will be
+# deleted unless they are GC roots themselves (or reachable from other
+# roots).
+#
+# In general, outputs must be registered as roots separately.
+# However, even if the output of a derivation is registered as a root,
+# the collector will still delete store paths that are used only a
+# build time (e.g., the C compiler, or source tarballs downloaded from
+# the network). To prevent it from doing so, set this option to
+# `true'.
+gc-keep-outputs = false
+
+
+### Option `gc-keep-derivations'
+#
+# If `true' (default), the garbage collector will keep the derivations
+# from which non-garbage store paths were built. If `false', they
+# will be deleted unless explicitly registered as a root (or reachable
+# from other roots).
+#
+# Keeping derivation around is useful for querying and traceability
+# (e.g., it allows you to ask with what dependencies or options a
+# store path was built), so by default this option is on. Turn it off
+# to safe a bit of disk space (or a lot if `gc-keep-outputs' is also
+# turned on).
+gc-keep-derivations = true
+