Title: How to hack on Nix and try your changes Author: Solène Date: 19 August 2022 Tags: nix development nixos Description: This article explains how to make changes to the nix program and how to use it locally # Introduction Not obvious development process is hard to document. I wanted to make changes to the nix program, but I didn't know how to try them. Fortunately, a coworker explained to me the process, and here it is! (HTM) The nix project GitHub page # Get the sources and compile First, you need to get the sources of the project, and compile it in some way to run it from the project directory: ```shell git clone https://github.com/NixOS/nix/ cd nix nix-shell ./bootstrap.sh ./configure --prefix=$PWD make ``` # Run the nix daemon In order to try nix, we need to stop nix-daemon.service, but also stop nix-daemon.socket to prevent it to restart the nix-daemon. ```shell systemctl stop nix-daemon.socket systemctl stop nix-daemon.service ``` Now, when you want your nix-daemon to work, just run this command from the project directory: ```shell sudo bin/nix --extra-experimental-features nix-command daemon ``` Note this command doesn't fork on background. If you need some settings in the nix.conf file, you have to create etc/nix/nix.conf relative to the project directory. # Restart the nix-daemon Once you are done with the development, exit your running daemon and restart the service and socket. ```shell systemctl start nix-daemon.socket systemctl start nix-daemon.service ```