Subject: Re: bug#78363: Home is read-only in guix shell container

From: Ludovic Courtès <[email-masked]>
Date: Wed, 14 May 2025 18:28:46 +0200

Hello,

Tomas Volf <[email-masked]> writes:

>> As noted in the ‘guix pull’ news, you can use ‘--writable-root’.
>> Otherwise, everything but the current directory and /tmp is read-only.
>
> Does that make sense though?  You have already made an exception for
> /tmp, I would argue that ~ is another candidate for special-casing.
>
> I think people would reasonably expect that touching a file in your own
> home should work.  But it does not:
>
> $ guix shell --no-cwd -C coreutils bash -- sh -c 'touch ~/foo'
> touch: cannot touch '/home/user/foo': Read-only file system
>
>
> Some software just fails to start in the container:
>
> $ guix shell --no-cwd -C deluge -- deluged
> 20:22:20 [ERROR   ][deluge.common:136 ] Unable to use default config directory, exiting... ([Errno 30] Read-only file system: '/home/user/.config')

It’s surprising that deluged tries to write to ~/.config, but yeah, more
generally, I agree that many programs will want to write to ~/.cache and
the likes.

So hmm, maybe we can make another exception?  It doesn’t hurt anyway
since it’s a tmpfs.

Ludo’.