feat: init

This commit is contained in:
Nick 2025-03-29 23:08:26 -05:00
commit 96c6f790fc
804 changed files with 33411 additions and 0 deletions

1
templates/typst/.envrc Executable file
View file

@ -0,0 +1 @@
use flake

4
templates/typst/.gitignore vendored Executable file
View file

@ -0,0 +1,4 @@
.direnv
.pre-commit-config.yaml
.vscode
*.pdf

28
templates/typst/flake.nix Executable file
View file

@ -0,0 +1,28 @@
{
description = "Typst Environment";
inputs = {
devshell.url = "github:numtide/devshell";
flake-root.url = "github:srid/flake-root";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix";
};
outputs =
inputs@{
nixpkgs,
flake-parts,
self,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.devshell.flakeModule
inputs.flake-root.flakeModule
inputs.pre-commit-hooks-nix.flakeModule
./parts
];
systems = nixpkgs.lib.systems.flakeExposed;
};
}

View file

@ -0,0 +1,26 @@
{
pkgs,
config,
...
}:
{
devShells = {
default = pkgs.mkShell {
packages = builtins.attrValues {
inherit (pkgs)
just
nil
typst
tinymist
typstyle
yamlfmt
nixfmt-rfc-style
;
inherit (pkgs.nodePackages)
"@commitlint/config-conventional"
;
};
};
shellHook = "${config.pre-commit.installationScript}";
};
}

View file

@ -0,0 +1,7 @@
{
pre-commit.settings.hooks = {
nixfmt.enable = true;
commitizen.enable = true;
statix.enable = true;
};
}

View file

@ -0,0 +1,24 @@
{
perSystem =
{
pkgs,
lib,
config,
self',
...
}:
let
configPath = ./config;
devshellImports =
let
files = builtins.attrNames (builtins.readDir configPath);
in
map (name: configPath + "/${name}") (
builtins.filter (name: builtins.match ".*\\.nix$" name != null) files
);
in
{
imports = devshellImports;
};
}

8
templates/typst/src/refs.yml Executable file
View file

@ -0,0 +1,8 @@
citizen:
author: John Zerilli
chapter: 3
date: 2021
isbn: 9780262044813
publisher: The MIT Press
title: A Citizen's Guide To Artificial Intelligence
type: Book

View file

@ -0,0 +1,63 @@
// Catppuccin Latte
#let catppuccinLatteRosewater = rgb("#dc8a78")
#let catppuccinLatteFlamingo = rgb("#dd7878")
#let catppuccinLattePink = rgb("#ea76cb")
#let catppuccinLatteMauve = rgb("#8839ef")
#let catppuccinLatteRed = rgb("#d20f39")
#let catppuccinLatteMaroon = rgb("#e64553")
#let catppuccinLattePeach = rgb("#fe640b")
#let catppuccinLatteYellow = rgb("#df8e1d")
#let catppuccinLatteGreen = rgb("#40a02b")
#let catppuccinLatteTeal = rgb("#179299")
#let catppuccinLatteSky = rgb("#04a5e5")
#let catppuccinLatteSapphire = rgb("#209fb5")
#let catppuccinLatteBlue = rgb("#1e66f5")
#let catppuccinLatteLavender = rgb("#7287fd")
#let catppuccinLatteText = rgb("#4c4f69")
#let catppuccinLatteSubtext1 = rgb("#5c5f77")
#let catppuccinLatteSubtext0 = rgb("#6c6f85")
#let catppuccinLatteOverlay2 = rgb("#7c7f93")
#let catppuccinLatteOverlay1 = rgb("#8c8fa1")
#let catppuccinLatteOverlay0 = rgb("#9ca0b0")
#let catppuccinLatteSurface2 = rgb("#acb0be")
#let catppuccinLatteSurface1 = rgb("#bcc0cc")
#let catppuccinLatteSurface0 = rgb("#ccd0da")
#let catppuccinLatteBase = rgb("#eff1f5")
#let catppuccinLatteMantle = rgb("#e6e9ef")
#let catppuccinLatteCrust = rgb("#dce0e8")
// General:
#let project(author: (:), title: (), body) = {
show figure.caption: it => it.body
set quote(attribution: "content", block: true)
set document(author: author.firstName + " " + author.lastName, title: title)
set text(fill: catppuccinLatteText, font: ("New Computer Modern"), lang: "en")
let title = {
align(center)[
#block[
#text(size: 25pt, weight: "medium")[#title]
]
]
}
let name = {
align(
center,
)[
#block[
#text(size: 12pt, weight: "regular")[#author.firstName #author.lastName]
]
]
}
title
name
body
}

12
templates/typst/src/typst.typ Executable file
View file

@ -0,0 +1,12 @@
#import "template.typ": *
#show: project.with(author: (firstName: "First", lastName: "Last"), title: "Title")
Test
#quote(
attribution: <citizen>,
)[ Fact is, you can't satisfy both calibration and error rate balance if the base
rates differ... ]
#bibliography("refs.yml", style: "ieee")