Pier-Hugues Pellerin <[email protected]> writes:

> Ludo, Ricardo, Sergio what do you think I should do? Should I create a
> proposal in an issue to discuss it. Maybe with the following points:
>
> - Is this something we want?

Since this is the first time I see this kind of tech, I'm not sure about
the implications. I'm certain that if this is some feature of the Nix
ecosystem, there is a need to be fulfilled.

> - How does that fit into Guix, both regarding existing features and new
> ones?

Could this be used in a way that integrates with the running user-land?

One need that Guix struggles to fulfill, is the isolation of user-land
processes, not because Guix is lacking the technical features, but
because the UX is not designed for that. For example, if one would like
to run Minetest in an isolated environment, the user will need to figure
out the Guix shell invocation for that. That will involve some guesswork
until you get it right. You will need to pass flags such as:
`--container`, `--emulate-fhs`, `--preserve=REGEXP`, `--expose=SOURCE`
and `--share=SOURCE`.

It would be great if we could provide some pre-configured microvm
helpers for this kind of uses. Although I'm not sure if it's possible to
make the host display-server handle the graphical window in the same way
we can do through the Guix shell containers. Is it possible?

That API could look something like:
--8<---------------cut here---------------start------------->8---
(microvm
 (inherit %lightweight-desktop-microvm)
 (name "minetest-vm")
 (shares
  (list (share
         (tag "src")
         (shared-dir "/home/<USER>/projects/minetest/<MODS>")
         (mount-point "/usr/share/minetest/games/minetest/<MODS>")
         (readonly? #f)
         (type "virtiofs")))))
--8<---------------cut here---------------end--------------->8---

Note that I'm not familiar with Minetest, so I have no idea if the mods
are expected to be in those folders. Take it just as a vague example.

We would need something to consume the VMs in a more ad-hoc way. So that
could be something like `guix vm minetest-vm.scm`


Best regards,
Sergio

Reply via email to