In particular, the queue runner and web server now run under different UIDs.
TTZ26BJQKIASUK7MT6KGQOIOOHEYWNV4UASO2ZQWGK4ADGK6SR6QC KNJ6Y5FZZRPAMHILIPXWB242IHPQMTQCGD5FOMJ4MLKNLB4EJJ2AC KVDOL4OZ3WX5EGHZ5XSDYNVFLGQFWXH5PM4ZDIKMSS5DI7JE7R3QC G2RULGMMNKPSV3CPHZOTSZ2UNISNQY5WXJ6Y4XEQMPKQ5NLIEB4AC 25ZWSE7TEXU4N2VLPQW5WOWVYCHGLSMSZV5K6CV57GK6LFRYZ2NAC LKRD3SHEC4WN74CWJVZ7ORO4YQ63WFGRY4XHSVQL5EYK7HEI2M5AC F6LZSPNC7TXFD27DVOLM37J54YY2SSF2FE64IUVCELTVAU2GQRFAC 4HDPYRJ6OT6WH3U6ZAHXZKI5LBRBDDVVTUZ5TY5UO474ZQ3ZK65AC PID2JI77LMACIE6APG7EDPO7I4AKXHSVQUWMTURJQK7U7ADBAXFAC 5KYQ4PNG55XSAY3YGH6GCJAY3EZHFWYME4X2QEKZKFT4C54CRA5QC LLCM5ADWYVL53LZCZNTWOGX75BH6P6HHMOLLUGIMV5NC4B7I3B7QC D3MDJONYWWNXVVZDKTPDQE2H2HGMF263LXKT57B2GYCOXNM3PPOQC 5DEWIOO4HE3JWRX4JB7IOUF4S73XHYILRW4SBGMBSLOI7CW3KQAQC ZYEFL36QOB6KUR276RRT4PSAK7HWUJ6TLLZBEZM7SSGUX2WQTMZQC X6XVDE2CJ5EPKPVURHYGKZMMBYYYXLIAIU2TDR36WBUN6QKLRWOAC PMDWFZHWNNA764E7A4TAMX7TN2SFPGWQXWPUETAYTFU6UJEOCYDAC ALLSLBFXB5NSAEUFRZS6MFHI4JWDOQNLKNEFWYC77ZUH3GD6YYZAC V4R3SIRMYTN4CVYWPFPFT34N3PCGVTGNWUSX4VE4B4FT5EEVWJFAC 7XOH2DGH3W4B7BJWCXDP673R5R7TQGLCNTHJT7IZUSBVQWYWJUHQC ZVGQP2SXJRSOOGPVODNWYNX6AJMXRTVYAEEC7CBZKLTO4EWTHQWAC BT6SNXUAM2ZSGD7DAHJWZJVCWKLLAKAGFHDFCUKMIFG2AG3D65DQC 4J33F22TRXXW3WRI3KAF7DQZXQ7JH3A5XBNR7BJCKK7OFUF4AHSQC KMPLMG7TDEVQVZGRXQKG66G6P7LUDELSKRFUO557PQ4WZQI3SBAQC T4DBPQOFUCCD2GLSIT56KSMA2LU3YXDSCT6M5RAJSPQU4TWZJGPAC 3FTM52B2FQBNZ4GANKVIFALA757VXJEP3K4QLVJYQSDWIK7IP5VAC F3M47DHJB7JTFNWXQ3M3K5ZTNBLWC7GIFL7PWHGJQ6AEPUQ3MBYQC J57PR4O364QONYJC6ANAA3IY33NUXWBZ5ARYT6XJZXWEHMRXB4GQC BBF7ZJWHIE5UPMF6RVJE5ZWWSXXZZJX2VXMYY3PVB7BKSWT7YBBAC K5G5GZY7D7KWVR5RAGZFHH3ZPG5OCLZT4HZ6XIJJ7YYVUMC2CTZQC 24BMQDZAWDQ7VNIA7TIROXSOYLOJBNZ2E4264WHWNJAEN6ZB3UOAC EKHL23VIJ6XB6EPGNVYCP6XED6ILBC7TBPBNN5NV276VZNKL4IFAC J5UVLXOK6EDIL5I7VKWH4V2QDS4DPD7FHRK6XBWSXFRQS4JKXFZQC E3M46H7TCAGXRCCHMVC7Y32M4WLXDVVLQE3VLDYX3V2BNTD47L5AC users.extraUsers.hydra ={ description = "Hydra";home = baseDir;createHome = true;useDefaultShell = true;};
mkdir -m 0700 -p ${baseDir}/datachown hydra ${baseDir}/dataln -sf ${hydraConf} ${baseDir}/data/hydra.conf${optionalString (cfg.dbi == "dbi:Pg:dbname=hydra;user=hydra;") ''
mkdir -p ${baseDir}chown hydra.hydra ${baseDir}chmod 0750 ${baseDir}ln -sf ${hydraConf} ${baseDir}/hydra.confmkdir -m 0700 -p /var/lib/hydra/wwwchown hydra-www.hydra /var/lib/hydra/wwwmkdir -m 0700 -p /var/lib/hydra/queue-runnermkdir -m 0750 -p /var/lib/hydra/build-logschown hydra-queue-runner.hydra /var/lib/hydra/queue-runner /var/lib/hydra/build-logs${optionalString haveLocalDB ''
services.cron.systemCronJobs =let# If there is less than ... GiB of free disk space, stop the queue# to prevent builds from failing or aborting.checkSpace = pkgs.writeScript "hydra-check-space"
# If there is less than a certain amount of free disk space, stop# the queue/evaluator to prevent builds from failing or aborting.systemd.services.hydra-check-space ={ script =
in[ "*/5 * * * * root ${checkSpace} &> ${baseDir}/data/checkspace.log"];
startAt = "*:0/5";};services.postgresql.enable = mkIf haveLocalDB true;services.postgresql.identMap = optionalString haveLocalDB''hydra-users hydra hydrahydra-users hydra-queue-runner hydrahydra-users hydra-www hydrahydra-users root hydra'';services.postgresql.authentication = optionalString haveLocalDB''local hydra all ident map=hydra-users'';