diff options
| -rw-r--r-- | mod/tools/typst/default.nix | 33 | ||||
| -rw-r--r-- | mod/tools/typst/packages/tmu/template.typ | 37 | ||||
| -rw-r--r-- | mod/tools/typst/packages/tmu/typst.toml | 7 | ||||
| l--------- | mod/tools/typst/result | 1 | ||||
| -rw-r--r-- | mod/users/kle/default.nix | 5 |
5 files changed, 83 insertions, 0 deletions
diff --git a/mod/tools/typst/default.nix b/mod/tools/typst/default.nix new file mode 100644 index 0000000..3f81658 --- /dev/null +++ b/mod/tools/typst/default.nix @@ -0,0 +1,33 @@ +{ pkgs, ... }: +let + version = "0.0.0"; + + depotPackages = pkgs.stdenvNoCC.mkDerivation { + pname = "depot-typst-packages"; + inherit version; + src = ./packages; + phases = [ "installPhase" ]; + + installPhase = '' + for pkg in $src/*; do + name=$(basename $pkg) + mkdir -p $out/share/typst/packages/depot/$name/${version} + cp -rv $pkg/* $out/share/typst/packages/depot/$name/${version}/ + done + ''; + }; +in +{ + inherit depotPackages; + + writeEnv = pkgs.mkShellNoCC { + packages = [ + pkgs.typst + pkgs.typstyle + pkgs.tinymist + depotPackages + ]; + + shellHook = "export XDG_DATA_HOME=${depotPackages}/share:$XDG_DATA_HOME"; + }; +} diff --git a/mod/tools/typst/packages/tmu/template.typ b/mod/tools/typst/packages/tmu/template.typ new file mode 100644 index 0000000..721e7b6 --- /dev/null +++ b/mod/tools/typst/packages/tmu/template.typ @@ -0,0 +1,37 @@ +#let report( + title: [], + course: [], + semester: [], + authors: (), + doc, +) = { + set page( + paper: "us-letter", + margin: 1.5in, + numbering: "1", + header: align(horizon, strong(course + h(1fr) + semester)), + ) + + set align(center) + text(18pt, strong(title)) + linebreak() + text(12pt, "Toronto Metropolitan University") + + v(24pt) + + grid( + columns: (1fr,) * calc.min(authors.len(), 4), + row-gutter: 12pt, + ..authors.map(a => [ + #a.name \ + #a.id \ + #link("mailto:" + a.email) + ]) + ) + + set align(left) + set par(justify: true) + v(24pt) + + doc +} diff --git a/mod/tools/typst/packages/tmu/typst.toml b/mod/tools/typst/packages/tmu/typst.toml new file mode 100644 index 0000000..caf96d7 --- /dev/null +++ b/mod/tools/typst/packages/tmu/typst.toml @@ -0,0 +1,7 @@ +[package] +name = "tmu" +version = "0.0.0" +entrypoint = "template.typ" +authors = ["Kleidi Bujari"] +license = "MIT" +description = "TMU engineering report template" diff --git a/mod/tools/typst/result b/mod/tools/typst/result new file mode 120000 index 0000000..46daada --- /dev/null +++ b/mod/tools/typst/result @@ -0,0 +1 @@ +/nix/store/m5y4py60x9423zzh12vbr0pbib6r9h6a-depot-typst-packages-0.0.0
\ No newline at end of file diff --git a/mod/users/kle/default.nix b/mod/users/kle/default.nix new file mode 100644 index 0000000..a2a7f77 --- /dev/null +++ b/mod/users/kle/default.nix @@ -0,0 +1,5 @@ +{ ... }: { + keys = { + t480 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEOw8YEbHsKy38JHp9W1wcxxZgWCDgnabOXccZUN5ddd"; + }; +} |
