I asked Claude to customize my Linux desktop, and it cooked harder than expected


Ever after switching to Gentoo Linux and trying out Niri, I’ve found myself stumbling across a few shortcomings — as opposed to using a full-fledged desktop environment like KDE Plasma.

Be it something major, like being unable to get games on Steam to launch properly without Gamescope, or something minor like no built-in OSD, all tiling window managers have a peculiar set of quirks, in addition to having to set it up from scratch.

Customizing and watching your theme slowly come to life is a pretty fun experience, but sometimes you simply don’t have the time to spare. I still wanted to “rice up” my desktop, so I gave all the heavy lifting to Claude — and was left mighty impressed at what it managed to cook up.



I switched to a tiling WM and stopped wasting time on window management

Tiling window managers promise to change the way you work on Linux, so I spent some finding out if that’s true

Getting Niri all “riced” up

Essentials first

A Niri install for Gentoo

Configuring Niri from scratch can be a bit of a struggle, but the same can be said for almost all tiling window managers. Thankfully, Niri does auto-generate a configuration file the first time you launch it, providing a template to work on.

I’ve been using it for quite some time now, and so I had a pretty robust config.kdl file that mostly just worked. That being said, this was based on a much older build, and Niri has had quite a few significant changes and additions since then (most notably, blur!).

Using the base config.kdl file, I was able to feed it to Claude and ask for major improvements and tweaks, which it did a pretty fine job at. I also had it integrate WOB (Wayland Overlay Bar), an on-screen volume and brightness OSD meter.

WOB was particularly challenging since the instructions were tailor-made for Sway, and thereby had to be adjusted accordingly to fit Niri’s configuration file syntax.

A few touches here, and some extra blur to the terminal there, and I finally had a feature-complete config file that did things the way I wanted it to. Now, it was time for something a bit more challenging — the status bar, which in this case was Waybar.

Waybar gets some much-needed improvements next

Getting it closer to Quickshell

While it’s technically possible to get far more functionality out of a status bar using something like Quickshell, I decided to keep things simple this time around. I ultimately chose Waybar again for its simplicity and low maintenance.

If you’re looking for something that requires minimal configuration, try Dank Material Shell (DMS) or Noctalia Shell instead.

I already had a base Waybar config, but that hadn’t been updated in ages, and was built with Sway in mind. Using that as a template, I set out to give Claude a few instructions:

  • Keep the bar minimal.
  • Adjust everything for Niri instead of Sway — this includes a compatibility mode for the tray and named workspaces on Gentoo.
  • Set the original Nord theme as the default.
  • Remove any rounded corners and make everything cohesive.

With the visual style set, I could finally start working on the individual modules. Now, the original config was super basic and only had provisions for an applet tray and volume shortcuts (along with the clock). I needed something much more feature-packed, similar to Noctalia Shell’s Quickshell-based bar.

After a ton of trial and error (the CPU boost and power profile toggles were a pain to set up), I finally added a bunch of additional modules to Waybar:

  • Clock with drop-down calendar.
  • Caffeinate shortcut to prevent the system from sleeping.
  • A weather module using wttrbar.
  • A media player module that spits out the currently playing track.
  • A power profile toggle to choose between power-saver, balanced, and performance profiles.
  • A CPU boost toggle.
  • CPU and GPU monitoring modules with average temperature and TDP output.
  • Volume and Bluetooth modules that bring up control centers.
  • And finally, a revamped tray that houses all appindicator icons.

After replacing the Waybar config folder with the generated files from Claude, I rebooted the system to make sure everything loaded cleanly, and I was ready to go.

Claude works, but needs a lot of guidance

Using Claude

Claude tends to go off the rails a bit. In my first attempt at revamping the style.css file, it overwrote the original theme with Catppuccin, something I never told it to do. The CPU boost and CPU/GPU monitoring modules were especially painful to get up and running, and required several days to fix (thanks to the daily usage limits!).

All of this goes to say that you really can’t rely on it entirely. Claude (and most other AI tools) will make mistakes, and it’s best not to go through everything unsupervised. Manual intervention will be needed, along with clear, precise prompts.

That said, it’s a great way to get started if you already have a template to base it on.

Claude has been fantastic so far, and I find it better than most other tools out there, at least for coding logic. This is something I’d never be able to cook up in such a short amount of time, and I’m very impressed with what it can do.

claude

Developer

Anthropic PBC

Price model

Free, subscription available

Claude is an advanced artificial intelligence assistant developed by Anthropic. Built on Constitutional AI principles, it excels at complex reasoning, sophisticated writing, and professional-grade coding assistance.




Source link

Recent Articles

Related Stories