>>2070I'm still around just been very busy. I'm not to the point yet where I want to invest in infrastructure because it would sit unused for many months before things would be ready to go live. I also refactored this entire project again recently so I started from scratch sometime last month. But it was for the best because bending Portage to my will was getting old really fast and I was going to have to write a ton of code to make it do the things I want.
What I've ended up landing on in Guix package manager. Which does everything Portage did sans global USE flags. But those don't matter because you can write reproducible package definitions using Scheme. So it's just a matter of modifying each package to compile in or exclude what we want in the base system. I've been spending the last several weeks porting over my work from Gentoo/portage and finally got a booting system a couple of days ago that replicated most of the base config.
While you wait I highly suggest going through the guix documentation and maybe setting up a test system yourself. Since if you have a working Guix system switching over will be a simple process. You'll just have to clone one text file and rebuild your system with a simple command.
https://guix.gnu.org/manual/en/html_node/index.htmlThe docs are _really really_ good. The downside of this is they're so good you won't get many copy/paste snippets from google searches when you run into problems. Since you're expected to RTFM and the GNU guys only communicate and work together through the mailing lists. They're old school like that. That said I've not had any trouble myself switching over. I find it better than Nix because what is called home-manager and flakes in Nix actually works in Guix and the docs are much better. If you want Nix for whatever reason you can still have it by installing it under your ~ directory. Same goes for Flatpak and Docker and all that kind of stuff.
Another downside is the Guix people don't support non-libre software at all. Meaning driver support in the default installer for things like common wifi chips and GPUs isn't there. But it's a simple matter of changing a couple of lines in your system config to pull in the usual kernel from non-gnu channels. If you need that stuff your best bet is using an installer put together by some guy called System Crafters at the moment (or you can do it manually with the regular Guix installer).
The installer is _really_ good by the way. One of the few that can get encrypted /boot right out of the box in my experience. Just need to modify some things in it to install my base system by default and allow non-GNU approved software. I don't like their politics but at least they aren't too forceful with them. I expect if I don't do it someone in the next few years will build a new distro on GNU Guix and it'll take off. There are just a few corner cases with some software to work out first. Some things like KDE DE aren't ported yet and other software doesn't play nice with the cow-store because it uses hardcoded paths. But so far I haven't found anything major. Steam and Proton works along with most of the wine stuff I've tested.
I've kind of gone to the dark side these days. I find myself no longer really leaving emacs for anything. But I'm still working on a GUI for people that aren't a fan of such a workflow. But lower level stuff needs to be finished before I get back to that.
Guix uses the Shepard init by the way. I'm finding it to work really well and I've opted to use it instead of trying to tard wrangle the moving target that is s6 (they've made me start over twice in just the last couple of years with API changes). Most important services have been ported over from systemd already and those that haven't are easy to write.
Really the only downside at the moment are no tard friendly documentation and how to guides. If you're willing to read technical manuals it's all there in detail. But there isn't a lot of stuff like
>If <x> is broken that's a common problem just copy/paste <y>What you get in return for re-learning some stuff is really nice though. Nearly impossible to brick a system or screw up your config. The package manager won't let you make system-wide breaking changes. No more random shit laying around /etc from years ago that you forgot about when attempting to update/migrate.
The main reason I'm using Guix is because there is a lot of work being put towards true p2p distro of packages. Meaning build servers aren't required and everyone using the OS can share their built bins with each other with the assurance that they're good and not tampered with. It isn't ready yet but I expect it to be finished very soon. This was going to be the core reason for making a new distro for me. So I prefer to chip in and help out these guys instead of going it alone. It'll also be useful for some other stuff I have planned (the ability to offload video/audio encoding to other machines/servers).
If you do decide to give it a try do let me know if you run across anything that isn't already packaged or doesn't play nice with how Guix uses symbolic links everywhere. I stumbled upon one this morning that I was able to fix with a couple of lines of code.
I'm becoming a bit of a lisper lately. I've known it for many years but I always avoided writing much in it for whatever reason. But this project is forcing me to use it more often. I don't really mind it once I got emacs set-up to do some highlighting to keep track of all the (((((()))))). It's a really good language.