How do I "backup" my Desktop layout without cloning my entire drive?

Hello! Been using EndeavourOS for over a year, but new to the forums.

Currently I backup important files to external storage, I keep all these files in one location so it is easy to zip them up and transfer them over.
Important projects I have safe on GitHub.

However I don’t have anything Linux related on my backup, if I needed to reinstall I would lose all my custom setup and would struggle to recreate it how I like.

In particular I am referring to my desktop “layout”.
What I mean is my custom panels and custom taskbar (that I changed by right clicking it and selecting Show Panel Configuration)
I would also like to “save” all the packages I manually installed using pacman, yay, and flatpak.
Not the packages themselves, but maybe some kind of install script to re-install those packages on a new system?

I assume these things are stored somewhere convenient that I could zip up and also put on my external storage?

The reason I don’t want to clone my entire drive is because I probably have wasted space on files I don’t need that I don’t even realise exist.
I mostly just don’t want to lose my panel configuration.

Thanks for any help!

To save and restore your packages, use the following commands. The first one to list your packages into a text file and the second to install from the text file:

pacman -Qqe > pkglist.txt
sudo pacman -S --needed - < pkglist.txt

There’s a script to backup and restore your plasma settings, but I can’t remember what it’s called.

Edit: A quick web search found this but I don’t know if it is the one I was thinking of.

Your .dotfiles or configuration files typically reside under your $HOME folder. There are quite many of them there. They are under various subfolders, e.g. $HOME/.config. You can look at them with many commands or tools, e.g.

ls -la $HOME

should give you some idea what to expect.
Note that there may be a lot of subfolders with names .something since there are so many apps designed with different approach to organizing where the config files are.

And there should be tools available for handling the dotfiles.
Looks like command

yay -Ss dotfile

gives a longish list of such alternative tools.

If you are using plasma i would recommend konsave.
I am using this at every new installation to rebuild my desktop layout.

That’s the one I was trying think of!!

Yeah I did some looking around myself and found konsave, but I couldn’t get it to install and work so I used one called transfuse instead.

I found SaveDesktop, a Flatpak app, but I haven’t tried it yet.

Did you try yay -Syu konsave in a terminal? This should install it from the AUR with all necessary dependencies …

Transfuse is really great for KDE. It has a bit less functionality than konsave but if you don’t intend on sharing your profiles or change between them often it’s just as good and more lightweight (and it can also save installed packages list which i don’t think konsave does)

I did, but it gave me some error with python not having a bundle command or something - even though it was installing all the dependencies.

I have been having issues with installing stuff lately though, when I do eos-update I get an error that prevents me updating, just been too lazy to find the solution.
installing spdlog (1.17.0-1) breaks dependency 'libspdlog.so=1.16-64' required by kddockwidgets-qt6

As for transfuse as long as it copies all the settings like konsave does then it should work fine.

kddockwidgets-qt6 is from the AUR. Is there any reason why you are using this version? kddockwidgets is in the normal repos.

No idea, my goto upgrade process is just typing eos-update and confirming everything, and then yay for my packages which aren’t covered by eos-update.

I don’t recall ever manually downloading any kde-related packages.

Maybe kddockwidgets-qt6 was installed with some other software.
Run yay -Qi kddockwidgets-qt6 in a terminal. Look for dependencies. On one of my PCs kddockwidgets is related to kdenlive

It says the Install Reason: Installed as a dependency for another package, but it says Required By: None.

I am guessing it was a dependency for something I installed, which I since removed and now I can safely remove this?

Small tip , you can do that in one go by using the following command.

eos-update --aur

See also the welcome app.

I recommend SaveDesktop.

Yes, if there is no dependency you can remove it with yay -R kddockwidgets-qt6.
Then try to run your update again.

Think a safer option might be yay -Yc that will show you if it is a orphan or not.