{ pkgs, lib, config, inputs, ... }: { packages = [ pkgs.bun 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"; }; protowatcher = { exec = "watchexec -r -e proto buf generate"; cwd = "./packages/proto"; }; protojswatcher = { exec = "watchexec -e js,ts -w ./packages/rpc/src -r bun run ./scripts/gen-rpc-index.ts"; cwd = "./"; }; sqlwatcher = { exec = "watchexec -w -r db -e sql sqlc generate"; cwd = "./services/api"; }; bundev = { exec = "bun dev"; cwd = "./apps/web"; }; }; }