chattr -i /
mkdir -p /gnu/store
chattr +i /
The last command restores the immutable attribute on the root filesystem. I am able to write arbitrary files (e.g. `touch /gnu/store/test`) even with that attribute set, so it isn't inherited by subdirectories (maybe obvious).Now, persistence of the /gnu/store data could be an issue, I'm not sure, but maybe this gets you started?
EDIT: next step is to get Guix installed and then try to update the system, we shall see how it goes
I think the solution will require using systemd to recreate that folder on boot, and do it early enough to not make the system panic like that.
Maybe that's a bad idea, I don't know enough about ostree/silverblue. However, after some more digging it seems like this solution would be preferable to changing the default guix store with a custom build, since doing that means you can't use any of the pre-compiled binary packages from the official guix servers.
Additionally, I have found some posts as far back as 2017 regarding using Guix or Nix on Fedora Atomic Linux or Fedora Container Linux (it seems the Silverblue name is more recent) and the fact that we're still puzzling it out 5 years later without much in the way of documented success does make me question the viability of the idea a bit.
...Well, it might. I actually had zero experience with both ostree/silverblue and guix when I tried doing this, and may have made some hasty assumptions.
EDIT: I do know however that guix doesn't work if the store is a symlink. I tried doing that a while back and it didn't work.
EDIT: Or is the filesystem not literally read-only? Sibling comment seems to imply that it's just chattr +I'd