The Development Environment

Nedryland uses nix-shell (default.nix) or nix develop (flakes) to provide a development environment for defined components. For this to work, shell.nix in the root of the repository needs to expose the output of project.mkShells.

Working on a component

To start a shell for working on a component called hammond, issue the command

$ nix-shell -A hammond

or if using flakes

$ nix develop .#hammond

This will download and expose all dependencies necessary to work on hammond, change the directory to where hammond is defined and create a new shell session.

Get a Shell with all Components

The special target all (nix-shell -A all/nix develop .#all) will drop you in a shell session with access to all build outputs of the whole project. This can be useful to test a set of components together.