Sygaldry
|
Copyright 2023 Travis J. West, https://traviswest.ca, Input Devices and Music Interaction Laboratory (IDMIL), Centre for Interdisciplinary Research in Music Media and Technology (CIRMMT), McGill University, Montréal, Canada, and Univ. Lille, Inria, CNRS, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
SPDX-License-Identifier: MIT
This document describes how the nix shell build environment is prepared.
We have three nix expressions. The first one packages lili
so that you don't have to manually install it. This is fairly trivial using the standard builder from nixpkgs.stdenv
:
We then provide an overlay that allows us to make our lili
package available as an extension of nixpkgs
.
Finally, we can define our shell by importing a pinned version of nixpkgs
, overlaying our lili
package, and declaring our dependencies. We favor controlling dependencies via Nix, but note that several dependencies are also included as git submodules in the dependencies
subdirectory.
Notice that the shell hook is used to create the directory nixenv
and export the environment variable SYGALDRY_ROOT
. These are used extensively by convenience scripts, as well as the CMake build automation.