So this laptop needs a reinstall... Should I give guix system a go?...
-
So this laptop needs a reinstall... Should I give guix system a go?...
As a systemd fanboy I'm not super excited about going to a very different init system with much less functionality, but otoh Scheme, and also previous times I've tried guix it was in VMs and that always put up just enough barriers that I couldn't give it a proper chance
Are there any guix system (or as I've come to call it, guix plus nonguix) users out there? How much fixing of your tools do you have to do?
-
A frustration I kept having with nix was wanting to try something reasonably mainstream (like, say, postgis in today's adventures), and then having to go on a massive sidequest to make stuff work properly because things were either not packaged, or had bitrotted due to the difficulty of adapting upstream software to the weird hermetic universe. I worry that guix is likely to be more of that, amplified by a smaller package selection. Is that a fair assessment?
-
That's where an ubuntu or fedora shines of course, all software mostly just works, if you can live with a disordered system. In my happy place I'd have someting like nix/guix running the base system and my "long term essentials" like emacs and firefox tailored to my liking, but then also a reasonable escape hatch to run "whatever" as a flatpak, or in some other container, or a faked FHS, or whatever. This is definitely possible, but I wonder how much that ends up being "always" with guix.
-
Ari-hell, Count Starts-from-2replied to Dave Anderson last edited by
@danderson uBlueOS and the whole ostree project sound like something you might want to look at. I'm using it and it's like what you describe - immutable base but I can tinker atop it. My home is managed by home manager and I have flatpak stuff on top but the core os is it's own thing
-
/etc/init.d/witch.navireplied to Dave Anderson last edited by@danderson lol i do that with gentoo
i have profiles (sets of packages and use flags and configurations and stuff) that define my base systems and things i need per host
and then whatever else i want in a moment i manually install
been calling this semi-declarative -
@arichtman I gave it a go in my nixos exodus, and my conclusion at the time was that it wasn't quite ready yet (after hitting a couple showstoppers that involved having to hand-build an entire custom image to fix, with very undocumented tooling). That was six months ago so I expect that's still broadly the same, although the pains I hit are known and being worked on, so someday very possibly!
-
Ari-hell, Count Starts-from-2replied to Dave Anderson last edited by
@danderson oh wow that sounds gnarly. I got lucky I guess, I had a couple issues but I just hopped to bazzite and it's largely been "just works" since
-
@danderson absolutely love the adventure+sidequest usage.
-
Dave Andersonreplied to /etc/init.d/witch.navi last edited by
@navi I somehow managed to never use gentoo in my linux using life, which is super weird!
With that setup, do you have some kind of way to do A/B updates or "versions" of the OS or somesuch? The thing I miss a lot from nixos was the ability to fearlessly experiment because the exact previous config I had is just one rollback away, if necessary. If there's a good way to bolt that onto gentoo... that might be on the table too
-
@arichtman I don't even remember exactly what the issue was, but it was the kind where an entire set of activities I needed doesn't work at all. It was some odd interaction between ostree and selinux iirc, and the fixes were "turn off selinux" (half the point of wanting the fedora genus of distros!) or manually construct a workaround image.
-
@arichtman It left a bad taste because iirc it was literally the first set of tools/activities I tried after a basic install and clicking around a bit, and it just faceplanted immediately. I later learned that I mostly got unlucky and happened to zone in on a slightly gnarly known issue, but still
-
/etc/init.d/witch.navireplied to Dave Anderson last edited by@danderson no one has written that yet, but otoh yes
say you have two partitions A/B, and you booted into A
you can emerge your updates into B by giving portage the --root flag, then set so that next boot B gets mounted instead of A
it'd be a new quite complex project to do though -
Dave Andersonreplied to /etc/init.d/witch.navi last edited by
@navi ok so to a first approximation that's a "no" because nixos has burned me out quite hard on trying to do fancy OS things for the first time, and I need more time to recover
Maybe a btrfs root and snapshots is realistically enough for what I want though?... Snapshot before emerging a new config, if it goes hilariously wrong roll back to snapshot. Being able to jump to any version of any config hermetically is cool but realistically I used it as an "aaah shit it's all broken" rescue.
-
/etc/init.d/witch.navireplied to Dave Anderson last edited by@danderson oh, yes
i focused on the A/B thing you mentioned and forgot about that
btrfs snapshots work perfect for this and iirc you can easily rollback / boot an older one -
@dunderhead I like it when I'm not forced to participate in capitalism, and have time to just wander off on sidequests. But when my OS is actively preventing me from doing the thing I need in order to eat, the sidequests are more stressful and rageful than fun
-
Dave Andersonreplied to /etc/init.d/witch.navi last edited by
@navi oh is there some reasonable early boot support for btrfs rollbacks these days? Nixos does that all within initrd in its own weird little way so I have no idea what the state of the art is any more. Sounds like I should go explore!
-
@navi oh another question if I can burden you: in your semi-declarative setup, is there a reasonable way to "diff" your base profiles vs. what you installed by hand? Back in the day my Debian and Arch installs tended to go to hell by a thousand tiny adhd cuts of me installing random things and config tweaks and having no good way to see the delta and unwind it back into my "declarative" configs.
-
/etc/init.d/witch.navireplied to Dave Anderson last edited by@danderson profiles go into your portage overlay, which usually you check in by git
meanwhile things you installed by hand go in /var/lib/portage/world
so, those two package lists never touch, you can erase that world file and tell portage to depclean, and it'll remove everything not in the profiles -
Dave Andersonreplied to /etc/init.d/witch.navi last edited by
@navi oooh, okay I thought this was a chef-like "apply a baseline config but everything's one big pot" situation. Okay clearly I know much less than I think about how gentoo ticks and I should go learn. Thanks for the wisdom!
-
/etc/init.d/witch.navireplied to Dave Anderson last edited by@danderson i'm an openrc maintainer and soon-to-be gentoo dev
feel free to ask any questions you have