Guix

Guix is a pretty cool operating system. Scheme is a pretty nice language, as well.

I have a personal Guix channel, which might be useful for some home services. (There is a surprising paucity of those in the base system, particularily for graphical services. Which makes sense, as Shepherd doesn't make it very easy.)

I also have my dotfiles public, if they can be useful at all.

Fonts in Flatpak

Flatpak doesn't really like distros that don't use FHS. In this case, I had the problem of fonts not being accessible from within the sandbox. This was fixed with the following global overrides:

[Context]
filesystems=~/.fonts.conf:ro;~/.guix-profile:ro;/gnu/store:ro;/run/current-system/profile:ro;~/.config/fontconfig:ro;~/.guix-home/profile:ro;

[Environment]
FONTCONFIG_PATH=/run/current-system/profile/etc/fonts
FONTCONFIG_FILE=/run/current-system/profile/etc/fonts/fonts.conf

And link ~/.config/fontconfig/fonts.conf to ~/.fonts.conf. This is deprecated, but whatever, for now it works.

Not ideal since it gives the Flatpak access to some host files, but they're read-only and not particularily sensitive.

Other

Some Flatpaks (such as Steam) persist the home directory. This means that .guix-home and .guix-profile get persisted, which causes problems when the links change. As such, after every reconfiguration or other profile change, it is necessary to run something like ls ~/.var/app/*/.guix-{home,profile} | xargs -n 1 unlink.

Flatpak MIME associations do not work inside Flatpaks with the GNOME desktop portal. I don't know why. Just set what you care about manually.