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:
nicer versioning
built-in upgrading
Caching
We can install binaries directly (using runx)
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
Currently use use
addDevboxUtilityPackage
andremoveDevboxUtilityPackage
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: