Layering environments and containerization


Let me first state the I’m extremely new to Flox so apologies if these features already exist or the issues are already addressed elsewhere. I didn’t find answers in the official documentation and I’m a newbie to everything Nix.

So far Flox is a great tool and I can see myself using it extensively in the future.

I love the idea of working with layered environments but I have two issues with them:

  • I would like to be able to “link” layered envs:

Say I have a pygen env and a projectX env that I always plan to run “within” pygen, I would like a way to specify that projectX always needs pygen, so when I activate projectX, flox automatically activates pygen (ideally this should be transitive, too).

  • What happens when I containerize projectX that “depends” on pygen?

I suspect that only the packages inside projectX get picked up, as there is no explicit dependency to pygen but I may very well be mistaken.

  • Another, different, possibility would be the ability to merge environments:

I do my work with the layered envs activating them by hand without any explicit dependency between them, but when i need to containerize my product, there is a Flox command that allows me to merge environments into one I can containerize.

Again, apologies if all this already exists/can be done and I simply haven’t found how yet.

have a nice day,

We currently don’t have a way of composing environments from other environments but this is something that we have on our plan. I logged an issue to collect feedback on this and to share the designs once they are available

Thank you! I’ll be following the discussion and development of the issue with interest.

ciao, Francesco