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: full support for Typst packages
- 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 fetched from the official Typst packages CDN
After installing Nix and enabling flakes, you can initialize a flake from the default template:
nix flake init --refresh -t github:loqusion/typixAlternatively, you can use a template demonstrating Typst packages usage:
nix flake init --refresh -t 'github:loqusion/typix#with-typst-packages'
Here are some commands you can run from any 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.