feat(devenv)!: integrate all services and tasks
Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit was merged in pull request #2.
This commit is contained in:
97
devenv.nix
97
devenv.nix
@@ -1,11 +1,12 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
env.GREET = "devenv";
|
||||
process.managers.process-compose = {
|
||||
settings.log_level = "info";
|
||||
};
|
||||
|
||||
packages = [
|
||||
pkgs.git
|
||||
pkgs.bun
|
||||
pkgs.just
|
||||
];
|
||||
|
||||
@@ -17,49 +18,59 @@
|
||||
];
|
||||
};
|
||||
|
||||
languages.go = {
|
||||
enable = true;
|
||||
version = "1.25.5";
|
||||
languages = {
|
||||
go = {
|
||||
enable = true;
|
||||
version = "1.25.5";
|
||||
};
|
||||
javascript.enable = true;
|
||||
javascript.bun.enable = true;
|
||||
};
|
||||
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
dataDir = "${config.env.DEVENV_STATE}/caddy";
|
||||
config = ''
|
||||
:8080 {
|
||||
handle /api/* {
|
||||
reverse_proxy 127.0.0.1:8000
|
||||
processes = {
|
||||
vite = {
|
||||
exec = "bun run dev";
|
||||
cwd = "./client";
|
||||
};
|
||||
backend.exec = "just run";
|
||||
};
|
||||
|
||||
tasks = {
|
||||
"backend:build".exec = "just clean && just build";
|
||||
};
|
||||
|
||||
services = {
|
||||
caddy = {
|
||||
enable = true;
|
||||
dataDir = "${config.env.DEVENV_STATE}/caddy";
|
||||
config = ''
|
||||
:8080 {
|
||||
handle /api/* {
|
||||
reverse_proxy 127.0.0.1:8000
|
||||
}
|
||||
handle {
|
||||
reverse_proxy 127.0.0.1:5173
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
redis = {
|
||||
enable = true;
|
||||
};
|
||||
postgres = {
|
||||
enable = true;
|
||||
createDatabase = true;
|
||||
listen_addresses = "127.0.0.1";
|
||||
initialDatabases = [
|
||||
{
|
||||
name = "postgres";
|
||||
user = "postgres";
|
||||
pass = "postgres";
|
||||
}
|
||||
handle {
|
||||
root * ${config.env.DEVENV_ROOT}/.outputs/static
|
||||
encode zstd gzip
|
||||
@assets path /assets/*
|
||||
header @assets Cache-Control "public, max-age=31536000, immutable"
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
services.redis = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.postgres = {
|
||||
enable = true;
|
||||
createDatabase = true;
|
||||
listen_addresses = "127.0.0.1";
|
||||
initialDatabases = [
|
||||
{
|
||||
name = "postgres";
|
||||
user = "postgres";
|
||||
pass = "postgres";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.meilisearch = {
|
||||
enable = true;
|
||||
];
|
||||
};
|
||||
meilisearch = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user