]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/buildbot/default.nix
Add cours to buildbot
[perso/Immae/Config/Nix.git] / modules / private / buildbot / default.nix
index 88bab9b687f88841e8db9cd76d28ae5ddfa65718..273ad705ef803a1178c0a8affefea65855e11eab 100644 (file)
@@ -24,7 +24,7 @@ in
   };
 
   config = lib.mkIf config.myServices.buildbot.enable {
-    services.backup.profiles.buildbot = {
+    services.duplyBackup.profiles.buildbot = {
       rootDir = varDir;
     };
     ids.uids.buildbot = myconfig.env.buildbot.user.uid;
@@ -68,7 +68,11 @@ in
 
     system.activationScripts = lib.attrsets.mapAttrs' (k: project: lib.attrsets.nameValuePair "buildbot-${project.name}" {
       deps = [ "users" "wrappers" ];
-      text = project.activationScript;
+      text = ''
+        install -m 755 -o buildbot -g buildbot -d ${varDir}/${project.name}
+
+        ${project.activationScript}
+        '';
     }) myconfig.env.buildbot.projects;
 
     secrets.keys = (
@@ -178,7 +182,9 @@ in
       )}
       '';
       environment = let
-        project_env = lib.attrsets.mapAttrs' (k: v: lib.attrsets.nameValuePair "BUILDBOT_${k}" v) project.environment;
+        project_env = with lib.attrsets;
+          mapAttrs' (k: v: nameValuePair "BUILDBOT_${k}" v) project.environment //
+          mapAttrs' (k: v: nameValuePair "BUILDBOT_PATH_${k}" (v pkgs)) (attrByPath ["builderPaths"] {} project);
         buildbot_config = pkgs.python3Packages.buildPythonPackage (rec {
           name = "buildbot_config-${project.name}";
           src = ./projects + "/${project.name}";