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
       ```