generated from me/nix-flake-typst-template
Compare commits
2 commits
2947e642fc
...
ec80e8a0c4
Author | SHA1 | Date | |
---|---|---|---|
ec80e8a0c4 | |||
11fe2931ef |
8 changed files with 197 additions and 3 deletions
|
@ -25,17 +25,17 @@ in
|
||||||
inherit name;
|
inherit name;
|
||||||
value = pkgs.stdenvNoCC.mkDerivation (
|
value = pkgs.stdenvNoCC.mkDerivation (
|
||||||
let
|
let
|
||||||
compileCommand = "typst compile --ignore-system-fonts --font-path ${config.languages.typst.fonts}/share/fonts --root=../../ --input region=US resumes/${name}/main.typ";
|
compileCommand = "${config.languages.typst.package}/bin/typst compile --ignore-system-fonts --font-path ${config.languages.typst.fonts}/share/fonts --root=../../ --input region=US resumes/${name}/main.typ";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "resume-${name}";
|
name = "resume-${name}";
|
||||||
src = ./..;
|
src = ./..;
|
||||||
nativeBuildInputs = [ config.languages.typst.package ];
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
${compileCommand} --input lang=en resume.en_US.pdf
|
${compileCommand} --input lang=en resume.en_US.pdf
|
||||||
${compileCommand} --input lang=eo resume.eo.pdf
|
${compileCommand} --input lang=eo resume.eo.pdf
|
||||||
'';
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
#!${pkgs.nushell}/bin/nu
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp resume.en_US.pdf $out/resume.en_US.pdf
|
cp resume.en_US.pdf $out/resume.en_US.pdf
|
||||||
cp resume.eo.pdf $out/resume.eo.pdf
|
cp resume.eo.pdf $out/resume.eo.pdf
|
||||||
|
|
15
resumes/phd/default.nix
Normal file
15
resumes/phd/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
{ module-name }:
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
perSystem.languages.en-us.vale."**/resumes/${module-name}/*.en_US.md".packages = {
|
||||||
|
alex.enable = true;
|
||||||
|
Joblint.enable = true;
|
||||||
|
proselint.enable = true;
|
||||||
|
RedHat.enable = true;
|
||||||
|
write-good.enable = true;
|
||||||
|
};
|
||||||
|
}
|
22
resumes/phd/education/lib.typ
Normal file
22
resumes/phd/education/lib.typ
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
#import "@preview/linguify:0.4.2": linguify
|
||||||
|
#import "../../../base/education/lib.typ": coursework
|
||||||
|
|
||||||
|
#let utd-coursework = coursework(
|
||||||
|
completed: (
|
||||||
|
"Advanced Operating Systems",
|
||||||
|
"Systems Programming in UNIX",
|
||||||
|
"Computer Architecture (CS 2340 & CS 6304)",
|
||||||
|
"Cyber Attack & Defense Lab",
|
||||||
|
"Digital Logic & Computer Design",
|
||||||
|
"Database Systems",
|
||||||
|
),
|
||||||
|
current: (
|
||||||
|
"Real-Time Systems",
|
||||||
|
"Computer Networks",
|
||||||
|
"Design and Analysis of Computer Algorithms",
|
||||||
|
),
|
||||||
|
)
|
9
resumes/phd/lang.toml
Normal file
9
resumes/phd/lang.toml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
[conf]
|
||||||
|
default-lang = "en"
|
||||||
|
|
||||||
|
[lang.en]
|
||||||
|
content = "main.en_US.md"
|
67
resumes/phd/main.en_US.md
Normal file
67
resumes/phd/main.en_US.md
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MIT
|
||||||
|
-->
|
||||||
|
|
||||||
|
# <!--raw-typst #name -->
|
||||||
|
|
||||||
|
<!--raw-typst #contact -->
|
||||||
|
|
||||||
|
## <!--raw-typst #Skills -->
|
||||||
|
|
||||||
|
<!--raw-typst #skills -->
|
||||||
|
|
||||||
|
## <!--raw-typst #Education -->
|
||||||
|
|
||||||
|
<!--raw-typst #utd -->
|
||||||
|
|
||||||
|
- Computer Science Fast Track Program (Systems Track)
|
||||||
|
- Collegium V Honors Program, National Merit Scholars Program
|
||||||
|
- <!--raw-typst #utd-coursework -->
|
||||||
|
|
||||||
|
## <!--raw-typst #Projects -->
|
||||||
|
|
||||||
|
<!--raw-typst #syscfg -->
|
||||||
|
|
||||||
|
- Define device configurations for Linux and macOS through a set of
|
||||||
|
configuration files, grouping related configurations into shared modules.
|
||||||
|
- Lock program versions using Nix Flakes, reducing variations and allowing
|
||||||
|
rollbacks.
|
||||||
|
|
||||||
|
<!--raw-typst #server -->
|
||||||
|
|
||||||
|
- Contain my files, tasks, projects, passwords, and other data on a self-managed
|
||||||
|
server machine.
|
||||||
|
- Orchestrate Linux system and program configurations through Docker Compose and
|
||||||
|
NixOS. Automate deployment of DNS settings and Hetzner configurations using
|
||||||
|
Terraform integrations.
|
||||||
|
|
||||||
|
<!--raw-typst #cs6378-database -->
|
||||||
|
|
||||||
|
- Duplicates key-value pairs across three servers to tolerate up to two
|
||||||
|
failures, using an architecture based on the one in Amazon Dynamo.
|
||||||
|
- Implemented using asynchronous programming and serialization libraries for TCP
|
||||||
|
communication.
|
||||||
|
|
||||||
|
## <!--raw-typst #Experience -->
|
||||||
|
|
||||||
|
<!--raw-typst #syssec -->
|
||||||
|
|
||||||
|
- Traced GNU Core Utilities using a Valgrind tool by modifying the test suite.
|
||||||
|
- Added features to a graph visualization platform designed for viewing system
|
||||||
|
events.
|
||||||
|
|
||||||
|
<!--raw-typst #scrumfish -->
|
||||||
|
|
||||||
|
- Implemented API endpoints and rewrote a web UI for document annotation.
|
||||||
|
- Automated updates of email templates in an SQL database using PowerShell
|
||||||
|
scripts.
|
||||||
|
- Documented all activities through Jira and GitHub pull requests.
|
||||||
|
|
||||||
|
<!--raw-typst #rtechnics -->
|
||||||
|
|
||||||
|
- Oversaw server upgrades and ensured smooth transitions for running programs.
|
||||||
|
- Improved the macOS implementation of a MAUI program, and fetched data from an
|
||||||
|
API using C#.
|
||||||
|
- Automated builds for a server application with Docker.
|
66
resumes/phd/main.typ
Normal file
66
resumes/phd/main.typ
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
// SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
#import "@preview/cmarker:0.1.6"
|
||||||
|
#import "@preview/linguify:0.4.2": linguify, set-database
|
||||||
|
#import "../../base/lib.typ": Education, Experience, Projects, Skills, base
|
||||||
|
#import "../full/main.typ": name
|
||||||
|
#import "../full/contact/lib.typ": contact
|
||||||
|
#import "../full/education/lib.typ": utd
|
||||||
|
#import "../full/experience/lib.typ": rtechnics, scrumfish, syssec
|
||||||
|
#import "../full/projects/lib.typ": cs6378-database, server, syscfg
|
||||||
|
#import "../full/skills/lib.typ": skills
|
||||||
|
#import "education/lib.typ": utd-coursework
|
||||||
|
|
||||||
|
#let self = toml("typst.toml")
|
||||||
|
|
||||||
|
#let lang-data = toml("lang.toml")
|
||||||
|
|
||||||
|
#let item-heading-above = 0.95em
|
||||||
|
#let item-heading-below = 0.8em
|
||||||
|
|
||||||
|
#context base(
|
||||||
|
lang: "en",
|
||||||
|
region: "US",
|
||||||
|
self: self,
|
||||||
|
name-below: 1em,
|
||||||
|
name-size: 2.7em,
|
||||||
|
cmarker.render(
|
||||||
|
read(lang-data.lang.at(text.lang).content),
|
||||||
|
scope: (
|
||||||
|
name: name,
|
||||||
|
contact: contact(below: 1.45em),
|
||||||
|
Skills: Skills,
|
||||||
|
skills: skills,
|
||||||
|
Education: Education,
|
||||||
|
utd: utd(item-heading-below: item-heading-below),
|
||||||
|
utd-coursework: utd-coursework,
|
||||||
|
Experience: Experience,
|
||||||
|
syssec: syssec(
|
||||||
|
item-heading-below: item-heading-below,
|
||||||
|
),
|
||||||
|
scrumfish: scrumfish(
|
||||||
|
item-heading-above: item-heading-above,
|
||||||
|
item-heading-below: item-heading-below,
|
||||||
|
),
|
||||||
|
rtechnics: rtechnics(
|
||||||
|
item-heading-above: item-heading-above,
|
||||||
|
item-heading-below: item-heading-below,
|
||||||
|
),
|
||||||
|
Projects: Projects,
|
||||||
|
syscfg: syscfg(
|
||||||
|
item-heading-below: item-heading-below,
|
||||||
|
),
|
||||||
|
server: server(
|
||||||
|
item-heading-above: item-heading-above,
|
||||||
|
item-heading-below: item-heading-below,
|
||||||
|
),
|
||||||
|
cs6378-database: cs6378-database(
|
||||||
|
item-heading-above: item-heading-above,
|
||||||
|
item-heading-below: item-heading-below,
|
||||||
|
course: false,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
15
resumes/phd/typst.toml
Normal file
15
resumes/phd/typst.toml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
[package]
|
||||||
|
name = "resume-phd"
|
||||||
|
version = "0.1.0"
|
||||||
|
compiler = "0.13.1"
|
||||||
|
entrypoint = "main.typ"
|
||||||
|
repository = "https://git.sudoer777.dev/me/nix-typst-resume"
|
||||||
|
authors = ["Ethan Reece <contact@ethanreece.com>"]
|
||||||
|
license = "MIT"
|
||||||
|
description = ""
|
||||||
|
keywords = ["nix", "resume"]
|
||||||
|
categories = ["cv"]
|
|
@ -3,7 +3,7 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "resume-default"
|
name = "resume-systems"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
compiler = "0.13.1"
|
compiler = "0.13.1"
|
||||||
entrypoint = "main.typ"
|
entrypoint = "main.typ"
|
||||||
|
|
Loading…
Add table
Reference in a new issue