Devolutions / Devolutions/UniGetUI

[FEATURE REQUEST] Configure environment for update per-package

Open
#2,922 0 comments 1 reaction 1 assignee Claimed by @marticliment View on GitHub
new-feature ready-to-go
Dominant language
C#
Stars
26.1k
Forks
924
Avg merge
15h 52m
Merged PRs (30d)
52

Description

### Please confirm these before moving forward.

- [X] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
- [X] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use [this template](https://github.com/marticliment/WingetUI/issues/new?assignees=marticliment&labels=enhancement&projects=&template=enhancement-improvement.yml&title=%5BENHANCEMENT%5D+%28Enter+your+description+here%29).

### Describe the new feature

For each package, one of the following options. Any of these would work, however C would work well with both of the others to make it more maintainable for the end-user.
A. add a custom prefix and suffix to the command to be run
B. location or content of a script that runs before updates
C. set custom environment variables such as PATH (and per-package-manager variables, though unigetui doesn't have to care what they are)

### Describe how this new feature could help users

Cargo packages cannot all be installed with a singular default system environment; some packages need specific toolchains (nightly, stable), some need gcc (via msys2 or Cygwin), and some need Microsoft. Setting paths would allow the use of different binaries (unfortunately, gcc and Microsoft have different link.exe, so they can't share the same environment)

Some python packages have similar requirements for native dependencies, or the user may want to add a network host to download pre-built wheels from.

Ideally, there would be the ability to run the commands from inside specific msys2 environments, but I'm not sure if that's actually possible to do reliably for arbitrary commands (ie not just running pacman) without popping up a window on screen and monitoring output, given that it sets up the initial environment using a binary rather than a script, and that environment needs to then be further modified to add cargo to the path. If this is possible, it would probably also enable users to hack together some way to use WSL with UniGetUI.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.