all my work in academia in one place https://garden.youwen.dev/
Find a file
Youwen Wu e8f39dc367
Some checks are pending
Deploy Quartz site to GitHub Pages using Nix / build (push) Waiting to run
Deploy Quartz site to GitHub Pages using Nix / deploy (push) Blocked by required conditions
auto-update(nvim): 2025-01-08 23:33:52
2025-01-08 23:33:52 -08:00
.github/workflows ci: add site deployment action 2024-12-29 03:09:07 -08:00
content auto-update(nvim): 2025-01-06 00:01:22 2025-01-06 00:01:22 -08:00
documents auto-update(nvim): 2025-01-08 23:33:52 2025-01-08 23:33:52 -08:00
quartz chore: remove cache files from git history 2024-12-29 02:31:21 -08:00
.gitignore feat: add some details 2024-12-29 02:30:48 -08:00
CNAME feat: add CNAME file for gh pages 2024-12-29 03:14:28 -08:00
flake.lock feat: remove useless content, add liminalOS docs 2025-01-02 03:15:46 -08:00
flake.nix feat: remove useless content, add liminalOS docs 2025-01-02 03:15:46 -08:00
globals.d.ts feat: add quartz infra 2024-12-29 02:11:31 -08:00
index.d.ts feat: add quartz infra 2024-12-29 02:11:31 -08:00
package.json feat: add quartz infra 2024-12-29 02:11:31 -08:00
pnpm-lock.yaml feat: switch to pnpm 2024-12-29 14:13:54 -08:00
quartz.config.ts feat: correct rose pine colorschemes for light and dark 2025-01-02 00:36:23 -08:00
quartz.layout.ts chore: migrate rest of content 2024-12-29 02:59:54 -08:00
README.md docs: add hacking instructions to readme 2024-12-29 14:15:50 -08:00
site.nix fix: correct paths of liminalOS docs 2025-01-02 03:18:12 -08:00
tsconfig.json feat: add quartz infra 2024-12-29 02:11:31 -08:00

alexandria, an archive

of all of my digitized work and notes. Want to steal my stuff? This is where you do it.

Please note, all of my work is licensed under CC-BY-NC-ND 4.0 (that's the Creative Commons Attribution-Noncommercial-Noderivatives 4.0 license), with one exception. The Nix source code that helps provide the document compilation infrastructure is free and unencumbered software released into the public domain. This includes all of the files in ./2024/nix as well as any files ending in .nix generally. The contents of ./quartz are copyright Jerry Zhao under the MIT License.

I (and the license) do not grant permission for my work being passed off as someone else's (perhaps for the purpose of plagiarism). Obviously this does not extend to the Nix source code, which is in the public domain.

Quartz 4 Web Deployment

The markdown files in this repository are Obsidian flavored and are automatically compiled into the knowledge garden at garden.youwen.dev. Please visit!

Hacking

Builds are powered by Nix. Run

nix build

to produce a static bundle at result/public. A local development server can be started at localhost:8080 by running

nix run

Typst compilation infrastructure

This repository contains a sophisticated system for reproducibly compiling Typst documents using Nix, the purely functional package manager. Typst is a modern typesetting system aiming to replace the venerable LaTeX system.

Within the documents, an ongoing experiment is taking place to create a monorepo organization structure for a large amount of Typst documents. Some custom Nix infrastructure has been created to provide a similar package interface to the familiar nixpkgs package repository. Instead of building programs, however, it builds documents. Review the flake for more information.

Since the flake in documents provides a package set, you can use the nix search command on it to discover documents just like nixpkgs. Try:

nix search "git+https://code.youwen.dev/youwen5/alexandria?dir=documents" digression

You can compile any document in this repository yourself very easily! Simply run:

nix build 'git+https://code.youwen.dev/youwen5/alexandria?dir=documents#digression-linear-algebra'

The builds are managed by the amazing typix project. It helps provide a hermetically sealed build environment, which means that all dependencies of the documents are specified, including fonts, commonly forgotten due to being installed systemwide. Also, the build process clones down a copy of the entire Typst package repository, version locked in flake.lock. This means that packages are also guaranteed to be reproducible and available.

Compilation creates a result that points to the compiled PDF in the Nix store. Currently, the file is not marked as a PDF with a .pdf file extension, but one should be able to easily cp the file from the Nix store into another directory with a proper file name. Work is ongoing to make this as smooth as possible.