Digging into Nix

I’ve heard good things about Nix. It’s time to take it for a spin.

abramowi at marcs-mbp-3 in ~
$ curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

info: downloading installer https://install.determinate.systems/nix/tag/v3.8.2/nix-installer-aarch64-darwin
 INFO nix-installer v3.8.2
`nix-installer` needs to run as `root`, attempting to escalate now via `sudo`...
Password:
 INFO nix-installer v3.8.2
 INFO For a more robust Nix installation, use the Determinate package for macOS: https://dtr.mn/determinate-nix

Install Determinate Nix?

Determinate Nix is tested and ready for macOS Tahoe when you are. Selecting ‘no’ will install Nix from NixOS.

Proceed? ([Y]es/[n]o/[e]xplain):
Nix install plan (v3.8.2)
Planner: macos

Configured settings:
* determinate_nix: true

Planned actions:
* Install Determinate Nixd
* Create an encrypted APFS volume `Nix Store` for Nix on `disk3` and add it to `/etc/fstab` mounting on `/nix`
* Extract the bundled Nix (originally from /nix/store/3knq40gvqd48hfi0n4mv57lx2zx09131-nix-binary-tarball-3.8.2/nix-3.8.2-aarch64-darwin.tar.xz) to `/nix/temp-install-dir`
* Create a directory tree in `/nix`
* Synchronize /nix/var ownership
* Move the downloaded Nix into `/nix`
* Synchronize /nix/store ownership
* Create build users (UID 351-382) and group (GID 350)
* Configure Time Machine exclusions
* Setup the default Nix profile
* Place the Nix configuration in `/etc/nix/nix.conf`
* Configure the shell profiles
* Configuring zsh to support using Nix in non-interactive shells
* Create a `launchctl` plist to put Nix into your PATH
* Configure the Determinate Nix daemon
* Remove directory `/nix/temp-install-dir`


Proceed? ([Y]es/[n]o/[e]xplain):
 INFO Step: Install Determinate Nixd
 INFO Step: Create an encrypted APFS volume `Nix Store` for Nix on `disk3` and add it to `/etc/fstab` mounting on `/nix`
 INFO Step: Provision Nix
 INFO Step: Create build users (UID 351-382) and group (GID 350)
 INFO Step: Configure Time Machine exclusions
 INFO Step: Configure Nix
 INFO Step: Configuring zsh to support using Nix in non-interactive shells
 INFO Step: Create a `launchctl` plist to put Nix into your PATH
 INFO Step: Configure the Determinate Nix daemon
 INFO Step: Remove directory `/nix/temp-install-dir`
Nix was installed successfully!
To get started using Nix, open a new shell or run `. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh`

and way we go…

Now what do we have available…?

abramowi at marcs-mbp-3 in ~
$ nix-shell --version
nix-shell (Determinate Nix 3.8.2) 2.30.1


abramowi at marcs-mbp-3 in ~
$ nix-shell
error: no argument specified and no 'shell.nix' or 'default.nix' file found in the working directory

Cool. So I have Nix installed and the next step is to find or create a shell.nix file so that I can play with nix-shell

Leave a Reply

Your email address will not be published. Required fields are marked *