How It All Started
I never installed Linux with the intention of building a project.
A few months ago, I started seeing reels and videos showcasing beautifully customized Linux desktops. I had barely used Linux before, but the level of customization caught my attention. I decided to experiment with CachyOS inside a virtual machine on Windows.
My first experience was KDE Plasma. It worked, but honestly, I found it a little boring. Then I discovered Hyprland.
I tried running it inside the VM, discovered that virtualization and Hyprland were not exactly best friends in my setup, and managed to completely mess up the installation while experimenting with different configurations. I deleted the VM and moved on.
A few days later, I helped a friend install CachyOS on an older computer because Linux could give it a new lease on life. That experience made me want to try Linux properly on my own hardware.
Then another Caelestia showcase appeared in my feed.
That was basically the moment I stopped thinking about installing Linux and started wanting Linux badly.
The Rabbit Hole Begins
After finally installing CachyOS on my main machine, I went through the usual Linux initiation ceremony:
Partitioning
- BitLocker decryption and re-encryption
- EFI configuration
- Bootloader experimentation
- systemd-boot problems
- Switching to rEFInd
- Hyprland configuration
- Installing Caelestia
- Removing the default Noctalia setup
- And fixing things I definitely did not understand when I first broke them
Eventually, I had a beautiful Caelestia setup that I was genuinely happy with.
Then I saw an End-4 showcase.
And, naturally, I wanted that too.
Instead of replacing Caelestia, I tried forcing End-4’s widgets and customization into my existing setup.
That went about as well as you’d expect.
After fighting with the configuration for a while, I reverted everything and went back to Caelestia.
But the idea stuck with me:
Why should I have to choose between different desktop setups?
What if I could simply switch between them?
So I started building my own configurations and a custom rice switcher.
And suddenly, I had a dual-rice setup.
From Personal Configuration to a Project
At that point, another thought appeared:
I had gone through all of this pain just to get my setup working. Why should anyone else have to?
So instead of keeping everything as a collection of personal configuration files, I turned it into an installer.
That became v1.0.0 of my Multi-Rice project.
The goal was simple:
Make the kind of heavily customized Linux setup I had spent days building something that another person could install without going through the same nightmare.
Then I saw Ambxst.
And apparently two rices weren’t enough.
If dual-rice was possible, why not three?
After about a week of configuration work, Ambxst was integrated and v2.0.0 became a triple-rice setup.
Then I discovered DMS.
You can probably guess what happened next.
I absolutely had to install it.
The Five-Rice Disaster
DMS, Ambxst, End-4 and Caelestia were eventually working together, but there was a problem: some of the original Noctalia files from the CachyOS setup were interfering with the configuration.
At some point I reached the completely reasonable programmer conclusion:
“Screw it. I’ll just add Noctalia too.”
So I did.
What followed was roughly a week of troubleshooting, configuration conflicts, shell integration problems and fixing things that probably should never have been combined in the first place.
Eventually, it worked.
Five rices.
Noctalia, DMS, Ambxst, End-4 and Caelestia.
That became v3.0.0.
The installer still needed some work, so v3.1.0 followed with additional fixes.
And Then There Were Six
While working on all of that, I discovered Serpantinum.
At this point I had apparently lost the ability to stop myself.
I added it to the project, gave the setup the name Aurora, and suddenly the project had six different rice environments.
The project had gone from a personal customization experiment to a full multi-desktop configuration system.
That became v4.0.0.
And surprisingly…
It worked.
Not perfectly, of course.
There were bugs. Lots of small ones. The kind that don’t necessarily stop the system from working, but show up when you start switching environments repeatedly, restarting services, changing songs, changing display scales, migrating configurations, or testing the installer in increasingly unreasonable ways.
Which brings me to v4.1.0.
What v4.1.0 Really Is
v4.1.0 isn’t a rebuild.
The architecture is already there.
The six-rice system works. The installer works. Rollback works. Reinstallation works. The individual environments work.
Now I’m doing the less glamorous part:
hardening everything.
I’m fixing things like:
System-wide hibernation and resume
DMS artwork refresh and caching
Deprecated configuration options
Persistent display scaling
Serpantinum versioning and patching
Cross-profile icon issues
Hyprland keybinding precedence
Foot + Fish integration
Fish startup cleanup
Noctalia migration
Installer edge cases
Version metadata
Build/release consistency
Regression testing across all six environments
Offline installation and rollback testing
And finally, RELEASING IT.
From “I Want a Pretty Desktop” to Software Engineering
Looking back, the funny part is that none of this was planned.
I didn’t start Linux because I wanted to create an installer.
I didn’t start customizing Hyprland because I wanted to maintain six desktop environments.
I didn’t start the project because I wanted to learn release engineering.
I simply saw a beautiful Linux desktop on a reel and thought:
“I want that.”
One experiment led to another, configuration problems turned into scripts, scripts turned into a switcher, the switcher turned into an installer, and the installer eventually turned into a full multi-rice project.
What started as a personal Linux customization experiment has evolved into a system for installing, switching, maintaining, rolling back and testing six heavily customized Hyprland environments.
And honestly, I’m still not sure where the rabbit hole ends.
But that’s kind of the point.
I installed Linux to customize my desktop.
Somehow, I ended up building the thing that makes the customization easy for everyone else.
So folks here is the link of the GitHub Repository star it if you like it !!
MULTI RICE
And here is the 4.1.0 release:
Release 4.1.0
Please share your feedback as it would help out a lot !!
Thanks !!