xdg-ninja
is a shell script that checks for unwanted files and directories in the user’s home directory and suggests moving them to an appropriate location. The script uses a configuration file that contains rules for identifying unwanted files and directories. The configurations are from the arch wiki page on XDG_BASE_DIR, antidot, and contributions from other users. The script can be run manually by cloning the repository and running the xdg-ninja.sh
script or installed with Homebrew. Optional dependencies include glow
for rendering Markdown in the terminal. The script is available on GitHub. The tool has been discussed on Reddit and Hacker News.
I’m not understanding why we don’t want some config files in our home dir
Where else would we put them and why would I want to have to back then all up from different places?
Thx
That’s the point, putting them all in ~/.config and a bunch of other common places makes backups easy. My home directory is filled with XDG incompliant dotfiles but also with some Xorg logs, a bunch of session tokens, a few hidden directories that seem to be used for cache, and some other stuff I don’t really want to be part of my config backup like the Flatpak .var store.
With XDG, you’re free to set your config path to $HOME if you’d like. I’d like programs to stick to ~/.config, ~/.csche, and ~/.local for config, cache, and application storage.
Okay, got you. Thanks. Maybe I’m just use to it, and selectively backup stuff from my home without doing a full sync.
Thanks for the answer.
Typically xdg-ninja will tell you how to set things up so as many dot files and directories as possible end up in the correct xdg location instead of cluttering up the top level of your home directory.