Spoiler alert: lengthy Linux ramblings below, feel free to ignore:
@Dave@lemmy.nz: Update on my laptop situation: I decided to simplify my setup last week, no more dual-booting. Wiped my whole laptop - got rid of Windows and everything else, then encrypted the drive using Opal, and installed Bazzite (Steam Deck variant) without LUKS. I also installed Windows to an external SSD, just in case I need a physical Windows for whatever reason. Instead of booting straight to Steam, I decided to boot to desktop. There's a handy shortcut on the desktop which switches to Steam (aka game mode) so it's only a click away if I need it. Of course, I could've gone for the "desktop" variant of Bazzite, but the Steam Deck variant has additional tweaks for gaming, some of which come straight from Valve. Only issue with this was that the screen would automatically rotate to portrait after booting, but I wrote a startup script to fix that.
Bazzite itself has been pretty rock solid so far. Compared to Nobara, the first thing I've observed is how incredibly responsive and smooth the desktop is - which is especially noticeable when the animations for the overview mode / workspace switcher kicks in. Using the three-finger gesture on the trackpad to switch workspaces for instance is just as smooth as my MacBook (and I must say, Lenovo have done a great job with the trackpad). Desktop is pretty responsive and animations are smooth even under heavy load. I guess this is thanks to the System76 scheduler they're using, instead of whatever Fedora uses by default. Plus all the magic sauce Valve put in.
The immutable distro world is a bit more trickier to get used to, but I think I'm getting the hang of it - as in, how to operate this stuff properly:
- Normal apps are installed via Flatpak or AppImage
- CLI apps, or apps not on Flatpak, are installed via Nix (preferably) or exported from a Distrobox container
- System level apps are installed layered on top of the base filesystem, using the
rpm-ostree install
command, instead of runningdnf install
. In fact, you don't use dnf at all, so it's a bit strange considering this is still Fedora at heart. The only system-level apps I've got installed at this stage is libvirt/virt-manager for my VMs. - A Fedora VM for all my DevOps work stuff, so all of it is contained in a single space, and my host OS isn't polluted by unnecessary services that I don't want to use during my free time; plus it makes it easier to snapshot/restore my work environment. I chose the LXQT spin and it's super lightweight - uses very little RAM and the CPU overhead during idle is only 0.3%. I also set up an automatic balloon script which frees up cached RAM from the guest and releases it to the host.
- A Windows VM (Tiny11 Core) for running a few proprietary Windows apps (mainly Adobe Reader/Acrobat at this stage). Tiny11 Core is incredibly lightweight for Windows (uses only ~800MB RAM and 3gigs of disk), and after disabling a few more unnecessary services, I got it's idle RAM usage down to just ~600MB! CPU overhead is 1%, which is not bad at all, but I'm poking around to see if I can bring it closer to 0% like my Fedora VM. I've also installed WinApps to seamlessly integrate my Windows apps with my Linux host (so if I click on a PDF in Linux, it'll seamlessly open in an Adobe window, as if it were a native Linux app).
Nix is an interesting technology, something new to me. One of it's cool features is the home manager, which installs all apps to your home directory (which is really handy for immutable systems like Bazzite). On top of that, the uBlue/Bazzite guys have developed a tool called fleek - which makes the whole thing portable, by syncing your config to a git repo. So this means I can replicate all my CLI tools and environment across multiple systems - so both my Mac and Linux shell environments are virtually identical.
Overall, I'm loving the update mechanisms and app flexibility, it's like Fedora's turned into a rolling-release distro like Arch, but with easy rollbacks and none of the instability. The nixpkgs repo is just as exhaustive as Arch's AUR (if not more), and with nix I can have multiple versions of the same package installed if I wanted to, and with ostree I can even have multiple versions of the base OS pinned to my boot menu - which also means I could also easily switch between different OCI distros without dual-booting, and keeping my customisations intact.
I've barely scratched the surface of all this new tech, but so far, I'm pretty happy with how it's all going, and it's really exciting playing around with all this stuff.