devenv icon indicating copy to clipboard operation
devenv copied to clipboard

flake devenv shim should be opt-in?

Open edrex opened this issue 2 years ago • 1 comments

I am using devenv in my home-manager profile via flakes integration to install language bundles. This results in the devenv flakes shim script being installed into my home profile, which isn't very useful since it doesn't support devenv functionality for project directories that I enter.

I honestly don't see the point of the shim. I think the use-case it's meant to serve is:

  • team is used to devenv cli (which team is this?)
  • project maintainer wants to use devenv as a lib via a flake instead

I would instead advocate for exposing devenv functionality via flake outputs. For example, nix run .#devenv.up. These outputs could be provided via the flake-parts module, or inlined in the flake.nix for the plain flake template.

Additionally, the main devenv tool could learn to proxy into flake outputs.

At the very least, IMO the shim should be made opt-in since it serves a very specific use case.

Sorry this report is a bit all over the place. I'm 6 levels into a dependency chain and just trying to provide some feedback as I fly by.

edrex avatar Apr 06 '23 20:04 edrex

I'm up for this if someone wants to tackle it.

domenkozar avatar Mar 22 '24 06:03 domenkozar

Looking at this a year later, it seems like maybe I just needed a way to opt out of the shim, which probably is possible but I just don't know nix well enough, and anyway I don't have a repro around anymore so I'll close.

There are some design / UX ideas around improving ergonomics for the flakes integration but I'm not sure if they're still relevant bc I'm not using the flakes integration anywhere ATM.

edrex avatar Aug 21 '24 16:08 edrex