ScoopInstaller / Scoop

A command-line installer for Windows.
https://scoop.sh
Other
21.28k stars 1.41k forks source link

[Feature] add workspace virtual env support, just like devbox #6074

Open lz37 opened 3 months ago

lz37 commented 3 months ago

Feature Request

Describe the solution you'd like

On Linux and Macos, there's a command-line tool called devbox based on Nix Package Manager, which is very cool. It can generate a virtual env for each workspace(dir), by hacking on environment variables, apps in workspaces being stored in .devbox subdir and linked to global nix store. Could you support similar functionality or tool like that, because scoop and nix are similar in my point of view, and it is really a good feature on development.

lgranie commented 3 months ago

To start, maybe just a scoop shell command : libexec/scoop-shell.ps1 Is Windows Sandbox an option?

lgranie commented 3 months ago

In the scoop config, there is some interesting values like : root_path, global_path, use_isolated_path ... Maybe a scoop shell run can load a specific config.json by launching a powershell pointing to these config.json. You can play with by creating a .test/.config/scoop/config.json file and

Start-Process pwsh.exe -Environment @{ XDG_CONFIG_HOME = '.config' } -Wait -NoNewWindow -WorkingDirectory .test scoop config root_path $pwd/scoop mkdir -p scoop/buckets/main scoop update scoop install [app]

lz37 commented 3 months ago

In the scoop config, there is some interesting values like : root_path, global_path, use_isolated_path ... Maybe a scoop shell run can load a specific config.json by launching a powershell pointing to these config.json. You can play with by creating a .test/.config/scoop/config.json file and

Start-Process pwsh.exe -Environment @{ XDG_CONFIG_HOME = '.config' } -Wait -NoNewWindow -WorkingDirectory .test scoop config root_path $pwd/scoop mkdir -p scoop/buckets/main scoop update scoop install [app]

Wow, looks interesting. I'll try it.