jetify-com / devbox

Instant, easy, and predictable development environments
https://www.jetify.com/devbox/
Apache License 2.0
7.83k stars 187 forks source link

Use devbox project to manage utilities like process compose. #2106

Closed mikeland73 closed 3 weeks ago

mikeland73 commented 1 month ago

Currently use use addDevboxUtilityPackage and removeDevboxUtilityPackage to add process compose. This manages packages with a nix profile. Instead we should use a fixed devbox project, similar to how we handle global.

Using a devbox project has the following benefits:

We could do something similar to ensureGlobalConfig for utilities:

path, err := ensureUtilConfig() // See `ensureGlobalConfig` for inspiration
box, err := devbox.Open(&devopt.Opts{
  Dir:    path,
  ...
})
box.Add(ctx, "process-compose@v1.5") // This would automatically replace older versions, etc