Files
create-glstack/template/devenv.nix
2026-04-16 13:35:26 +02:00

59 lines
1.4 KiB
Nix

{ 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"];
};
};
}