]> 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 f307606b0958ae29dcbc70d371b33fff737b7c91..273ad705ef803a1178c0a8affefea65855e11eab 100644 (file)
@@ -24,6 +24,9 @@ in
   };
 
   config = lib.mkIf config.myServices.buildbot.enable {
+    services.duplyBackup.profiles.buildbot = {
+      rootDir = varDir;
+    };
     ids.uids.buildbot = myconfig.env.buildbot.user.uid;
     ids.gids.buildbot = myconfig.env.buildbot.user.gid;
 
@@ -65,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 = (
@@ -175,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}";