diff --git a/devenv.nix b/devenv.nix index fdfa587..f8ff2a6 100644 --- a/devenv.nix +++ b/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; + }; }; } diff --git a/justfile b/justfile index 470796e..8c4bf32 100644 --- a/justfile +++ b/justfile @@ -33,3 +33,6 @@ run-back: test-back: cd {{ output_dir }} && CONFIG_PATH={{ output_dir }} GO_ENV=test go test -C .. ./... + +dev: + devenv up --verbose