lix/doc/manual/src/installation/env-variables.md

65 lines
2.1 KiB
Markdown
Raw Normal View History

2020-07-22 21:17:48 +00:00
# Environment Variables
To use Nix, some environment variables should be set. In particular,
2020-07-23 08:44:54 +00:00
`PATH` should contain the directories `prefix/bin` and
2020-07-22 21:17:48 +00:00
`~/.nix-profile/bin`. The first directory contains the Nix tools
themselves, while `~/.nix-profile` is a symbolic link to the current
*user environment* (an automatically generated package consisting of
symlinks to installed packages). The simplest way to set the required
environment variables is to include the file
`prefix/etc/profile.d/nix.sh` in your `~/.profile` (or similar), like
this:
2020-07-31 13:43:25 +00:00
```bash
source prefix/etc/profile.d/nix.sh
```
2020-07-22 21:17:48 +00:00
2020-07-23 08:44:54 +00:00
# `NIX_SSL_CERT_FILE`
2020-07-22 21:17:48 +00:00
If you need to specify a custom certificate bundle to account for an
HTTPS-intercepting man in the middle proxy, you must specify the path to
2020-07-23 08:44:54 +00:00
the certificate bundle in the environment variable `NIX_SSL_CERT_FILE`.
2020-07-22 21:17:48 +00:00
2020-07-23 08:44:54 +00:00
If you don't specify a `NIX_SSL_CERT_FILE` manually, Nix will install
2020-07-22 21:17:48 +00:00
and use its own certificate bundle.
Set the environment variable and install Nix
2020-07-31 13:43:25 +00:00
```console
$ export NIX_SSL_CERT_FILE=/etc/ssl/my-certificate-bundle.crt
$ sh <(curl -L https://nixos.org/nix/install)
```
2020-07-22 21:17:48 +00:00
In the shell profile and rc files (for example, `/etc/bashrc`,
`/etc/zshrc`), add the following line:
2020-07-31 13:43:25 +00:00
```bash
export NIX_SSL_CERT_FILE=/etc/ssl/my-certificate-bundle.crt
```
2020-07-22 21:17:48 +00:00
> **Note**
>
> You must not add the export and then do the install, as the Nix
> installer will detect the presense of Nix configuration, and abort.
2020-07-23 08:44:54 +00:00
## `NIX_SSL_CERT_FILE` with macOS and the Nix daemon
2020-07-22 21:17:48 +00:00
On macOS you must specify the environment variable for the Nix daemon
service, then restart it:
2020-07-31 13:43:25 +00:00
```console
$ sudo launchctl setenv NIX_SSL_CERT_FILE /etc/ssl/my-certificate-bundle.crt
$ sudo launchctl kickstart -k system/org.nixos.nix-daemon
```
2020-07-22 21:17:48 +00:00
## Proxy Environment Variables
The Nix installer has special handling for these proxy-related
environment variables: `http_proxy`, `https_proxy`, `ftp_proxy`,
`no_proxy`, `HTTP_PROXY`, `HTTPS_PROXY`, `FTP_PROXY`, `NO_PROXY`.
If any of these variables are set when running the Nix installer, then
the installer will create an override file at
`/etc/systemd/system/nix-daemon.service.d/override.conf` so `nix-daemon`
will use them.