Posted by ndegruchy 4/9/2025
I don't agree with the idea of installing extra apps, especially to paying customers, but that's a separate discussion.
https://cedwards.xyz/messing-around-with-windows-unified-wri...
We were able to install programs as admin on Windows in our university computer lab because of DeepFreeze, almost 20 years ago
"Is DeepFreeze worth it?" https://www.reddit.com/r/sysadmin/comments/18zn3jn/is_deepfr...
TIL Windows has UWF built-in:
"Unified Write Filter (UWF) feature" https://learn.microsoft.com/en-us/windows/configuration/unif...
Re: ~immutable NixOS and SELinux and Flatpaks' chroot filesystems not having SELinux labels like WSL2 either: https://news.ycombinator.com/item?id=43617363
WSUS Offline installer is also deprecated now.
And then to keep userspace updated too, a package manager like Chocolatey NuGet and this power shell script: https://github.com/westurner/dotfiles/blob/develop/scripts/s...
ublue-os/main: https://github.com/ublue-os/main :
> OCI base images of Fedora with batteries included
ublue-os/image-template: https://github.com/ublue-os/image-template :
> Build your own custom Universal Blue Image!
Microsoft took Torvalds, who also devs on Fedora FWIU.
"systemd ParticleOS" (2025) https://news.ycombinator.com/item?id=43649088
Two big problems:
1) Because Linux filesystems still suck. You need efficient copy-on-write overlays (and the ability to handle lots of them!) with some level of deduplication to make immutable operating systems not suck.
2) Because the Linux linker sucks. Take a look at the reasons why Nix has to patch binaries and prepare to feel sick in your stomach.
The "UNIX Architecture" is increasingly creaky for the things we want to do on modern machines (see: io_uring because the old select/poll stuff doesn't cut it, for example). We're going to have to sweep a bunch of that underbrush away.
OStree copied Git and used hardlinks with a content addressable object store for years and it didn't "suck". This method is reliable enough that it ended up in a shipped Red Hat product.
It recently gained support for something known as composefs, which is kinda like mounting a manifest of hard links, but the system just needs the one, not "lots of them".
However, that falls apart when you start trying to have lots of "toolbox"/"containers"/"docker" things that people want to use for development.
The DNFs you need inside the container pile up very quickly when trying to do development. Those want to be deduplicated between containers. There is a reason why Nix gets grief about how large its store becomes.
In addition, lots of people also want to containerize their working/home directory. That requires really good overlay support, and nobody has this right now.
There are LOTS of issues filed against "toolbox" for this, for example: https://github.com/containers/toolbox/issues/183 https://github.com/containers/toolbox/issues/348 https://github.com/containers/toolbox/issues/1470
This is something that should be straightforward to implement. However, because the filesystem support sucks, it is not.
Flatpak already does this, if two Flatpak apps ship the same file, it's deduped by default
I do agree the layering part of OCI images is horrible and a waste of disk space, but I don't think this is the fault of immutable distros.
As you correctly say, Windows is all about backwards compatibility. It would be unreasonable to expect any innovations from it, expect innovations in putting ads in more and more places.
Idempotent:
Ansible is designed for idempotent tasks; that do not further change state if re-run.
Windows Containers are relatively immutable. Docker Desktop and Podman Desktop include a copy of k8s kubernetes and also kubectl IIRC
Do GUI apps run in Windows containers?
Again, not perfect, but serviceable.
Flatpaks share (GNOME,KDE,NVIDIA,podman,) runtimes, by comparison.
Re: MSIX https://news.ycombinator.com/item?id=23394302 :
> MSIX only enforces a sandbox if an application doesn’t elect to use the restricted capabilities that allow it to run without. File system and registry virtualization can be disabled quite easily with a few lines in the package manifest, as well as a host of other isolation features.
Flatseal and KDE and Gnome can modify per-flatpak permissions. IDK if there's a way to do per-flatpak-instance permissions, like containers.
MOUNT --type=cache