My Nix Configuration
1{ config, self, ... }: 2let 3 as = config.age.secrets; 4 d = self.lib.data.services.buildbot; 5 g = self.lib.data.services.git; 6 bbSecret = { 7 owner = "buildbot"; 8 group = "buildbot"; 9 }; 10in 11{ 12 services = { 13 buildbot-nix.master = { 14 enable = true; 15 dbUrl = "postgresql://buildbot@localhost/buildbot"; 16 workersFile = as.buildbot-workers.path; 17 authBackend = "gitea"; 18 gitea = { 19 enable = true; 20 tokenFile = as.buildbot-gitea-token.path; 21 oauthSecretFile = as.buildbot-oauth-secret.path; 22 instanceUrl = g.extUrl; 23 oauthId = "2bfd5c46-43a7-4d98-b443-9176dc0a9452"; 24 topic = "buildbot-enable"; 25 }; 26 admins = [ "pyrox" ]; 27 domain = d.extUrl; 28 useHttps = true; 29 }; 30 postgresql = { 31 ensureUsers = [ 32 { 33 name = "buildbot"; 34 ensureDBOwnership = true; 35 ensureClauses.login = true; 36 } 37 ]; 38 ensureDatabases = [ "buildbot" ]; 39 }; 40 buildbot-master.port = 6915; 41 }; 42 age.secrets = { 43 buildbot-gitea-token = bbSecret // { 44 file = ./secrets/buildbot-gitea-token.age; 45 }; 46 buildbot-oauth-secret = bbSecret // { 47 file = ./secrets/buildbot-oauth-secret.age; 48 }; 49 buildbot-workers = bbSecret // { 50 file = ./secrets/buildbot-workers.age; 51 }; 52 }; 53}