infrastructure/machines/web01/linkal/metis-to-linkal.nix

25 lines
601 B
Nix
Raw Normal View History

{ lib, pkgs }:
source:
let
#import metis stuff
metisCalendarData = builtins.fromJSON (builtins.readFile (source + /data/calendars.json));
calendars = metisCalendarData.sources;
inherit (import source { inherit pkgs; }) providers;
# helper function to map 2-level deep attribute-sets
mapDeepAttrs = mapFct:
lib.concatMapAttrs (name: value:
lib.mapAttrs' (name': value':
mapFct name name' value'
) value
);
toLinkal = upstream: identifier:
lib.nameValuePair
2023-11-07 23:47:50 +01:00
"https://${providers.${upstream}}${identifier}"
;
in
mapDeepAttrs toLinkal calendars