{ self, ... }: { perSystem = { ... }: { websites.${self.domain} = { config, lib, ... }: let inherit (lib) mkOption types; root = ./html; files = with lib.fileset; toList (difference (fileFilter (file: file.hasExt "html") root) ./html/Kalender); replacements = { "@title@" = config.title; "@stylesheet@" = ''''; "@head@" = '' ''; "@past-events@" = with lib; let as-list = mapAttrsToList (name: value: { start = value.date.start + value.time.start; value = toString value; }) config.events; sorted = sortOn (event: event.start) as-list; in ''