I used to spend an unhealthy amount of hours customizing my desktop (Plasma) just to distrohop and repeat that cycle one million times. Then I just got used to the vanilla state of Plasma, and now I really don't care about that at all.
For people that still care and distrohop, there's a tool called "konsave" which allows you to save, restore and export specific Plasma customizations (settings included). You only have to reinstall themes you had to install as a package/compiled it.
Kind of, but it's from my FreeBSD days. It was early 2000s, and at that point I'd been using it since version 3.3, and I was toying with 4.4, and I was getting into kernel optimization. I started removing the things I didn't need.
A lot of it was simple, such as firewire support, etc. Then I came to the section about peripherals. "AT keyboard? Yup, that's going"
Welp, turns out PS/2 keyboards were built on top of the AT keyboard subsystem. Luckily I could SSH into it and revert the change.
I used to be constantly making tweaks to stuff and distrohopping like none other, but in 2018 I finally found THE setup and settled down. These days it's all about having scripts that set things up exactly how I want them.
That's the beauty of Linux! If you feel adventurous, you always easily find something to tweak/experiment. Since I moved to Linux my mindset and workflow never ceased to evolve. That's because I'm curious but that couldn't be possible in any other OS. Only Linux can offer so much options and an exceptional level of granularity so anyone can build his/herown perfect system. We may achieve the same thing but in different ways and we'll both run Linux.
If you're more shy you can simply install a set of software under a given distro and you're done. This is also a Linux option. Right now, I couldn't find any challenges to keep me busy for more than a day or two until I decided to test a new system (NixOS) in a virtual machine. This is another way to have the kind of fun you mention :)
I love tweaking and improving my system so much that I dedicated my little blog only to that. Sharing is another crucial principles I love in the Linux philosophy.
I tried Arch in a VM about when Archinstall came out. And after the first install, I did it again with archinstall | lolcat. The configuration part was a little buggy, but let me tell you; it was worth it.
About 90% of what I know about ssh, terminal multiplexing, scripting, and diagnostic programs grew from an optimization project.
I had a vague desire to build a one-stop dashboard where I could monitor, update, and control a half-dozen linux computers at once. It was just for fun, but it kept me reading through the manpages for weeks.
I didn't, but only because my solution wasn't novel or generalized for other people. I made a script to fire up tmux on a 'primary' computer with key-based access to my other computers, load up a set of windows and panes, and ssh into each computer. One window would be computers in one section of my home, another window would be computers elsewhere. The only challenge was getting a baseline grasp of the tmux scripting syntax.
I initially set it up to run htop on each computer (dashboard goal, plus easy ability to terminate programs), but the basic setup was flexible. I could set other programs to run by default or and send terminal command updates to each computer from any device that could ssh into the primary computer. Automating updates on a computer-by-computer basis is a better solution, but the setup let me quickly oversee and interactively start multiple system updates at once, from a phone, tablet, or laptop.
I tried some distros but always went back to Ubuntu and then I settled there. Until like 3 days ago. I installed Parch (basically Arch with a GUI installer) and I think I will stay for the AUR.
Did you make your own distro, or do you just mean tweaking some stuff here and there?
Would be very interesting to know what you did!
As for my own story: I'm currently reading into how I can make my own image from universal-blue.org.
I'm planning to take a look into TWMs and am not that happy with current setups and want to make it better (for me at least).
Doing that traditionally would be impossible for one person, but on the self-maintaining immutable system? No problem!
Their startingpoint repository makes it really easy. You fork it and just have to edit a .yml file to customize your packages. GitHub actions will automatically build it daily and rpm-ostree upgrade works like normal.
You could also look at something like the bazzite repository if you want to do things manually. It’s basically a Containerfile and a bunch of shell scripts that run inside the container before it’s committed. Then you have the same GitHub actions for automatic builds of your image.
Yeah, the ease of use really looks promising, otherwise I never would have thought about that.
I have zero coding experience, but it seems to be doable even for a noob like me!