Kieran's opinionated (and probably slightly dumb) nix config

chore: use consistent db path

dunkirk.sh bdd06275 fbadff7c

verified
+18 -14
+1 -1
modules/lib/mkService.nix
··· 246 246 247 247 serviceConfig.ExecStartPre = [ 248 248 "+${pkgs.writeShellScript "${name}-setup" '' 249 - mkdir -p ${cfg.dataDir}/app 249 + mkdir -p ${cfg.dataDir}/app/data 250 250 mkdir -p ${cfg.dataDir}/data 251 251 chown -R ${name}:services ${cfg.dataDir} 252 252 chmod -R g+rwX ${cfg.dataDir}
+1 -1
modules/nixos/services/cachet.nix
··· 17 17 entryPoint = "src/index.ts"; 18 18 19 19 extraConfig = cfg: { 20 - # Set DATABASE_PATH environment variable (uses the data dir created by mkService) 20 + # Set DATABASE_PATH environment variable (uses separate data dir) 21 21 systemd.services.cachet.serviceConfig.Environment = [ 22 22 "DATABASE_PATH=${cfg.dataDir}/data/cachet.db" 23 23 ];
+6 -2
modules/nixos/services/hn-alerts.nix
··· 14 14 startCommand = "${pkgs.unstable.bun}/bin/bun start"; 15 15 16 16 extraConfig = cfg: { 17 + # Set DATABASE_URL environment variable 18 + atelier.services.hn-alerts.environment = { 19 + DATABASE_URL = "${cfg.dataDir}/data/hn-alerts.db"; 20 + }; 21 + 17 22 # Data declarations for automatic backup 18 - # App uses ./local.db relative to app dir by default 19 23 atelier.services.hn-alerts.data = { 20 - sqlite = "${cfg.dataDir}/app/local.db"; 24 + sqlite = "${cfg.dataDir}/data/hn-alerts.db"; 21 25 }; 22 26 }; 23 27 };
+7 -7
modules/nixos/services/indiko.nix
··· 14 14 entryPoint = "src/index.ts"; 15 15 16 16 extraConfig = cfg: { 17 - # Add ORIGIN and RP_ID environment variables 18 - systemd.services.indiko.serviceConfig.Environment = [ 19 - "ORIGIN=https://${cfg.domain}" 20 - "RP_ID=${cfg.domain}" 21 - ]; 17 + # Add ORIGIN, RP_ID, and DATABASE_URL environment variables 18 + atelier.services.indiko.environment = { 19 + ORIGIN = "https://${cfg.domain}"; 20 + RP_ID = cfg.domain; 21 + DATABASE_URL = "${cfg.dataDir}/data/indiko.db"; 22 + }; 22 23 23 24 # Custom Caddy config with rate limiting on auth endpoints 24 25 services.caddy.virtualHosts.${cfg.domain}.extraConfig = '' ··· 67 68 atelier.services.indiko.caddy.enable = false; 68 69 69 70 # Data declarations for automatic backup (SQLite for sessions/tokens) 70 - # App uses hardcoded data/indiko.db relative to app dir 71 71 atelier.services.indiko.data = { 72 - sqlite = "${cfg.dataDir}/app/data/indiko.db"; 72 + sqlite = "${cfg.dataDir}/data/indiko.db"; 73 73 }; 74 74 }; 75 75 }
+3 -3
modules/nixos/services/l4.nix
··· 14 14 entryPoint = "src/index.ts"; 15 15 16 16 extraConfig = cfg: { 17 - # Add PUBLIC_URL environment variable 17 + # Add PUBLIC_URL and STATS_DB_PATH environment variables 18 18 atelier.services.l4.environment = { 19 19 PUBLIC_URL = "https://${cfg.domain}"; 20 + STATS_DB_PATH = "${cfg.dataDir}/data/stats.db"; 20 21 }; 21 22 22 23 # Data declarations for backup (SQLite stats database) 23 - # App runs from ${dataDir}/app and uses ./data/stats.db 24 24 atelier.services.l4.data = { 25 - sqlite = "${cfg.dataDir}/app/data/stats.db"; 25 + sqlite = "${cfg.dataDir}/data/stats.db"; 26 26 }; 27 27 }; 28 28 };