feat(devenv): optimize DX with devenv #2

Merged
sugar merged 3 commits from nvirellia/nixcn-cms:develop into develop 2025-12-28 09:08:22 +00:00
2 changed files with 57 additions and 43 deletions
Showing only changes of commit 580402a5c2 - Show all commits

View File

@@ -1,11 +1,12 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
env.GREET = "devenv"; process.managers.process-compose = {
settings.log_level = "info";
};
packages = [ packages = [
pkgs.git pkgs.git
pkgs.bun
pkgs.just pkgs.just
]; ];
@@ -17,12 +18,29 @@
]; ];
}; };
languages.go = { languages = {
go = {
enable = true; enable = true;
version = "1.25.5"; version = "1.25.5";
}; };
javascript.enable = true;
javascript.bun.enable = true;
};
services.caddy = { processes = {
vite = {
exec = "bun run dev";
cwd = "./client";
};
backend.exec = "just run";
};
tasks = {
"backend:build".exec = "just clean && just build";
};
services = {
caddy = {
enable = true; enable = true;
dataDir = "${config.env.DEVENV_STATE}/caddy"; dataDir = "${config.env.DEVENV_STATE}/caddy";
config = '' config = ''
@@ -31,22 +49,15 @@
reverse_proxy 127.0.0.1:8000 reverse_proxy 127.0.0.1:8000
} }
handle { handle {
root * ${config.env.DEVENV_ROOT}/.outputs/static reverse_proxy 127.0.0.1:5173
encode zstd gzip
@assets path /assets/*
header @assets Cache-Control "public, max-age=31536000, immutable"
try_files {path} /index.html
file_server
} }
} }
''; '';
}; };
redis = {
services.redis = {
enable = true; enable = true;
}; };
postgres = {
services.postgres = {
enable = true; enable = true;
createDatabase = true; createDatabase = true;
listen_addresses = "127.0.0.1"; listen_addresses = "127.0.0.1";
@@ -58,8 +69,8 @@
} }
]; ];
}; };
meilisearch = {
services.meilisearch = {
enable = true; enable = true;
}; };
};
} }

View File

@@ -33,3 +33,6 @@ run-back:
test-back: test-back:
cd {{ output_dir }} && CONFIG_PATH={{ output_dir }} GO_ENV=test go test -C .. ./... cd {{ output_dir }} && CONFIG_PATH={{ output_dir }} GO_ENV=test go test -C .. ./...
dev:
devenv up --verbose