How to un-Dr460nize KDE

Garuda Linux is well-known for the bold visual style of the Dr460nized KDE spin, famously beloved by many of our community members and envied by other distros. Still, occasionally we have users who want to use KDE with all the amazing stuff Garuda Linux has to offer, but would prefer a desktop theme which is a bit more tame.

Once KDE has been Dr460nized, however, it can be tricky to wrestle it back into a subdued state. This is because the garuda-dr460nized package, which provides the theme, is quite robust and deploys an extensive configuration preset.

Walk through the Git repo a bit and you’ll see what I mean:

So how does one restore a “vanilla” KDE experience? :thinking:

Method 1 (the easy way)

  1. Confirm your backups are up to date (you do have backups, right? :wink:)

  2. Uninstall the garuda-dr460nized package.

sudo pacman -R garuda-dr460nized
  1. Create a new user (System Settings > System > Users). Sign in as the new user, and use that account from now on.

Method 2 (advanced)

:warning: Make sure you have backups, they are up to date, and you know how to restore them if you need to. Don’t forget, the home directory is not captured in Snapper snapshots unless you have created a Snapper config for it on your own.

First, make a copy of /etc/skel.

sudo cp -r /etc/skel /etc/skel_old
"What is `/etc/skel`?"

:bulb: /etc/skel is a system directory that serves as a sort of template for new user accounts. Its files are used to populate the home directory when a new user is created (including during the initial installation).

A lot of the customization the garuda-dr460nized package provides is done through /etc/skel.

Now that we have a copy of /etc/skel, uninstall the garuda-dr460nized package.

sudo pacman -R garuda-dr460nized

Removing this package will also remove the configuration it provides to /etc/skel. Now we can diff the old /etc/skel against the new one and identify files the old /etc/skel has created in our home directory. For example:

❯ diff -rqn /etc/skel/ /etc/skel_old
Only in /etc/skel_old/.config/autostart: initial-setup.desktop
Only in /etc/skel_old/.config: baloofilerc
Only in /etc/skel_old/.config: dolphinrc
Only in /etc/skel_old/.config/environment.d: garuda.conf
Only in /etc/skel_old/.config: gtk-3.0
Only in /etc/skel_old/.config: gtk-4.0
Only in /etc/skel_old/.config: katerc
Only in /etc/skel_old/.config: kcminputrc
Only in /etc/skel_old/.config: kdeglobals
Only in /etc/skel_old/.config: konsolerc
Only in /etc/skel_old/.config: kscreenlockerrc
Only in /etc/skel_old/.config: Kvantum
Only in /etc/skel_old/.config: kwinrc
Only in /etc/skel_old/.config: libinput-gestures.conf
Only in /etc/skel_old/.config: mimeapps.list
Only in /etc/skel_old/.config: touchpadrc
Only in /etc/skel_old/.config: touchpadxlibinputrc
Only in /etc/skel_old: .firedragon
Only in /etc/skel_old: .icons
Only in /etc/skel_old/.local/share: konsole

In my example here I can clearly see what configs garuda-dr460nized provided for me because they are missing from the new /etc/skel. Restoring a “vanilla” KDE is just a matter of deleting these configs from the user’s home directory.

Advanced users may wish to go through these configurations one by one and decide if they would like to save any of them. For my example here, I’m just going to delete them all. Deleting them all will have basically the same effect as uninstalling garuda-dr460nized and making a new user.

Probably it would be pretty simple to write a script that would delete the home directory version of all of those config files, however I am not going to write that. The ~/.config ones seem like pretty low-hanging fruit for a sed one-liner though; for example:

~ diff -rqn /etc/skel/ /etc/skel_old | sed -n 's|^Only in /etc/skel_old/.config: ||p' | tr '\n' ',' | sed 's/,$//'

As you can see, this gives me a comma-delimited list of the .config files and directories. I can use brace expansion to take down the whole list in a single whack:

rm -r ~/.config/{baloofilerc,dolphinrc,gtk-3.0,gtk-4.0,katerc,kcminputrc,kdeglobals,konsolerc,kscreenlockerrc,Kvantum,kwinrc,libinput-gestures.conf,mimeapps.list,touchpadrc,touchpadxlibinputrc}

The others I’ll just grab manually because there are not many.

rm -r ~/.config/autostart/initial-setup.desktop ~/.config/environment.d/garuda.conf ~/.firedragon ~/.icons ~/.local/share/konsole

That’s it, now everything garuda-dr460nized provided has been purged.

Finally, reboot and behold your un-Dr460nized KDE setup:

The terminal doesn’t even open in Fish because the Konsole configs have been deleted. :smiling_face_with_tear:

Follow-up considerations

  1. This should be considered an unsupported procedure. We do not want to have issues raised in the forum because you deleted all this stuff on purpose, but now you want that one thing that you actually liked back.

  2. This is intended to be a FAQ/Tutorial topic, not a discussion about what you like or don’t like about the Dr460nized theme, or any other theme. It is fine to leave comments if you have ideas or relevant suggestions (about the topic, not the theme), but comments about what the default theme should or shouldn’t be and so on will just be deleted or moved to an off-topic thread.

  3. Questions are welcome, but for issues please open a new topic.