-
-
Notifications
You must be signed in to change notification settings - Fork 316
Description
The intent of this feature (actually a concept) is to allow the user to use more than one environment (with different modifications and dependencies) in one bottle, leaving Bottles to do the hard work of making it all fit.
How it works
Let's add a fourth environment in Bottles: the Automated environment. A bottle created with this environment is basically a clean prefix, with only the essentials, so without any customization or dependency.
The user has access to only two sections:
- list of installed programs
- catalog of programs to be installed
When the user installs a new program from the catalog, Bottles downloads its installer, creates a temporary copy of the bottle and then follows the installer instructions (install dependencies, register keys, change bottle settings ...).
When the new bottle is ready, it compares the two bottles, takes all the differences and saves them in a new state in the overrides directory of the original bottle, then deletes the new one and adds the new program to the bottle's program list.
When the user starts the program, Bottles will mount the override on top of the original bottle and then start the program which will be able to find everything it needs to work.
Benefits
- Less space allocated than the use of multiple bottles. Currently when a software is not compatible with the environment of a bottle, it is necessary to create a new one.
- Shared directories, user files and installed software (although this will require tweak in the future) for each installed program.
- Control over what is installed and immutability of the original bottle.
- Ease of removing a program and then restoring the bottle to a previous state.
- Easy to use. In fact, the user will only have to worry about searching for the program and pressing install. Bottles will take care of everything, without requiring user intervention (unless the program we're going to install requires it).
Drawbacks
- The installation of a program takes some more time depending on the hardware as Bottles will have to copy the original bottle, compare the changes and eliminate the superfluous (Bottles already does this and normally takes a few minutes to create a restore point even when there are large files beyond GB, in this case it is a lot fewer files and I guess it takes a few seconds).
- Even the start of applications could be slowed down, since the override must be mounted on the original bottle (I always think a few seconds but it depends on the weight of the override)
This is just a concept. The feature is still in the planning stage and will see the light in one of the future releases as an experimental feature.
