{
  pkgs,
  typst-within,
  ...
}:
let
  packages = {
    typst-configs = pkgs.fetchFromGitea {
      domain = "forge.katzen.cafe";
      owner = "schrottkatze";
      repo = "typst-configs";
      rev = "9a5bd5256ace2a56de51b89793f191b4eecce1dc"; # :REV:-      rev = "%REV%";-:#
      sha256 = "sha256-E+5fJULNxM0XcbimuENqIJC24ZwPRMSHnG97ncBtEGw="; # :SHA:-      sha256 = "%SHA%";-:#
    };
    flow = pkgs.fetchFromGitHub {
      owner = "MultisampledNight";
      repo = "flow";
      rev = "f5c653c706d80145165ec684b217b803a0246e8c";
      sha256 = "sha256-tXfogxo1DGmsrwjOhF2h+60825P6NVcgQGN6Q1tspZA=";
    };
  };
  mkTypstPath = name: ".local/share/typst/packages/local/${name}/0.1.0";
in
{
  home.file = {
    typst-configs = {
      target = mkTypstPath "typst-configs";
      source = packages.typst-configs;
      recursive = true;
    };
    flow = {
      target = mkTypstPath "flow";
      source = packages.flow;
      recursive = true;
    };
  };
  # home.packages = [typst-within.packages."x86_64-linux".default];
  home.packages = [
    pkgs.typst

    # `typed` dependencies
    pkgs.mupdf
    pkgs.inotify-tools
  ];
}
