summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraristote <quentin.aristote@irif.fr>2025-12-09 17:04:45 +0100
committeraristote <quentin.aristote@irif.fr>2025-12-09 17:04:45 +0100
commit76728c3faefa6791158824062401973762659fc2 (patch)
tree9a01d6ec239f39cd8cb7922b26b7931cc5a27032 /src
parent142720d405ceec1d768a56b8c9273621ac967c4c (diff)
format
Diffstat (limited to 'src')
-rw-r--r--src/default.nix41
-rw-r--r--src/education/default.nix40
-rw-r--r--src/experience/default.nix49
-rw-r--r--src/languages/default.nix30
-rw-r--r--src/research/default.nix16
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{*}