forked from c3d2/nix-config
Reduce code duplication
This commit is contained in:
parent
af228e3b2c
commit
df2f866435
|
@ -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";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue