You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But this still runs only the postgres service thats defined in the default shell.
I also tried running:
nix run .#devenv-up-ci
But this fails with:
error:
… while evaluating the attribute 'devShells.x86_64-linux.ci.config.procfileScript'
at /nix/store/2r2766i4xifvn5s2wwysw6k9gz3d6c3i-source/flake.nix:38:9:
37| in {
38| ci = devenv.lib.mkShell {
| ^
39| inherit inputs pkgs;
… in the left operand of the update (//) operator
at /nix/store/zslv4c6fawyd1bj84a2i4x14gblz3h1w-source/flake.nix:165:24:
164| in
165| config.shell // {
| ^
166| ci = config.ciDerivation;
(stack trace truncated; use '--show-trace' to show the full trace)
error: Failed assertions:
- devenv was not able to determine the current directory.
See https://devenv.sh/guides/using-with-flakes/ how to use it with flakes.
The text was updated successfully, but these errors were encountered:
Duplicate of #1172.
The correct name for the package would be ci-devenv-up, but the devenv up script is currently broken for multiple shells. See #1172 (comment).
Duplicate of #1172.
The correct name for the package would be ci-devenv-up, but the devenv up script is currently broken for multiple shells. See #1172 (comment).
Ohh ok, got it. Thank you!
What's the motivation to have two shells?
My main motivation is trying to run CI tests without degrading the dev experience. For example I found that the TUI of process-compose breaks my CI integration tests workflow because I try to run it in a background process so I would like for my CI environment to run without a TUI but my local development environment to have a TUI.
Since this changes configuration in the process-compose property I thought about defining two shells, one for CI and one for development. They share a lot of configuration but I don't need many packages or processes for the CI environment relative to the dev environment.
By the way, when I tried setting tui = false as a boolean the process-compose command generated failed, I don't have my computer at the moment so I can't share more info but to fix it I had to make it a string instead. Could be great to add it to the docs!
Hi! For context I'm using devenv with flakes, here's an MRE of my situation:
How would I go about starting the services defined in the
ci
shell? I tried running:nix develop --impure .#ci --command bash -c "devenv up"
But this still runs only the postgres service thats defined in the default shell.
I also tried running:
nix run .#devenv-up-ci
But this fails with:
The text was updated successfully, but these errors were encountered: