{ pkgs, lib, config, inputs, ... }: { packages = [ pkgs.bun pkgs.nodejs_24 pkgs.watchexec pkgs.sqlc pkgs.dbmate pkgs.air pkgs.buf pkgs.protoc-gen-go pkgs.protoc-gen-connect-go pkgs.protoc-gen-es pkgs.cobra-cli ]; languages.go.enable = true; languages.typescript.enable = true; services.postgres = { enable = true; listen_addresses = "127.0.0.1"; initialDatabases = [ { name = "<@var(context.project.name)>"; user = "pp"; pass = "<@var(context.project.name)>"; } ]; }; processes = { air = { exec = "air"; cwd = "./services/api"; after = ["devenv:processes:postgres"]; }; protowatcher = { exec = "watchexec -r -e proto buf generate"; cwd = "./packages/proto"; after= ["devenv:processes:air@started"]; }; protojswatcher = { exec = "watchexec -e js,ts -w ./packages/rpc/src -r bun run ./scripts/gen-rpc-index.ts"; cwd = "./"; after= ["devenv:processes:protowatcher@started"]; }; sqlwatcher = { exec = "watchexec -w ./db/migrations -w ./db/query -r -e sql sqlc generate"; cwd = "./services/api"; after= ["devenv:processes:air@started"]; }; bundev = { exec = "bun dev"; cwd = "./apps/web"; after= ["devenv:processes:air@started"]; }; }; }