# Install typst with Homebrew, apk, MacPorts, Nix, pacman, zypper, scoop, winget

Markup-based typesetting system. Version 0.15.1 via Homebrew; verified 2026-07-17. Also installable with nix: nix profile install nixpkgs#typst.

## Install

```sh
sudo av install brew:typst
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install typst
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install typst
```

  Evidence: MacPorts ports tree: textproc/typst/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add typst
```

  Evidence: Alpine Linux edge package indexes: typst from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#typst
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ty/typst/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S typst
```

  Evidence: Arch Linux sync databases: typst from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install typst
```

  Evidence: openSUSE Tumbleweed package metadata: typst from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/typst
```

  Evidence: Scoop official bucket manifest trees: bucket/typst.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id Typst.Typst -e
```

  Evidence: Windows Package Manager source index: Typst.Typst from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:typst
- **Package manager:** Homebrew
- **Version:** 0.15.1
- **Source summary:** Markup-based typesetting system
- **Homepage:** <https://typst.app/>
- **Repository:** <https://github.com/typst/typst>
- **Last updated:** 2026-07-17T13:00:06Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- typst (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.15.1
## Project history and usage

Typst is a markup-based typesetting system and local CLI for compiling documents to PDF and other outputs. In package-manager culture it sits in the same practical niche as TeX engines, Pandoc-adjacent document tools, and reproducible document-build chains, but with a newer language, integrated scripting, fast incremental compilation, and an official online editor.

### Project history

The public Typst compiler repository was created in September 2019. The official README describes Typst as a markup-based typesetting system intended to be as powerful as LaTeX while being easier to learn and use, with built-in markup, scripting, math typesetting, bibliography management, and incremental compilation.

Typst opened its public beta and made the compiler open source on March 21, 2023, after a closed preview period. The launch post positioned the compiler as the foundation of the web app and emphasized that open sourcing it meant users could always compile their documents locally.

The 0.1.0 changelog followed on April 4, 2023 and already treated the command-line interface as a first-class surface, documenting `typst compile`, `typst watch`, `typst fonts`, error exit behavior, standard output/input improvements, and direct PDF opening. By 0.15.0 in June 2026, the official changelog covered language, compiler, CLI, HTML, PDF, SVG, PNG, bundle export, fonts, and migration changes.

### Adoption history

Typst's adoption path combined a hosted collaborative editor with a standalone open-source compiler. The README points users to official release binaries, `typst update`, Homebrew, winget, Cargo, Nix, Docker, and Repology-tracked distribution packages; the batch package facts also show packaging across Homebrew, MacPorts, Nix, Arch, Scoop, winget, apk, and openSUSE-related metadata.

For package users, the important adoption milestone was not only that Typst existed as a web app, but that the compiler became a normal local executable. That let editors, CI jobs, document templates, and package managers standardize on `typst compile` and `typst watch` without depending on the hosted service.

### How it is used

Typical local use is to run `typst compile file.typ` to produce a PDF, or `typst watch file.typ` during editing for incremental recompilation. The README also documents font discovery, custom font paths, environment-variable font paths, and the `typst fonts` command, all of which matter for reproducible builds.

In the package-nerd niche, Typst is often treated as a build tool: install the compiler with the system package manager, pin it in Nix or CI, compile `.typ` sources, and optionally use the Typst Universe ecosystem for templates and packages.

### Why package nerds care

Typst matters to package maintainers because it is a young document tool that quickly acquired the distribution surface of an established CLI: official binaries, Rust crates, Homebrew, winget, Nix, containers, and distro packages. It also created a small ecosystem of adjacent tools, including formatters, language-server integrations, GitHub Actions, and template/package distribution.

### Timeline

- 2019: Public typst/typst GitHub repository created.
- 2023-03-21: Typst public beta launched and the compiler was open-sourced.
- 2023-04-04: Typst 0.1.0 changelog documented the new subcommand-based CLI.
- 2026-06-15: Typst 0.15.0 released with broader export, CLI, language, and migration changes.

### Related projects

- LaTeX is the main historical comparison point named by Typst's README.
- Tinymist is the community language-server/editor integration named by the Typst README.
- Typstyle is an adjacent formatter for Typst source code.

### Sources

- <https://api.github.com/repos/typst/typst>
- <https://github.com/typst/typst>
- <https://typst.app/blog/2023/beta-oss-launch/>
- <https://typst.app/docs/changelog/0.1.0/>
- <https://typst.app/docs/changelog/0.15.0/>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - typst: normalized package name match | nixpkgs package indexes: pkgs/by-name/ty/typst/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - typst - 0.15.1-r0: normalized package name match | Alpine Linux edge package indexes: typst from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | New markup-based typesetting system that is powerful and easy to learn | https://github.com/typst/typst
- apk - typst-bash-completion - 0.15.1-r0: normalized package name match | Alpine Linux edge package indexes: typst-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for typst | https://github.com/typst/typst
- apk - typst-doc - 0.15.1-r0: normalized package name match | Alpine Linux edge package indexes: typst-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | New markup-based typesetting system that is powerful and easy to learn (documentation) | https://github.com/typst/typst
- apk - typst-fish-completion - 0.15.1-r0: normalized package name match | Alpine Linux edge package indexes: typst-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for typst | https://github.com/typst/typst
- apk - typst-zsh-completion - 0.15.1-r0: normalized package name match | Alpine Linux edge package indexes: typst-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for typst | https://github.com/typst/typst
- pacman - typst - 1:0.15.1-2: normalized package name match | Arch Linux sync databases: typst from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A markup-based typesetting system for the sciences | https://typst.app
- zypper - hayagriva - 0.15.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: hayagriva from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Standalone CLI of built-in bibliography management tool | https://github.com/typst/typst
- zypper - typst - 0.15.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: typst from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | A new markup-based typesetting system that is powerful and easy to learn | https://github.com/typst/typst
- zypper - typst-bash-completion - 0.15.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: typst-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Bash Completion for typst | https://github.com/typst/typst
- zypper - typst-fish-completion - 0.15.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: typst-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Fish Completion for typst | https://github.com/typst/typst
- zypper - typst-zsh-completion - 0.15.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: typst-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Zsh Completion for typst | https://github.com/typst/typst
- MacPorts - typst: normalized package name match | MacPorts ports tree: textproc/typst/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/typst: normalized package name match | Scoop official bucket manifest trees: bucket/typst.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - Typst.Typst: normalized package name match | Windows Package Manager source index: Typst.Typst from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/typst.yml](https://github.com/mxcl/pkgdb/blob/main/combined/typst.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
