Awesome
<h1 align="center"> <img src="https://raw.githubusercontent.com/loqusion/typix/main/.github/assets/logo_1544x1544.png" alt="Typix Logo" width="150" /><br /> Typix </h1> <p align="center"> <a href="https://flakehub.com/flake/loqusion/typix"> <img src="https://img.shields.io/endpoint?style=for-the-badge&color=95b6f9&labelColor=302D41&url=https://flakehub.com/f/loqusion/typix/badge" alt="FlakeHub version" ></a> </p>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.