Typix
Typix aims to make it easier to use Nix in Typst projects.
- Dependency management: supports arbitrary dependencies including fonts, images, and data
- Reproducible: via a hermetically sealed build environment
- Extensible: fully compatible with Typst packages
Features
- Automatically fetch dependencies and compile in a single command (
nix run .#build
) - Watch input files and recompile on changes (
nix run .#watch
) - Set up a shell environment with all dependencies made available via environment variables and symlinks
- Extensible via
mkTypstDerivation
- Support for dependencies such as fonts, images, and data
Typst packages are not officially supported, however there is a workaround.
Getting Started
After installing Nix and enabling flakes, you can initialize a flake from the default template:
nix flake init -t github:loqusion/typix
Here are some commands you can run from the default template:
nix run .#watch
— watch the input files and recompile on changesnix run .#build
— compile and copy the output to the current directory
For more information, check out the docs.