mirror of
https://gitlab.com/upRootNutrition/resume.git
synced 2025-06-15 17:15:11 -05:00
feat: init
This commit is contained in:
commit
c28aa94951
11 changed files with 403 additions and 0 deletions
19
.direnv/bin/nix-direnv-reload
Executable file
19
.direnv/bin/nix-direnv-reload
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
if [[ ! -d "/home/nick/Files/Projects/resume" ]]; then
|
||||||
|
echo "Cannot find source directory; Did you move it?"
|
||||||
|
echo "(Looking for "/home/nick/Files/Projects/resume")"
|
||||||
|
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# rebuild the cache forcefully
|
||||||
|
_nix_direnv_force_reload=1 direnv exec "/home/nick/Files/Projects/resume" true
|
||||||
|
|
||||||
|
# Update the mtime for .envrc.
|
||||||
|
# This will cause direnv to reload again - but without re-building.
|
||||||
|
touch "/home/nick/Files/Projects/resume/.envrc"
|
||||||
|
|
||||||
|
# Also update the timestamp of whatever profile_rc we have.
|
||||||
|
# This makes sure that we know we are up to date.
|
||||||
|
touch -r "/home/nick/Files/Projects/resume/.envrc" "/home/nick/Files/Projects/resume/.direnv"/*.rc
|
1
.envrc
Normal file
1
.envrc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
use flake
|
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
.direnv
|
||||||
|
.pre-commit-config.yaml
|
||||||
|
.vscode
|
||||||
|
*.pdf
|
185
flake.lock
generated
Executable file
185
flake.lock
generated
Executable file
|
@ -0,0 +1,185 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"devshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741473158,
|
||||||
|
"narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741352980,
|
||||||
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "flake-parts",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-root": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723604017,
|
||||||
|
"narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=",
|
||||||
|
"owner": "srid",
|
||||||
|
"repo": "flake-root",
|
||||||
|
"rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "srid",
|
||||||
|
"repo": "flake-root",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"pre-commit-hooks-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722073938,
|
||||||
|
"narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e36e9f57337d0ff0cf77aceb58af4c805472bfae",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740877520,
|
||||||
|
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741379970,
|
||||||
|
"narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730768919,
|
||||||
|
"narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pre-commit-hooks-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": "nixpkgs_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741379162,
|
||||||
|
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"devshell": "devshell",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"flake-root": "flake-root",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
28
flake.nix
Executable file
28
flake.nix
Executable 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;
|
||||||
|
};
|
||||||
|
}
|
26
parts/config/devshells.nix
Executable file
26
parts/config/devshells.nix
Executable 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}";
|
||||||
|
};
|
||||||
|
}
|
7
parts/config/pre-commit.nix
Executable file
7
parts/config/pre-commit.nix
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
pre-commit.settings.hooks = {
|
||||||
|
nixfmt.enable = true;
|
||||||
|
commitizen.enable = true;
|
||||||
|
statix.enable = true;
|
||||||
|
};
|
||||||
|
}
|
24
parts/default.nix
Executable file
24
parts/default.nix
Executable 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;
|
||||||
|
};
|
||||||
|
}
|
BIN
src/resume.pdf
Normal file
BIN
src/resume.pdf
Normal file
Binary file not shown.
55
src/resume.typ
Normal file
55
src/resume.typ
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#import "template.typ": *
|
||||||
|
|
||||||
|
#set page(
|
||||||
|
paper: "a6",
|
||||||
|
margin: (x: 1.8cm, y: 1.5cm),
|
||||||
|
)
|
||||||
|
#set text(
|
||||||
|
font: "New Computer Modern",
|
||||||
|
size: 5pt
|
||||||
|
)
|
||||||
|
#set par(
|
||||||
|
justify: true,
|
||||||
|
leading: 0.52em,
|
||||||
|
)
|
||||||
|
|
||||||
|
#chunk((
|
||||||
|
text(size: 10pt)[Nick Hiebert],
|
||||||
|
divider,
|
||||||
|
job(
|
||||||
|
company: "upRootNutrition",
|
||||||
|
title: "Content Creator, Programmer",
|
||||||
|
dates: "Nov 2024 - Present",
|
||||||
|
location: "Winnipeg, MB",
|
||||||
|
details: (
|
||||||
|
"Develop evidence-based content related to nutrition science.",
|
||||||
|
"Conduct in-depth investigations into nutrition science for clients.",
|
||||||
|
"Mentor clients on research methodologies and interpretation."
|
||||||
|
)
|
||||||
|
),
|
||||||
|
job(
|
||||||
|
company: "The Nutrivore",
|
||||||
|
title: "Content Creator",
|
||||||
|
dates: "Jan 2018 - Nov 2024",
|
||||||
|
location: "Winnipeg, MB",
|
||||||
|
details: (
|
||||||
|
"Develop evidence-based content related to nutrition science.",
|
||||||
|
"Conduct in-depth investigations into nutrition science for clients.",
|
||||||
|
"Mentor clients on research methodologies and interpretation."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#list((
|
||||||
|
edu(
|
||||||
|
institute: "University of Manitoba",
|
||||||
|
cert: "Human Nutritional Science",
|
||||||
|
year: "2011"
|
||||||
|
),
|
||||||
|
edu(
|
||||||
|
institute: "Studio 11 Inc",
|
||||||
|
cert: "Audio Production",
|
||||||
|
year: "2008"
|
||||||
|
)
|
||||||
|
))
|
54
src/template.typ
Normal file
54
src/template.typ
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#let chunk(content) = {
|
||||||
|
stack(
|
||||||
|
spacing: 1.5em,
|
||||||
|
..content
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#let list(content) = {
|
||||||
|
stack(
|
||||||
|
spacing: 0.75em,
|
||||||
|
..content
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#let divider = {
|
||||||
|
pad(y: 0.5em)[
|
||||||
|
#align(center, line(length: 100%, stroke: 0.25pt))
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
#let job(
|
||||||
|
company: "",
|
||||||
|
title: "",
|
||||||
|
dates: "",
|
||||||
|
location: "",
|
||||||
|
details: ()
|
||||||
|
) = {
|
||||||
|
block(spacing: 0.75em)[
|
||||||
|
#stack(
|
||||||
|
spacing: 0.75em,
|
||||||
|
[
|
||||||
|
#text(weight: "bold")[#company, #location] #h(0.5em)
|
||||||
|
#text(style: "italic")[— #title]
|
||||||
|
],
|
||||||
|
[#dates],
|
||||||
|
[
|
||||||
|
#pad(left: 1.5em)[
|
||||||
|
#list(details.map(detail => [• #detail]))
|
||||||
|
]
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
#let edu(
|
||||||
|
institute: "",
|
||||||
|
cert: "",
|
||||||
|
year: ""
|
||||||
|
) = {
|
||||||
|
block(spacing: 0.75em)[
|
||||||
|
#text(weight: "bold")[#institute] #h(0.5em)
|
||||||
|
#text(style: "italic")[— #cert, #year]
|
||||||
|
]
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue