unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* non-root store
@ 2020-12-06 14:57 Ricardo Wurmus
  2020-12-06 16:07 ` Pjotr Prins
  2020-12-08 11:19 ` Ludovic Courtès
  0 siblings, 2 replies; 3+ messages in thread
From: Ricardo Wurmus @ 2020-12-06 14:57 UTC (permalink / raw)
  To: guix-devel

Hi Guix,

recently I’ve been playing with “guix pack -RR” and I’m very happy to
see how well it works.  Now I wonder if we could use the very same
mechanism to wrap guix-daemon and let it manage a store directory that
is not located at /gnu/store.

Surely somebody has already tried this?

A common complaint about Guix is that it requires root permissions to
install, which is “scary” and may seem unnecessary on single-user
systems.  By wrapping guix-daemon so that it uses file system
virtualization (via user namespaces, proot, or the glibc debug hack) we
could eliminate this obstacle.

What do you think?  Am I missing something obvious?

-- 
Ricardo


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: non-root store
  2020-12-06 14:57 non-root store Ricardo Wurmus
@ 2020-12-06 16:07 ` Pjotr Prins
  2020-12-08 11:19 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Pjotr Prins @ 2020-12-06 16:07 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

On Sun, Dec 06, 2020 at 03:57:00PM +0100, Ricardo Wurmus wrote:
> A common complaint about Guix is that it requires root permissions to
> install, which is “scary” and may seem unnecessary on single-user
> systems.  By wrapping guix-daemon so that it uses file system
> virtualization (via user namespaces, proot, or the glibc debug hack) we
> could eliminate this obstacle.

We have started providing Guix built Docker containers. Works for many
users. But yes, a native install would be much nicer.

> What do you think?  Am I missing something obvious?

I have run the guix-daemon with proot as a user in the past. So it
should be possible with user namespaces.

https://github.com/pjotrp/guix-notes/blob/master/GUIX-NO-ROOT.org#run-guix-daemon-in-proot

Once you have it in proot you can install software and even build
binaries on a relative path.

It is just a bit too much for the average user. 

Pj.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: non-root store
  2020-12-06 14:57 non-root store Ricardo Wurmus
  2020-12-06 16:07 ` Pjotr Prins
@ 2020-12-08 11:19 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2020-12-08 11:19 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hi!

Ricardo Wurmus <rekado@elephly.net> skribis:

> recently I’ve been playing with “guix pack -RR” and I’m very happy to
> see how well it works.  Now I wonder if we could use the very same
> mechanism to wrap guix-daemon and let it manage a store directory that
> is not located at /gnu/store.

Yesss!

> Surely somebody has already tried this?

I did some time ago:

  https://lists.gnu.org/archive/html/guix-devel/2018-05/msg00139.html

The environment variable names changed in the meantime, I guess you’d
need to set GUIX_STATE_DIRECTORY now.

> A common complaint about Guix is that it requires root permissions to
> install, which is “scary” and may seem unnecessary on single-user
> systems.  By wrapping guix-daemon so that it uses file system
> virtualization (via user namespaces, proot, or the glibc debug hack) we
> could eliminate this obstacle.
>
> What do you think?  Am I missing something obvious?

I think it’d be great to streamline this use case.  We could even ship a
-RR tarball in the future, though we need to think about all the
implications.

One of them is that we’d probably need to include a shell in the bundle,
so that users can “enter” the file system view that includes /gnu/store.

Alternatively, we could provide a package transformation option that
“relocatable-wraps” executables, using ‘wrapped-package’ from (guix
scripts pack).

Thoughts?

Ludo’.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-08 11:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-06 14:57 non-root store Ricardo Wurmus
2020-12-06 16:07 ` Pjotr Prins
2020-12-08 11:19 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).