{ zentralwerk, config, pkgs, ... }: let ratsinfo-scraper = import (pkgs.fetchFromGitHub { owner = "offenesdresden"; repo = "ratsinfo-scraper"; rev = "oparl"; sha256 = "sha256-ThSZPuylIoB6qJzKZj8gZ+Jr2pfLSHuMHvO36oBOXRI="; }) { inherit pkgs; }; netConfig = zentralwerk.lib.config.site.net.serv; in { microvm = { hypervisor = "qemu"; }; c3d2.deployment = { server = "server10"; mounts = [ "etc" "home" "var"]; interfaces = [ { net = "serv"; mac = "00:de:9a:ce:38:79"; } ]; }; networking = { hostName = "oparl"; useDHCP = false; interfaces.eth0 = { useDHCP = false; ipv4.addresses = [ { address = netConfig.hosts4.${config.networking.hostName}; prefixLength = netConfig.subnet4Len; } ]; }; defaultGateway = netConfig.hosts4.serv-gw; nameservers = [ netConfig.hosts4.dnscache "9.9.9.9" ]; }; users.users.oparl = { isNormalUser = true; createHome = true; group = "oparl"; }; users.groups.oparl = {}; systemd.tmpfiles.rules = [ "C ${config.users.users.oparl.home}/.ssh/id_ed25519 0400 oparl oparl - ${config.sops.secrets."users/oparl/id_ed25519".path}" "z ${config.users.users.oparl.home}/.ssh/id_ed25519 0400 oparl oparl - -" ]; sops.secrets."users/oparl/id_ed25519" = {}; systemd.services.oparl-scraper = { wantedBy = [ "multi-user.target" ]; after = [ "systemd-tmpfiles-setup.service" "network-online.target" ]; startAt = "daily"; serviceConfig = { User = "oparl"; Group = "oparl"; WorkingDirectory = "${config.users.users.oparl.home}"; }; path = with pkgs; [ git openssh poppler_utils ratsinfo-scraper ]; script = '' if [ -d data ]; then pushd data git pull popd else git clone git@github.com:offenesdresden/dresden-ratsinfo.git data fi pushd data git config user.name Astro git config user.email astro@spaceboyz.net popd scrape pushd data find . -name \*.json -exec git add "{}" + git commit -m update || true popd meetings2ics data/meetings/ > data/meetings.ics pushd data git add meetings.ics git commit -m "update meetings.ics" || true popd files_extract pushd data find . -name \*.txt -exec git add {} + git commit -m update\ text || true git push origin master ''; }; system.stateVersion = "22.05"; }