![Image 1 — [KDE Plasma] First rice on Asus zephyrus g16 with dotfiles](https://preview.redd.it/r9tz8f2pnq4h1.png?width=2559&format=png&auto=webp&s=d84f763ce94efd6314fe8c3e895b7b8bb164470b)
![Image 2 — [KDE Plasma] First rice on Asus zephyrus g16 with dotfiles](https://i.redd.it/bga1sf2pnq4h1.gif)
![Image 3 — [KDE Plasma] First rice on Asus zephyrus g16 with dotfiles](https://preview.redd.it/6vawcd2pnq4h1.png?width=2559&format=png&auto=webp&s=56d60c9555ebc7068fe7982c1cf7ff2e294e97b2)
[KDE Plasma] First rice on Asus zephyrus g16 with dotfiles
>!!<So I have an ASUS Zephyrus G16 2024. OLED display, Intel iGPU, NVIDIA dGPU with a MUX switch. I wanted to rice my Linux desktop but every single dotfile, every guide, every YouTube video I found was for Hyprland. Nobody was doing this on KDE Plasma Wayland.
I didn't want to switch to Hyprland. I like KDE. It has better battery life, easy app installs, a real settings GUI, and Plasma widgets that just work. But I also wanted my desktop to actually look good. So I took PewDiePie's Hyprland rice as a starting point and rebuilt everything for KDE from scratch.
Here is what I ended up building and why.
The first big problem was the bar. I wanted Waybar like every other rice uses, but all the scripts inside those dotfiles call hyprctl - a command that flat out does not exist on KDE. The workspace switcher, the window tracking, all of it. So I had to rewrite every single workspace script to talk to KWin through DBus using qdbus6 instead. It took a while to figure out how KWin exposes its virtual desktop state, but it works perfectly now. Click a workspace number, it switches. The active one shows a dot, the others show numbers.
The second problem was OLED burn-in. A bar sitting in the exact same position for hours is a burn-in risk on an OLED panel. I searched everywhere and found absolutely nothing about preventing Waybar burn-in on KDE Wayland. So I wrote my own solution - a watcher script that monitors which desktop you are on and restarts Waybar every time you switch. This naturally cycles the pixels under the bar so no single pixel stays lit in the same spot for too long. As a bonus, I added a slide-down animation so the bar drops from the top every time it restarts, which makes workspace switching feel very smooth.
Beyond the bar I built out a full suite of modules. The Bluetooth module shows your connected device type with an icon, the device name, and the battery percentage color coded green to red. The brightness module cycles between your laptop screen, external monitor via DDC, and keyboard backlight all from one button with scroll to adjust. The ProtonVPN module has a right click country picker with 60 plus countries. The WiFi module shows a rofi picker with signal strength on right click. The GPU mode switcher lets you toggle between Integrated, Hybrid, and dGPU MUX directly from the bar.
For the window decoration I am using Klassy which gives you very fine control over the title bar. For tiling I am using Krohnkite which brings dynamic tiling to KDE without switching compositors. The color scheme is one I put together myself.
I also built a separate widget project linked below that handles some extra functionality on the desktop side.
Everything is open source and documented with a proper install script that auto-detects your hardware, handles battery paths, backlight devices, and sets up the systemd services automatically. Non-ASUS users can use everything except the GPU and keyboard aura modules. Non-OLED users can disable the watcher and the bar just stays put permanently.
Links:
Full dotfiles and setup: https://github.com/prudhvibungatavula/socrates-KDE
Desktop widget: https://github.com/prudhvibungatavula/reactor-hud
Happy to answer questions about any of it. This took a long time to figure out and I documented everything so nobody else has to go through the same search.