summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraristote <quentin.aristote@irif.fr>2025-08-12 15:56:21 +0200
committeraristote <quentin.aristote@irif.fr>2025-08-12 16:00:19 +0200
commit2080cf54332f4a728e3e233d4b2221b6eb1a6e29 (patch)
tree3fd5cf243ba336b3c9f62c71ff617fce9ae2ec1d
parente2681fa192320d7731bce2f4f415758b46ae91dd (diff)
flake.lock: Update (data update)
Flake lock file updates: • Updated input 'data': 'github:qaristote/info/9749429636e7e5e2515f1c75d228d5321907fba4' (2025-07-27) → 'github:qaristote/info/e22c29e4d972e07fc64fd867aa6ccbd293373a33' (2025-08-12) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e' (2025-07-21) → 'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18' (2025-08-06) • Updated input 'flake-parts/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/14a40a1d7fb9afa4739275ac642ed7301a9ba1ab' (2025-06-29) → 'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e' (2025-07-27) • Updated input 'my-nixpkgs': 'github:qaristote/my-nixpkgs/2a8763191aed7bc2db4fc478804d80420c542b3b' (2025-07-22) → 'github:qaristote/my-nixpkgs/a8023c066698c2b4b2f8a57425fac196ee021d57' (2025-08-12) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6027c30c8e9810896b92429f0092f624f7b1aace' (2025-07-25) → 'github:NixOS/nixpkgs/372d9eeeafa5b15913201e2b92e8e539ac7c64d1' (2025-08-12)
-rw-r--r--flake.lock31
-rw-r--r--flake.nix71
-rw-r--r--html/research/talks.nix144
-rw-r--r--html/research/writings.nix161
4 files changed, 214 insertions, 193 deletions
diff --git a/flake.lock b/flake.lock
index 1dd27c2..0a1f2b8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -7,16 +7,15 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1753625181,
- "narHash": "sha256-YdmSIA7hcdwHcuwwZ04rt8I0vaoknyUiGY79zaduR4E=",
+ "lastModified": 1755006727,
+ "narHash": "sha256-1dvXFXnUkWlp3mNYgnxuOGEFvfPHhkyec7BYg2Z1fjo=",
"owner": "qaristote",
"repo": "info",
- "rev": "9749429636e7e5e2515f1c75d228d5321907fba4",
+ "rev": "e22c29e4d972e07fc64fd867aa6ccbd293373a33",
"type": "github"
},
"original": {
"owner": "qaristote",
- "ref": "new-pub-format",
"repo": "info",
"type": "github"
}
@@ -97,11 +96,11 @@
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": {
- "lastModified": 1753121425,
- "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
+ "lastModified": 1754487366,
+ "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
+ "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"type": "github"
},
"original": {
@@ -251,11 +250,11 @@
"nur": "nur_2"
},
"locked": {
- "lastModified": 1753198402,
- "narHash": "sha256-Sbc05KJR/EBX1DZaD63iIHgFJLMm9FA58xhPs6MZ2R0=",
+ "lastModified": 1755000004,
+ "narHash": "sha256-qrNnx93/KYywYfYNtRn0TvcK98BbkqMaG/C8ruEDQ9c=",
"owner": "qaristote",
"repo": "my-nixpkgs",
- "rev": "2a8763191aed7bc2db4fc478804d80420c542b3b",
+ "rev": "a8023c066698c2b4b2f8a57425fac196ee021d57",
"type": "github"
},
"original": {
@@ -344,11 +343,11 @@
},
"nixpkgs-lib_3": {
"locked": {
- "lastModified": 1751159883,
- "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=",
+ "lastModified": 1753579242,
+ "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
- "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab",
+ "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"type": "github"
},
"original": {
@@ -464,11 +463,11 @@
},
"nixpkgs_6": {
"locked": {
- "lastModified": 1753432016,
- "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=",
+ "lastModified": 1754990257,
+ "narHash": "sha256-eEq2wlYNF2t89PsNyEv5Sz4lSxdukZCj4SdhZBVAGpI=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "6027c30c8e9810896b92429f0092f624f7b1aace",
+ "rev": "372d9eeeafa5b15913201e2b92e8e539ac7c64d1",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 0c53855..361b7a0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,7 +2,7 @@
description = "Source code of Quentin Aristote's personal webpage.";
inputs = {
- data.url = "github:qaristote/info/new-pub-format";
+ data.url = "github:qaristote/info";
my-nixpkgs.url = "github:qaristote/my-nixpkgs";
uncss = {
url = "github:qaristote/uncss";
@@ -10,40 +10,47 @@
nixpkgs.follows = "/nixpkgs";
};
};
- nixpkgs = {};
+ nixpkgs = { };
};
- outputs = {
- flake-parts,
- my-nixpkgs,
- ...
- } @ inputs:
- flake-parts.lib.mkFlake {inherit inputs;} ({lib, ...}: {
- imports = builtins.attrValues {inherit (my-nixpkgs.flakeModules) personal;};
+ outputs =
+ {
+ flake-parts,
+ my-nixpkgs,
+ ...
+ }@inputs:
+ flake-parts.lib.mkFlake { inherit inputs; } (
+ { lib, ... }:
+ {
+ imports = builtins.attrValues { inherit (my-nixpkgs.flakeModules) personal; };
- flake.lib = import ./lib {inherit lib;};
+ flake.lib = import ./lib { inherit lib; };
- perSystem = {
- self',
- pkgs,
- system,
- ...
- }: let
- pkgs' = pkgs.extend (
- _: _: {
- uncss = inputs.uncss.packages."${system}".default;
- line-awesome-css = my-nixpkgs.packages."${system}".static_css_lineAwesome;
- }
- );
- in {
- packages = {
- default = self'.packages.webpage;
- webpage = pkgs'.callPackage ./default.nix {
- nixpkgsSrc = inputs.nixpkgs.outPath;
- src = pkgs'.callPackage ./src.nix {};
- data = inputs.data.packages."${system}".src;
+ perSystem =
+ {
+ self',
+ pkgs,
+ system,
+ ...
+ }:
+ let
+ pkgs' = pkgs.extend (
+ _: _: {
+ uncss = inputs.uncss.packages."${system}".default;
+ line-awesome-css = my-nixpkgs.packages."${system}".static_css_lineAwesome;
+ }
+ );
+ in
+ {
+ packages = {
+ default = self'.packages.webpage;
+ webpage = pkgs'.callPackage ./default.nix {
+ nixpkgsSrc = inputs.nixpkgs.outPath;
+ src = pkgs'.callPackage ./src.nix { };
+ data = inputs.data.packages."${system}".src;
+ };
+ };
};
- };
- };
- });
+ }
+ );
}
diff --git a/html/research/talks.nix b/html/research/talks.nix
index 9e1fd56..a68e9f3 100644
--- a/html/research/talks.nix
+++ b/html/research/talks.nix
@@ -3,79 +3,81 @@
data,
lib,
...
-}: let
- matchFirst = regexp: str: let
- results = builtins.match regexp str;
- in
- if results == null
- then null
- else builtins.head results;
- join = url: name: with html; lib.optionalString (url != null) " · ${href url "${icon "las la-paperclip"} ${name}"}";
- talks = data.publications.talks;
+}:
+let
+ matchFirst =
+ regexp: str:
+ let
+ results = builtins.match regexp str;
+ in
+ if results == null then null else builtins.head results;
+ join =
+ url: name:
+ with html;
+ lib.optionalString (url != null) " · ${href url "${icon "las la-paperclip"} ${name}"}";
+ talks = data.research.talks;
in
- with html;
- dl (for (sort.reverse.byPath ["issued" "date-parts"] talks) (item:
- with item; let
- date-parts = builtins.head issued.date-parts;
- date = {
- year = builtins.elemAt date-parts 0;
- month = builtins.elemAt date-parts 1;
- day = builtins.elemAt date-parts 2;
- };
- extra =
- if item ? note
- then note
- else "";
- abstractURL = matchFirst ".*abstract: ([^\n ]*).*" extra;
- slidesURL = matchFirst ".*slides: ([^\n ]*).*" extra;
+with html;
+dl (
+ for (sort.reverse.byPath [ "issued" "date-parts" ] talks) (
+ item:
+ with item;
+ let
+ date-parts = builtins.head issued.date-parts;
+ date = {
+ year = builtins.elemAt date-parts 0;
+ month = builtins.elemAt date-parts 1;
+ day = builtins.elemAt date-parts 2;
+ };
+ extra = if item ? note then note else "";
+ abstractURL = matchFirst ".*abstract: ([^\n ]*).*" extra;
+ slidesURL = matchFirst ".*slides: ([^\n ]*).*" extra;
+ # broken because of tabs
+ # paperURL = let
+ # paperId = matchFirst "([A-z0-9]*[0-9]{4})[a-z]" id;
+ # in
+ # if paperId == null
+ # then null
+ # else "#Writings#${paperId}";
+ in
+ [
+ (dt [
+ ((if abstractURL == null then (x: x) else href abstractURL) (em title))
+ ])
+ (dd [
+ (with (makeDate date); tag pretty)
+ "@ ${href url event-title}, ${publisher-place}"
+ (join slidesURL "slides")
# broken because of tabs
- # paperURL = let
- # paperId = matchFirst "([A-z0-9]*[0-9]{4})[a-z]" id;
- # in
- # if paperId == null
- # then null
- # else "#Writings#${paperId}";
- in [
- (dt [
- ((
- if abstractURL == null
- then (x: x)
- else href abstractURL
- ) (em title))
- ])
- (dd [
- (with (makeDate date); tag pretty)
- "@ ${href url event-title}, ${publisher-place}"
- (join slidesURL "slides")
- # broken because of tabs
- # (join paperURL "paper")
- (details [
- (summary "More")
- (
- dl (
- lib.optionals (item ? abstract) [
- (dt "Abstract.")
- (dd (blockquote abstract))
- ]
- ++ [
- (dt "Cite.")
- (let
- citeWith = title: type:
- details [
- (summary title)
- (pre (code (
- lib.readFile "${data.publications.files}/${type}/${id}"
- )))
- ];
- in
- dd [
- (citeWith "BibLaTeX" "biblatex")
- (citeWith "BibTeX" "bibtex")
- (citeWith "CSL JSON" "csljson")
- ])
+ # (join paperURL "paper")
+ (details [
+ (summary "More")
+ (dl (
+ lib.optionals (item ? abstract) [
+ (dt "Abstract.")
+ (dd (blockquote abstract))
+ ]
+ ++ [
+ (dt "Cite.")
+ (
+ let
+ citeWith =
+ title: type:
+ details [
+ (summary title)
+ (pre (code (lib.readFile "${data.research.files}/${type}/${id}")))
+ ];
+ in
+ dd [
+ (citeWith "BibLaTeX" "biblatex")
+ (citeWith "BibTeX" "bibtex")
+ (citeWith "CSL JSON" "csljson")
]
)
- )
- ])
+ ]
+ ))
])
- ]))
+ ])
+ ]
+ )
+)
diff --git a/html/research/writings.nix b/html/research/writings.nix
index 4ba4ec6..205bcf6 100644
--- a/html/research/writings.nix
+++ b/html/research/writings.nix
@@ -3,86 +3,99 @@
data,
lib,
...
-}: let
- attrValsOpt = attrs: attrSet:
- lib.attrVals (builtins.filter (attr: lib.hasAttr attr attrSet) attrs)
- attrSet;
- concatStringsPrefix = prefix: strings:
- lib.concatStrings (builtins.map (string: prefix + string) strings);
- concatStringsSuffix = suffix: strings:
- lib.concatStrings (builtins.map (string: string + suffix) strings);
- format = publication:
+}:
+let
+ attrValsOpt =
+ attrs: attrSet: lib.attrVals (builtins.filter (attr: lib.hasAttr attr attrSet) attrs) attrSet;
+ concatStringsPrefix =
+ prefix: strings: lib.concatStrings (builtins.map (string: prefix + string) strings);
+ concatStringsSuffix =
+ suffix: strings: lib.concatStrings (builtins.map (string: string + suffix) strings);
+ format =
+ publication:
with html;
with publication;
- {
- inherit id title url year abstract cite;
- }
- // (let
- authorsOther =
- lib.remove "${data.basics.name.first} ${data.basics.name.last}"
- (builtins.map (author: "${author.given} ${author.family}") author);
+ {
+ inherit
+ id
+ title
+ url
+ year
+ abstract
+ cite
+ ;
+ }
+ // (
+ let
+ authorsOther = lib.remove "${data.basics.name.first} ${data.basics.name.last}" (
+ builtins.map (author: "${author.given} ${author.family}") author
+ );
in
- lib.optionalAttrs (authorsOther != []) {
- authors = "With ${lib.concatStringsSep ", " authorsOther}";
- })
- // lib.optionalAttrs (publication ? note) {
- note = publication.note;
- }
- // lib.optionalAttrs (publication ? container-title) {
- published =
- "In ${em container-title}"
- + concatStringsPrefix ", "
- (attrValsOpt ["volume" "issue" "publisher"] publication);
+ lib.optionalAttrs (authorsOther != [ ]) {
+ authors = "With ${lib.concatStringsSep ", " authorsOther}";
}
- // lib.optionalAttrs (publication ? event-title) {
- published = "At ${em event-title}";
- }
- // lib.optionalAttrs (publication ? DOI) {
- doi = "${small "DOI"}: ${href "https://doi.org/${DOI}" (code DOI)}";
- };
- listPublications = collection:
+ )
+ // lib.optionalAttrs (publication ? note) {
+ note = publication.note;
+ }
+ // lib.optionalAttrs (publication ? container-title) {
+ published =
+ "In ${em container-title}"
+ + concatStringsPrefix ", " (attrValsOpt [ "volume" "issue" "publisher" ] publication);
+ }
+ // lib.optionalAttrs (publication ? event-title) {
+ published = "At ${em event-title}";
+ }
+ // lib.optionalAttrs (publication ? DOI) {
+ doi = "${small "DOI"}: ${href "https://doi.org/${DOI}" (code DOI)}";
+ };
+ listResearch =
+ collection:
with html;
- section [
- (dl (for (sort.reverse.byPath ["issued" "date-parts"] collection)
- (publication: let
+ section [
+ (dl (
+ for (sort.reverse.byPath [ "issued" "date-parts" ] collection) (
+ publication:
+ let
formatted = format publication;
in
- with formatted;
- lines [
- (dt {id = "Writings#${id}";}
- "${href {target = "_blank";} url (em title)} (${year})")
- (dd [
- (concatStringsSuffix ". "
- (attrValsOpt ["authors" "note" "published" "doi"]
- formatted))
- (details [
- (summary "More")
- (dl [
- (dt "Abstract.")
- (dd (blockquote abstract))
- (dt "Cite.")
- (let
- citeWith = title: type:
- details [
- (summary title)
- (pre (code (
- lib.readFile "${data.publications.files}/${type}/${id}"
- )))
- ];
- in
- dd [
- (citeWith "BibLaTeX" "biblatex")
- (citeWith "BibTeX" "bibtex")
- (citeWith "CSL JSON" "csljson")
- ])
- ])
- ])
+ with formatted;
+ lines [
+ (dt { id = "Writings#${id}"; } "${href { target = "_blank"; } url (em title)} (${year})")
+ (dd [
+ (concatStringsSuffix ". " (attrValsOpt [ "authors" "note" "published" "doi" ] formatted))
+ (details [
+ (summary "More")
+ (dl [
+ (dt "Abstract.")
+ (dd (blockquote abstract))
+ (dt "Cite.")
+ (
+ let
+ citeWith =
+ title: type:
+ details [
+ (summary title)
+ (pre (code (lib.readFile "${data.research.files}/${type}/${id}")))
+ ];
+ in
+ dd [
+ (citeWith "BibLaTeX" "biblatex")
+ (citeWith "BibTeX" "bibtex")
+ (citeWith "CSL JSON" "csljson")
+ ]
+ )
])
- ])))
- ];
-in {
- conferences = listPublications data.publications.conferences;
- journals = listPublications data.publications.journals;
- misc = listPublications data.publications.misc;
- reports = listPublications data.publications.reports;
+ ])
+ ])
+ ]
+ )
+ ))
+ ];
+in
+{
+ conferences = listResearch data.research.conferences;
+ journals = listResearch data.research.journals;
+ misc = listResearch data.research.misc;
+ reports = listResearch data.research.reports;
}