Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/loqusion/typix
Deterministic Typst compilation with Nix
https://github.com/loqusion/typix
nix typst
Last synced: 6 days ago
JSON representation
Deterministic Typst compilation with Nix
- Host: GitHub
- URL: https://github.com/loqusion/typix
- Owner: loqusion
- License: mit
- Created: 2023-12-24T03:37:43.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-10-31T01:16:52.000Z (8 days ago)
- Last Synced: 2024-10-31T02:19:39.047Z (8 days ago)
- Topics: nix, typst
- Language: Nix
- Homepage: https://loqusion.github.io/typix/
- Size: 632 KB
- Stars: 97
- Watchers: 5
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-typst - Typix - Deterministic Typst compilation with Nix (Integrations & Tools / Programming)
README
TypixTypix aims to make it easier to use [Nix](https://nixos.org/) in
[Typst](https://github.com/typst/typst) projects.- **Dependency management**: supports arbitrary dependencies including fonts,
images, and data
- **Reproducible**: via a hermetically sealed build environment## 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`](https://loqusion.github.io/typix/api/derivations/mk-typst-derivation.html)
- Support for dependencies such as:
- [fonts](https://typst.app/docs/reference/text/text/#parameters-font)
- [images](https://typst.app/docs/reference/visualize/image/)
- [data](https://typst.app/docs/reference/data-loading/)[Typst packages](https://typst.app/docs/packages/) are currently unsupported,
however there is a
[workaround](https://loqusion.github.io/typix/recipes/using-typst-packages.html).## Getting Started
After [installing Nix](https://github.com/DeterminateSystems/nix-installer) and
[enabling
flakes](https://nixos.wiki/wiki/Flakes#Enable_flakes_permanently_in_NixOS), you
can initialize a flake from the default template:```bash
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 changes
- `nix run .#build` — compile and copy the output to the current directory---
For more information, check out [the docs](https://loqusion.github.io/typix/).