Nix Cookbook

From NixOS Wiki
Revision as of 19:52, 6 October 2017 by imported>Ixxie (Seeded Nix Cookbook page with material imported for the Nix Package Manager article.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Alternative Install Methods

nix-user-chroot

nix-user-chroot will create an environment, in which you can bind mount an directory to /nix. The mountpoint will be only visible within this environment.

nix-user-chroot can be build the following way. This assumes a c compiler and make is installed.

$ git clone https://github.com/lethalman/nix-user-chroot.git
$ cd nix-user-chroot
$ make

The last step created an executable called nix-user-chroot.

nix-user-chroot can be used to install nix. In this example the nix store will be installed to ~/.nix:

$ mkdir -m 0755 ~/.nix
$ ./nix-user-chroot/nix-user-chroot ~/.nix bash

This will start a new shell in which you can run the install script of nix:

$ curl https://nixos.org/nix/install | sh

Note that you can only use nix and the installed programs within the shell started by nix-user-chroot.

PRoot

Precompiled PRoot binaries can be downloaded from here

The following commands will install nix the nix store to ~/.nix

$ chmod +x proot_5.1.1_x86_64_rc2--no-seccomp # first make sure the executable bit is set on the binary
$ mkdir ~/.nix
$ ./proot_5.1.1_x86_64_rc2--no-seccomp ~/.nix

This will start a new shell, where nix can be installed:

$ curl https://nixos.org/nix/install | sh

Note that you can only use nix and the installed programs within the shell started by PRoot.