Hello, I have finished up the first version of my little Nix overlay. It builds documents, and allows for you to use any package you want, not just ones in Typst Universe.
The main problem I had was using private packages was cumbersome. I came up with a way in #4040, and then just generalized it.
It’s pretty easy to use. First you must apply the overlay to your nixpkgs instance.
This is very convenient for me because that means that rather than pulling in the entire Universe repo, the user can not specify what exactly they would like. So here it is
Changes:
No longer vendor Typst Universe into the nix store for every document
Documents should build much faster now.
[Breaking] Remove unused or deprecated attributes typstPatches, typstUniverse, and universePatches
Add verbose attribute
Controls how verbose the Typst compiler session is
Add nice assert messages
[Breaking] Remove support for all the different datatypes for the extraPackages key.
It used to accept a value, a list, an attributeset of values, and an attribute set of lists. Now it only accepts an attribute set of lists.
See the template for full details, but essentially it looks like this now:
Regressions:
This package does not scan the custom packages pulled in. This means that if you use a custom package that relies on having a Universe package that is not added to typstEnv, compilation will fail. Tracked in #10