Was trying to install guix on top of fedora silverblue. It’s kinda working, but not exactly stable…
It feel like so long since I’ve seen someone use this template correctly, so you’ve got that going for you 👍
where i get into trouble is when i do a bunch of
nixos-rebuild —switch
es between restarts and some state ends up hanging around, so next time i do a reboot that ephemeral state is gone and whoops no internetNot specifically a nixos issue, also at least nix gives you rollbacks
If you’re not already, just erase your darlings.
Then you can preview what files are lost on reboot (see blogpost).
Its the ghost, the ghost in the machine. Major Kusanagi would be proud
Some updates after sleeping on it and trying some morning debugging:
- It’s actually either service being enabled that prevents login
- It’s a gnome-shell issue. Logging into a tty is fine, and shows that it’s gnome-shell crashing when trying to log-in normally
Maybe it’s time to go back to debian…
Debian hasn’t done me dirty yet
Maybe it’s time to join us in NixOS land. When you have the immutability on top of the whole OS and the language controlling it, things tend to work a bit better.
I’m Sorry we don’t have the “))))))”. Just a weird ass language.
I just don’t get these for a bare metal system. Containers? Sounds great. Definitely on board. Bare metal? Debian, standard fedora, or gentoo is what makes sense to me
Workstation-as-code is pretty dope for enterprise…
The idea of an immutable, idempotent, declarative workstation, from cradle to grave, tickles me pink.
Fedora Atomic has been working nicely on my personal laptop. Anything funky, I tend to run in a VM w/ libvirt (KVM/QEMU) or a container. Makes it quicker to fix if I break something.
Wait, what? I’m legit not familiar with immutable distros, is it like you’re only allowed to modify certain directories?
Kinda. Generally the user files (including custom installed applications) are on a rw partition. Whereas the system files (OS files, root folder, etc) are on a ro partition. When updates are applied to the core system they come as complete images. No compiling from source on the fly.
The advantages to this is that it should be near impossible to break your system. If you need to roll back to a previous version the system just/downloads/mounts the previous image. There is less flexibility in terms of changing system files. But the idea with immutable distros is that you shouldn’t be modifying system files anyways, and there are different ways to accomplish things.
A really good example is Android. Android (non-rooted) is kinda-sorta an immutable distro. Except it uses an A/B partition method, where the active system downloads and installs to the other partition, triggers a flag, then a reboot picks up the flag and boots from the newly installed partition. If anything goes wrong, another flag is triggered and it boots from the “good” partition.
It’s not quite the same, but at a high-level it kinda is.
Edit: article I found about it
https://linuxblog.io/immutable-linux-distros-are-they-right-for-you-take-the-test/
Honestly, my current stance on immutable distros is: why don’t you have a mutable distro and just try to follow the best practices without being forced to?
Install flatpaks, use Distrobox when something is only available as a standard package, but doesn’t actually depend on non-isolated system interaction, etc.
This way, nothing breaks the way it does with immutable distros, but you still have a reasonable level of confidence in your system.
I recently brought over some ideas from VanillaOS over to my Arch install.
- Install as much as possible via flatpak
- Install a bunch of other stuff in distrobox (with podman backend)
That gives me like 50% (idk fake number) of the features from VanillaOS, but I get to keep control over my system.
Not that I ever had any problems with native
pacman
installs though… so… not sure how much benefit I’m really getting from doing this. I guess mypacman -Syu
command runs faster now. That’s something…Byebye to your storage 😆
Luckily, I’m able to afford more than an 8GB SSD on my laptop. 😆
$ podman system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 2 1 2.775GB 2.293GB (83%) Containers 1 0 3.492GB 3.492GB (100%) Local Volumes 2 2 0B 0B (0%) $ flatpak list | wc -l 65 $ du -hs /var/lib/flatpak 12G /var/lib/flatpak $ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cryptroot 234G 31G 191G 14% /
A 256GB drive is on the smaller side and I’m barely at 14%. Storage is cheap.
Not judging but just fyi, that’s like the worst of both worlds tbh. The point of installing independently of the base system is that the system is immutable and easy to roll back to a previous state, if you use a mutable system and also install packages with other means, you’re working around a limitation that isn’t even there and wasting more space to get almost none of the benefits (aside from easier permission control for Flatpaks)
Really my main point of doing this was to try something different. I’ve been neutral on flatpak this whole time. I’ve never had problems with native installs, but I’m also a little judicious on what I try to install on my systems. The point of this exercise was to flip those habits.
About flatpaks, I’ve learned:
- a ton of stuff I installed via AUR is available as a flatpak
- some flatpak apps seem to be a little less buggy than the native installs for some reason… (Thunderbird specifically)
- flatpaks use more disk space
Distrobox has also been cool because I usually don’t like to install random crap on my machine, but with Distrobox I’ve been doing just that. I can install random C++ libraries, Node, Haskell, Postgres, etc and not worry about polluting my main system I actually care about. In the past, I would take some time to consider if I should really install this random thing. And yes, I’d
pacman -Rs pkg
if it didn’t pan out.I’m not sure if I’ll keep running the system like this, but so far it’s been interesting to run things a little differently.
Things I’ve liked:
- Thunderbird flatpak is less buggy than Thunderbird native
- Managing flatpak apps via Software Center or
flatpak
is easy/nice - Distrobox seems useful for working on different types of software projects
Things I don’t personally care about (but other people might and that’s fine):
- using more disk space
- the fact that my main system is still mutable
Things I didn’t like:
- nothing so far
- I actually went in thinking I was gonna have to fight
- with the flatpak permissions, but everything has worked
- fine so far, so… not sure what I don’t like.
- maybe I’ll hit a snag soon and then I’ll change my mind
Why are you even running arch at that point, for the DE updates?
Honestly, just because I’m the most comfortable in Arch. I tried VanillaOS briefly, but it was way too annoying to install tailscale, so I went back to what I know.
Immutable seems like a good idea and it is for security or for a console-like PC but for any sort of intermediate or advanced user, it’s not such a good idea.