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