From c3ab38dfee22f55b85b469ca3b0e2cb977e4f4a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 27 Dec 2022 02:24:01 +0100 Subject: [PATCH] Reduce code duplication --- hosts/scrape/default.nix | 89 ++++++++++------------------------------ 1 file changed, 22 insertions(+), 67 deletions(-) diff --git a/hosts/scrape/default.nix b/hosts/scrape/default.nix index 08f422bf..a6bf24a6 100644 --- a/hosts/scrape/default.nix +++ b/hosts/scrape/default.nix @@ -36,14 +36,14 @@ in { }; systemd.services = let + serviceConfig = { + User = config.users.users.scrape.name; + Group = config.users.users.scrape.group; + }; scraperPkgs = import scrapers { inherit pkgs; }; makeService = { script, host ? "", user ? "", password ? "" }: { - script = - "${scraperPkgs."${script}"}/bin/${script} ${host} ${user} ${password}"; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + script = "${scraperPkgs."${script}"}/bin/${script} ${host} ${user} ${password}"; + inherit serviceConfig; }; makeNodeScraper = nodeId: { name = "scrape-node${nodeId}"; @@ -89,150 +89,105 @@ in { ${scraperPkgs.riesa-efau-kalender}/bin/riesa-efau-kalender > /tmp/riesa-efau-kalender.ics mv /tmp/riesa-efau-kalender.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-kreuzchor-termine = { script = '' ${scraperPkgs.kreuzchor-termine}/bin/kreuzchor-termine > /tmp/kreuzchor-termine.ics mv /tmp/kreuzchor-termine.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-dhmd-veranstaltungen = { script = '' ${scraperPkgs.dhmd-veranstaltungen}/bin/dhmd-veranstaltungen > /tmp/dhmd-veranstaltungen.ics mv /tmp/dhmd-veranstaltungen.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-mkz-programm = { script = '' ${scraperPkgs.mkz-programm}/bin/mkz-programm > /tmp/mkz-programm.ics mv /tmp/mkz-programm.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-drk-impfaktionen = { script = '' ${scraperPkgs.drk-impfaktionen}/bin/drk-impfaktionen > /tmp/drk-impfaktionen.ics mv /tmp/drk-impfaktionen.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-zuendstoffe = { script = '' ${scraperPkgs.zuendstoffe}/bin/zuendstoffe > /tmp/zuendstoffe.xml mv /tmp/zuendstoffe.xml ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-dresden-versammlungen = { script = '' ${scraperPkgs.dresden-versammlungen}/bin/dresden-versammlungen > /tmp/dresden-versammlungen.ics mv /tmp/dresden-versammlungen.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-azconni = { script = '' ${scraperPkgs.azconni}/bin/azconni > /tmp/azconni.ics mv /tmp/azconni.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-kunsthaus = { script = '' ${scraperPkgs.kunsthaus}/bin/kunsthaus > /tmp/kunsthaus.ics mv /tmp/kunsthaus.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-hfmdd = { script = '' ${scraperPkgs.hfmdd}/bin/hfmdd > /tmp/hfmdd.ics mv /tmp/hfmdd.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-hfbk-dresden = { script = '' ${scraperPkgs.hfbk-dresden}/bin/hfbk-dresden > /tmp/hfbk-dresden.ics mv /tmp/hfbk-dresden.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-staatsoperette = { script = '' ${scraperPkgs.staatsoperette}/bin/staatsoperette > /tmp/staatsoperette.ics mv /tmp/staatsoperette.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-tjg-dresden = { script = '' ${scraperPkgs.tjg-dresden}/bin/tjg-dresden > /tmp/tjg-dresden.ics mv /tmp/tjg-dresden.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-dresden-kulturstadt = { script = '' ${scraperPkgs.dresden-kulturstadt}/bin/dresden-kulturstadt > /tmp/dresden-kulturstadt.ics mv /tmp/dresden-kulturstadt.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; scrape-nabu = { script = '' ${scraperPkgs.nabu}/bin/nabu > /tmp/nabu.ics mv /tmp/nabu.ics ${config.users.users.scrape.home}/ ''; - serviceConfig = { - User = config.users.users.scrape.name; - Group = config.users.users.scrape.group; - }; + inherit serviceConfig; }; } // builtins.listToAttrs (map makeNodeScraper (builtins.attrNames freifunkNodes) ++ @@ -343,5 +298,5 @@ in { (map makeLuftScraperTimer luftqualitaetStations) ); - system.stateVersion = "20.03"; # Did you read the comment? + system.stateVersion = "20.03"; }