forked from DGNum/infrastructure
feat(linkal): Sync with metis on ens.cal.dgnum.eu
This commit is contained in:
parent
c30d8961b9
commit
ff9e582e70
2 changed files with 31 additions and 1 deletions
|
@ -1,8 +1,10 @@
|
|||
_:
|
||||
{ sources, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
host = "cal.dgnum.eu";
|
||||
|
||||
metis2linkal = import ./metis-to-linkal.nix { inherit pkgs lib; };
|
||||
|
||||
calendarGroups = {
|
||||
luj-current = {
|
||||
port = 8444;
|
||||
|
@ -19,6 +21,10 @@ let
|
|||
};
|
||||
};
|
||||
};
|
||||
ens = {
|
||||
port = 8445;
|
||||
calendars = metis2linkal sources.metis;
|
||||
};
|
||||
};
|
||||
in {
|
||||
imports = [ ./module.nix ];
|
||||
|
|
24
machines/web01/linkal/metis-to-linkal.nix
Normal file
24
machines/web01/linkal/metis-to-linkal.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ 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
|
||||
"https://${providers.${upstream}}/remote.php/dav/public-calendars/${identifier}"
|
||||
;
|
||||
|
||||
in
|
||||
mapDeepAttrs toLinkal calendars
|
Loading…
Reference in a new issue