aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/command-ref/conf-file-prefix.md
blob: 9987393d2279ac7d15d7d7ed2ff19524b81c014d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Name

`nix.conf` - Nix configuration file

# Description

By default Nix reads settings from the following places:

  - The system-wide configuration file `sysconfdir/nix/nix.conf` (i.e.
    `/etc/nix/nix.conf` on most systems), or `$NIX_CONF_DIR/nix.conf` if
    `NIX_CONF_DIR` is set. Values loaded in this file are not forwarded
    to the Nix daemon. The client assumes that the daemon has already
    loaded them.

  - If `NIX_USER_CONF_FILES` is set, then each path separated by `:`
    will be loaded in reverse order.

    Otherwise it will look for `nix/nix.conf` files in `XDG_CONFIG_DIRS`
    and `XDG_CONFIG_HOME`. If these are unset, it will look in
    `$HOME/.config/nix.conf`.

The configuration files consist of `name =
value` pairs, one per line. Other files can be included with a line like
`include
path`, where *path* is interpreted relative to the current conf file and
a missing file is an error unless `!include` is used instead. Comments
start with a `#` character. Here is an example configuration file:

    keep-outputs = true       # Nice for developers
    keep-derivations = true   # Idem

You can override settings on the command line using the `--option` flag,
e.g. `--option keep-outputs
false`.

The following settings are currently available: