Open mitchmindtree opened 2 years ago
For the case this PR gets merged I have written a flake that extends the current nixpkgs/supercollider wrapper to support Quarks. It fetches the provided Quarks and their dependencies to then generate a sclang_conf.yaml
for each Quark individually and finally pass the paths of those confs to SuperCollider. If two or more Quarks share dependencies, then any matching dependencies are the same object and with that share the same store path. SuperCollider then rules out any duplicate conf paths.
Currently this provides a rudimentary
mkQuark
nix wrapper around SuperCollider Quarks in order to provide them to SuperCollider in a reproducible manner.Support for Quark packaging should be upstreamed to the nixpkgs SuperCollider package. It should also be updated to properly handle a directed graph of packages. The current approach assumes the dependency graph is a tree rather than a DAG and will error in the case that the dependency graph forms a DAG (i.e. in the case that two Quarks share the same dependency).
Should work out how to solve #3 before upstreaming in order to be able to provide declared Quarks to supercollider out of the box.