diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/default.nix | 41 | ||||
| -rw-r--r-- | src/education/default.nix | 40 | ||||
| -rw-r--r-- | src/experience/default.nix | 49 | ||||
| -rw-r--r-- | src/languages/default.nix | 30 | ||||
| -rw-r--r-- | src/research/default.nix | 16 |
5 files changed, 100 insertions, 76 deletions
diff --git a/src/default.nix b/src/default.nix index e698a93..dbc9fca 100644 --- a/src/default.nix +++ b/src/default.nix @@ -4,24 +4,25 @@ make, ... }: -with latex; let - sections = sort.byKey "priority" (make ./sections.nix {}); +with latex; +let + sections = sort.byKey "priority" (make ./sections.nix { }); in - with data.basics; - lines [ - (builtins.readFile ./header.tex) - (comment "-------------------- EXTRA --------------------") - (for sections (section: section.extraHeader)) - (comment "-------------------- DATA --------------------") - (moderncv.name name.first name.last) - (moderncv.email email.personal) - (moderncv.extrainfo (latex.url url)) - (moderncv.photo {"" = "128pt";} avatar) - "" - (document [ - (title institution.position) - moderncv.makecvtitle - description - (for sections (section: section.content)) - ]) - ] +with data.basics; +lines [ + (builtins.readFile ./header.tex) + (comment "-------------------- EXTRA --------------------") + (for sections (section: section.extraHeader)) + (comment "-------------------- DATA --------------------") + (moderncv.name name.first name.last) + (moderncv.email email.personal) + (moderncv.extrainfo (latex.url url)) + (moderncv.photo { "" = "128pt"; } avatar) + "" + (document [ + (title institution.position) + moderncv.makecvtitle + description + (for sections (section: section.content)) + ]) +] diff --git a/src/education/default.nix b/src/education/default.nix index 2d46730..8d373f8 100644 --- a/src/education/default.nix +++ b/src/education/default.nix @@ -3,26 +3,32 @@ data, lib, ... -}: let +}: +let education = data.education; - sortByStartDate = - latex.sort.reverse.byFun - (x: with x.date.start; day + 100 * month + 10000 * year); -in { + sortByStartDate = latex.sort.reverse.byFun (x: with x.date.start; day + 100 * month + 10000 * year); +in +{ title = "Education"; priority = 10; - content = with latex; - for (sortByStartDate education) (item: + content = + with latex; + for (sortByStartDate education) ( + item: with item; - [ - (moderncv.cventry (latex.timerange date.start date.end) studyType - (with institution; href url name) - institution.location "" - description) - ] - ++ lib.optional (item ? "years") (for (sortByStartDate years) (year: + [ + (moderncv.cventry (latex.timerange date.start date.end) studyType ( + with institution; href url name + ) institution.location "" description) + ] + ++ lib.optional (item ? "years") ( + for (sortByStartDate years) ( + year: with year; - moderncv.cvlistitem "${with program; bold (href url acronym)} (${ - timerange date.start date.end - }). ${program.studyType}. {\\small ${description}}"))); + moderncv.cvlistitem "${ + with program; bold (href url acronym) + } (${timerange date.start date.end}). ${program.studyType}. {\\small ${description}}" + ) + ) + ); } diff --git a/src/experience/default.nix b/src/experience/default.nix index cf4dc5f..cf025bb 100644 --- a/src/experience/default.nix +++ b/src/experience/default.nix @@ -3,29 +3,38 @@ data, lib, ... -}: let +}: +let experience = data.experience.jobs; -in { +in +{ title = "Experience"; priority = 0; - content = with latex; - for - (sort.reverse.byFun (x: with x.date.start; day + 100 * month + 10000 * year) - experience) (item: + content = + with latex; + for (sort.reverse.byFun (x: with x.date.start; day + 100 * month + 10000 * year) experience) ( + item: with item; - moderncv.cventry (latex.timerange date.start date.end) - institution.position (with institution; href url name) - institution.location ( - if item ? supervisors - then + moderncv.cventry (latex.timerange date.start date.end) institution.position + (with institution; href url name) + institution.location + ( + if item ? supervisors then "supervised by " - + lib.concatStringsSep " \\& " - (for supervisors (supervisor: with supervisor; href url name)) - else "" - ) (description - + lib.optionalString (item ? assets) (" " - + cite - (lib.concatStringsSep "," - (for (lib.filter (asset: asset.type == "Writings") assets) - (lib.getAttr "id")))))); + + lib.concatStringsSep " \\& " (for supervisors (supervisor: with supervisor; href url name)) + else + "" + ) + ( + description + + lib.optionalString (item ? assets) ( + " " + + cite ( + lib.concatStringsSep "," ( + for (lib.filter (asset: asset.type == "Writings") assets) (lib.getAttr "id") + ) + ) + ) + ) + ); } diff --git a/src/languages/default.nix b/src/languages/default.nix index 9853c32..b00efc6 100644 --- a/src/languages/default.nix +++ b/src/languages/default.nix @@ -3,24 +3,28 @@ data, lib, ... -}: let +}: +let languages = data.languages; - sortByProficiency = lib.sort (lang1: lang2: let - prof1 = lang1.proficiency; - prof2 = lang2.proficiency; - in - (prof2 == "basic") - || (prof1 == "native") - || (prof2 == "intermediate" && prof1 == "fluent")); -in { + sortByProficiency = lib.sort ( + lang1: lang2: + let + prof1 = lang1.proficiency; + prof2 = lang2.proficiency; + in + (prof2 == "basic") || (prof1 == "native") || (prof2 == "intermediate" && prof1 == "fluent") + ); +in +{ title = "Languages"; priority = 20; extraHeader = '' \usepackage{emoji} \setemojifont{NotoColorEmoji.ttf}[Path=./fonts/] ''; - content = with latex; - for (sortByProficiency languages) (lang: - with lang; - moderncv.cvline "${name} \\emoji{${icon.shortcode}}" proficiency); + content = + with latex; + for (sortByProficiency languages) ( + lang: with lang; moderncv.cvline "${name} \\emoji{${icon.shortcode}}" proficiency + ); } diff --git a/src/research/default.nix b/src/research/default.nix index aa53634..db70f5a 100644 --- a/src/research/default.nix +++ b/src/research/default.nix @@ -1,22 +1,26 @@ { - latex, data, - lib, ... -}: let +}: +let addBibResource = name: '' \begin{filecontents*}{${name}.json} ${builtins.toJSON data.research."${name}"} \end{filecontents*} \addbibresource{${name}.json} - ''; -in { + ''; +in +{ title = "Research"; priority = 30; extraHeader = '' \usepackage[style=ieee]{citation-style-language} \cslsetup{bib-item-sep = 8 pt plus 4 pt minus 2 pt} - '' + addBibResource "conferences" + addBibResource "journals" + addBibResource "misc" + addBibResource "reports"; + '' + + addBibResource "conferences" + + addBibResource "journals" + + addBibResource "misc" + + addBibResource "reports"; content = '' \nocite{*} |
