Where Is the Qtile Config File?
Where Qtile looks for config.py on Linux, and how the lookup order and default config work.
Last updated
Qtile configuration is a Python script evaluated at startup. By default that means ~/.config/qtile/config.py, with $XDG_CONFIG_HOME respected when set. A -c flag overrides everything.
If no file exists, Qtile writes its bundled default into place on first run. That default is a fine starting point. Keep your real edits in the user path and leave system copies alone.
Where Qtile stores this, by platform
~/.config/qtile/config.py
Main user config in Python. Auto-created from the bundled default on first run. Test changes under Xephyr before reloading the live session.
Frequently asked questions
How do I get an initial Qtile config?
Just launch Qtile once; it copies its bundled default to ~/.config/qtile/config.py if nothing exists. Edit that file afterwards. Test risky changes under Xephyr with the provided xephyr script so a bad config cannot strand you.
Can I use a config somewhere else?
Pass -c with a path, e.g. qtile start -c ~/qtile-test/config.py. Qtile checks the -c path first, then $XDG_CONFIG_HOME, then ~/.config, then system dirs, then its bundled default.
Notice an outdated path? Let us know.