luanprojectsarticlestalksstuffgithub

Awesome Farewell, Awesome!

Long live Hyprland + QuickShell2026-11-02

For a while now my stuff page has claimed that I’d been “experimenting with Wayland”. Well, I have updated that page; and it is time to come clean.

I’ve used the AwesomeWM window manager with X11 since I started tinkering with Arch more than a decade (!!) ago. In fact, my first ever commit on my dotfiles repo was adding my Awesome config (which I titled “awesome awesome” on the commit, showing my lack of creativity stemmed from an early age). This commit was after having crafted it for a while locally and fearing that it could get lost, unversioned.

And boy, what a journey it’s been! Honing my perfect WM config and experience for so many years, while often neglecting any design improvements (or changes whatsoever - still having the default colors and background) but instead focusing on usability, keybindings, configs. Making my box super fast. I recall I had a truly old and underpowered laptop at the time, and had it setup as to not start the X server by default, so it would boot faster. Sometimes I was just coding and didn’t need any of the GUI - a quirk that quickly became a joke amongst my friends.

But I’ve known for a while that times are moving on, and so had installed hyprland under wayland on the side. Used it on and off without configuring it much; it sat on this interesting peak where the defaults were just right enough to not bother me too much, but obviously not exactly as I’d like them. The glowing borders and spacious gaps threw me off a bit, but that was rather quickly remediated. The slow progress was incidentally tracked on my git history.

But under my rice folder sat for the longest time a hidden gem that would change everything. Saved for later under growing piles of bookmarks laid to rest on the tomb of my oblivion the catalyst to the utopia I had but forgotten I’d dreamt: QuickShell. With a few flicks of my character paintbrush in the editor, default matter came to bespoke life. Like god I sparked a better waybar just as envisioned; no copy-pasted clutter, but still all the widgets I actually would make use of. Gone were rofi and wofi and all their rhyming cousins, replaced by such a simple custom-rolled omnibox-style launcher that was fast enough to never again eat a letter from my grubby fingers. Zero stupid animations; gaps only when multi-windowing on a given workspace; colours, centralized. Even my unreluctant negligence to ever pick a wallpaper evaporated - the Arch logo I slapped with a bloom and a clock, straight from the wiki’s official SVG.

The power that just oozed onto my hands was exhilarating, and that drug pushed me to tweak even harder. It made me fix longstanding papercuts I had with my then setup, just to hook them up to widgets. I added more modes to the launcher, which was as easy as hooking some quick Qml (QT’s declarative language): offline dictionary, calculator, symbols, notes. All the missing modes and compromises between different launchers no longer competed for performance. Very quickly I had a few dozen files, but they were all small, clean, and easy to iterate (even when using clankers - that is, once the architecture was well established).

I had been diligently refining my dotfiles for longer than some lived, but I went into complete overdrive. Every miniscule issue was a complete hard stop - requiring a fix before proceeding with any task. And, eventually, took not too long to climb onto the plateau of the near-perfect. Of course nothing is truly perfect; but it is safe to say I am much more productive and at-home in my own system as I’ve been since I was spending long days learning Linux’s intricacies so many years ago.

At the same time, I had been having fun with a declarative set of yaml files (it was too late when I found the error in my choice of language) to define and version my packages and configs across my systems. And everything clicked. Install, setup, and config, plus any aliases and functions were all together, always one small PR away. Purged were all manually installed AUR packages (in light of recent concerns), untracked dependencies, and forgotten steps; and the entire system was simple and pure. I even battle-tested it by reformatting, and with the advent of archinstall on top of my scripts, had it back were I was in no time.

For those who ever read this, the sign you’ve sought glares in the skies of today. Invest the time to craft your dotfiles and you shall not regret it. For those who don’t, I leave my sweet, tearful farewell to AwesomeVM, my decade-long partner. It’s been quite the ride, my friend. You taught me some of what I will value to the day I pass.