Linux

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

Linux
~/.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.