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/,$//'
baloofilerc,dolphinrc,gtk-3.0,gtk-4.0,katerc,kcminputrc,kdeglobals,konsolerc,kscreenlockerrc,Kvantum,kwinrc,libinput-gestures.conf,mimeapps.list,touchpadrc,touchpadxlibinputrc

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.

23 Likes

A post was split to a new topic: How to change Alt+Tab configuration?

Great guide @BluishHumility, but un-Dragonizing KDE still isn’t quite vanilla enough for me. :smile:

I used the KDE Lite installer and selected bash (not fish), but still had a non-standard bash prompt upon installation. I realised it was the starship package responsible for this, but starship is not easily uninstalled because of all its dependencies. So, I instead decided to disable starship rather than uninstalling it. I figured I might as well add the instructions on how to disable starship to your tutorial as both tasks seemed alike. Hope you don’t mind me riding on your coattails.

If you want to disable the default Garuda starship prompt you can perform the following steps:

Start by renaming the ~/.config/starship.toml configuration file to ~/.config/starship.toml.bak.

Next, you need to edit the section pertaining to the starship prompt in your ~/.bashrc config file.

Before performing any editing, make a backup copy of your ~/.bashrc file named ~/.bashrc.orig .

To fully disable the Starship prompt, comment out the following section in your ~/.bashrc file:

 # Load starship prompt if starship is installed
if [ -x /usr/bin/starship ]; then
	__main() {
		local major="${BASH_VERSINFO[0]}"
		local minor="${BASH_VERSINFO[1]}"

		if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
			source <("/usr/bin/starship" init bash --print-full-init)
		else
			source /dev/stdin <<<"$("/usr/bin/starship" init bash --print-full-init)"
		fi
	}
	__main
	unset -f __main
fi

After commenting, the starship related section should appear as follows:

# Load starship prompt if starship is installed
# if [ -x /usr/bin/starship ]; then
# 	__main() {
# 		local major="${BASH_VERSINFO[0]}"
# 		local minor="${BASH_VERSINFO[1]}"
#
# 		if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
# 			source <("/usr/bin/starship" init bash --print-full-init)
# 		else
# 			source /dev/stdin <<<"$("/usr/bin/starship" init bash --print-full-init)"
# 		fi
# 	}
# 	__main
# 	unset -f __main
# fi

Restart after making the above changes, (although a logout/login will likely suffice).

You should now have a blank slate to setup your PS1 prompt however you like it in your .bashrc.

Hope that helps someone.

2 Likes

Heresy :joy: one of the main goals with starship was to have all prompts look the same, and since it supports most major shells it was quite easy to set up this way.
Of course that first part is a joke and we can be happy Linux can be tweaked to fit whatever taste the person sitting in front in of their device has :slight_smile: a nice addition to this FAQ, imo!

3 Likes

3 posts were merged into an existing topic: Off Topic Chit Chat - (Silliness factor 5)

2 posts were split to a new topic: Switch to Mokka from dragonize