Where Does Quickshell Store Configs?
Quickshell loads each shell from a named folder in ~/.config/quickshell, with data, cache and state split per XDG dirs.
Last updated
Quickshell treats every subdirectory of ~/.config/quickshell as one named configuration, each rooted at its own shell.qml. You pick between them with qs -c <name>, which keeps experimental bars from fighting your daily driver.
Runtime files stay out of the config tree. Per-shell data, cache and state land under ~/.local/share, ~/.cache and ~/.local/state respectively, so wiping the config never touches them and vice versa.
Where Quickshell stores this, by platform
~/.config/quickshell/<name>/shell.qml
One named subfolder per shell, each with a shell.qml entry point. A bare shell.qml directly here becomes the default and blocks subfolder configs.
Frequently asked questions
How do I install a Quickshell config I found online?
Put a shell.qml inside ~/.config/quickshell/<name>/ and launch it with qs -c <name>. The name is the folder name, not anything inside the files.
My second shell config is ignored. What happened?
A bare ~/.config/quickshell/shell.qml registers as the default config and disables subfolder scanning. Move it into a named subfolder if you want several shells side by side.
Notice an outdated path? Let us know.