2021-12-10 09:48:34 -05:00
|
|
|
(install-nix)=
|
|
|
|
|
|
|
|
# Install Nix
|
|
|
|
|
|
|
|
## Linux
|
|
|
|
|
2022-12-04 03:16:32 -05:00
|
|
|
Install Nix via the recommended [multi-user installation]:
|
2021-12-10 09:48:34 -05:00
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
|
|
|
$ sh <(curl -L https://nixos.org/nix/install) --daemon
|
2021-12-10 09:48:34 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
:::{note}
|
|
|
|
For security you may want to [verify the installation script] using GPG signatures.
|
|
|
|
:::
|
|
|
|
|
|
|
|
## macOS
|
|
|
|
|
2022-12-04 03:16:32 -05:00
|
|
|
Install Nix via the recommended [multi-user installation]:
|
2021-12-10 09:48:34 -05:00
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
|
|
|
$ sh <(curl -L https://nixos.org/nix/install)
|
2021-12-10 09:48:34 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
:::{note}
|
|
|
|
For security you may want to [verify the installation script] using GPG signatures.
|
|
|
|
:::
|
|
|
|
|
|
|
|
## Windows (WSL2)
|
|
|
|
|
2022-12-04 03:16:32 -05:00
|
|
|
Install Nix via the recommended [single-user installation]:
|
2021-12-10 09:48:34 -05:00
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
|
|
|
$ sh <(curl -L https://nixos.org/nix/install) --no-daemon
|
2021-12-10 09:48:34 -05:00
|
|
|
```
|
|
|
|
|
2022-12-04 03:16:32 -05:00
|
|
|
However, if you have [systemd support] enabled, install Nix via the recommended [multi-user installation]:
|
|
|
|
|
|
|
|
```shell-session
|
|
|
|
$ sh <(curl -L https://nixos.org/nix/install) --daemon
|
|
|
|
```
|
|
|
|
|
2021-12-10 09:48:34 -05:00
|
|
|
:::{note}
|
|
|
|
For security you may want to [verify the installation script] using GPG signatures.
|
|
|
|
:::
|
|
|
|
|
2022-12-04 03:16:32 -05:00
|
|
|
[systemd support]: https://learn.microsoft.com/en-us/windows/wsl/wsl-config#systemd-support
|
|
|
|
|
2021-12-10 09:48:34 -05:00
|
|
|
## Docker
|
|
|
|
|
|
|
|
Start a Docker shell with Nix:
|
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
2021-12-10 09:48:34 -05:00
|
|
|
$ docker run -it nixos/nix
|
|
|
|
```
|
|
|
|
|
|
|
|
Or start a Docker shell with Nix exposing a `workdir` directory:
|
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
2021-12-10 09:48:34 -05:00
|
|
|
$ mkdir workdir
|
|
|
|
$ docker run -it -v $(pwd)/workdir:/workdir nixos/nix
|
|
|
|
```
|
|
|
|
|
2022-09-26 07:19:18 -04:00
|
|
|
The `workdir` example from above can be also used to start hacking on Nixpkgs:
|
2021-12-10 09:48:34 -05:00
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
2021-12-10 09:48:34 -05:00
|
|
|
$ git clone git@github.com:NixOS/nixpkgs
|
|
|
|
$ docker run -it -v $(pwd)/nixpkgs:/nixpkgs nixos/nix
|
2022-11-08 11:37:41 -05:00
|
|
|
bash-5.1# nix-build -I nixpkgs=/nixpkgs -A hello
|
|
|
|
bash-5.1# find ./result # this symlink points to the build package
|
2021-12-10 09:48:34 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
## Verify installation
|
|
|
|
|
2022-09-26 07:19:18 -04:00
|
|
|
Check the installation by opening **a new terminal** and typing:
|
2021-12-10 09:48:34 -05:00
|
|
|
|
2022-11-08 11:37:41 -05:00
|
|
|
```shell-session
|
2022-09-01 03:52:46 -04:00
|
|
|
$ nix --version
|
|
|
|
nix (Nix) 2.11.0
|
2021-12-10 09:48:34 -05:00
|
|
|
```
|
|
|
|
|
2022-12-04 03:16:32 -05:00
|
|
|
[multi-user installation]: https://nixos.org/manual/nix/stable/installation/multi-user.html
|
|
|
|
[single-user installation]: https://nixos.org/manual/nix/stable/installation/single-user.html
|
2021-12-10 09:48:34 -05:00
|
|
|
[verify the installation script]: https://nixos.org/download.html#nix-verify-installation
|