aboutsummaryrefslogtreecommitdiff
path: root/tests/config.sh
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2020-03-30 15:31:14 +0200
committerzimbatm <zimbatm@zimbatm.com>2020-04-14 18:45:06 +0200
commit895516cadf0739dd8359a38d503e0aaf5068dc4b (patch)
tree7ba6876161f27c1dae6cca0922a8b9c0d6b11144 /tests/config.sh
parent3abf6d03c611417b309fdedf4323c08e6afbcd9c (diff)
add NIX_USER_CONF_FILES
Motivation: maintain project-level configuration files. Document the whole situation a bit better so that it corresponds to the implementation, and add NIX_USER_CONF_FILES that allows overriding which user files Nix will load during startup.
Diffstat (limited to 'tests/config.sh')
-rw-r--r--tests/config.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/config.sh b/tests/config.sh
new file mode 100644
index 000000000..8fa349f11
--- /dev/null
+++ b/tests/config.sh
@@ -0,0 +1,18 @@
+source common.sh
+
+# Test that files are loaded from XDG by default
+export XDG_CONFIG_HOME=/tmp/home
+export XDG_CONFIG_DIRS=/tmp/dir1:/tmp/dir2
+files=$(nix-build --verbose --version | grep "User config" | cut -d ':' -f2- | xargs)
+[[ $files == "/tmp/home/nix/nix.conf:/tmp/dir1/nix/nix.conf:/tmp/dir2/nix/nix.conf" ]]
+
+# Test that setting NIX_USER_CONF_FILES overrides all the default user config files
+export NIX_USER_CONF_FILES=/tmp/file1.conf:/tmp/file2.conf
+files=$(nix-build --verbose --version | grep "User config" | cut -d ':' -f2- | xargs)
+[[ $files == "/tmp/file1.conf:/tmp/file2.conf" ]]
+
+# Test that it's possible to load the config from a custom location
+here=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
+export NIX_USER_CONF_FILES=$here/config/nix-with-substituters.conf
+var=$(nix show-config | grep '^substituters =' | cut -d '=' -f 2 | xargs)
+[[ $var == https://example.com ]]