loqusion/typix

Deterministic Typst compilation with Nix

Nix

326

447 commits

updated Sep 22, 2026

See the code

README

Typix Logo
Typix

FlakeHub version

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

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 fetched from the official Typst packages CDN

Getting Started

After installing Nix and enabling flakes, you can initialize a flake from the default template:

nix flake init --refresh -t github:loqusion/typix

Alternatively, 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 changes
  • nix run .#build — compile and copy the output to the current directory

For more information, check out the docs.

nix
typst

Contributors

loqusion

441 commits

haruki7049

1 commits

johnyob

1 commits

loqusion/typix

Deterministic Typst compilation with Nix

Nix

326

447 commits

updated Sep 22, 2026

See the code

README

Typix Logo
Typix

FlakeHub version

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

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 fetched from the official Typst packages CDN

Getting Started

After installing Nix and enabling flakes, you can initialize a flake from the default template:

nix flake init --refresh -t github:loqusion/typix

Alternatively, 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 changes
  • nix run .#build — compile and copy the output to the current directory

For more information, check out the docs.

nix
typst

Contributors

loqusion

441 commits

haruki7049

1 commits

johnyob

1 commits

Languages

Nix

87.3%

Python

7.6%

Typst

2.3%

Shell

1.3%

TeX

1.3%