You can read the article, but the idea is a guidance for people creating and maintaining software programs.
What is all about ?
You should have noticed there are a lot of files starting with . in your home directory. Some are configuration files, some are cache, some are runtime data.
What is the problem ?
Well, it's a mess. Having all these files in your home folder is a bit strange, also not easy to follow if you have a dotfiles strategy.
Instead of having
~/.gitconfig
~/.tmux.conf
...
...
you could have
~/.config/git/config
~/.config/tmux/tmux.conf
...
This specification is progressively adopted, you will see a lot of files in ~/.config/ or ~/.cache folders. These two are the most commonly used by the programs.
So right now, a lot of programs started to support XDG base directory specifications, some made the choice to use directly the ~/.config to store config files, some simply argues they don't want to support them ๐คฆ.
A shell script which checks your $HOME for unwanted files and directories.
xdg-ninja
Because you wouldn't let just anyone into your $HOME
A shell script that checks your $HOME for unwanted files and directories.
When xdg-ninja encounters a file or directory it knows about, it will tell you whether it's possible to move it to the appropriate location, and how to do it.
The configurations are from the arch wiki page on XDG_BASE_DIR, antidot (thanks to Scr0nch for writing a conversion tool), and crowdsourced by other users.
Installing
Manual Installation
Clone the repository, then run the ./xdg-ninja.sh script.
git clone https://github.com/b3nj5m1n/xdg-ninja
cd xdg-ninja
./xdg-ninja.sh
This will run every test in the default configuration.
Due to how xdg-ninja is developed, releases are not cut, so Homebrew ships a stale version, therefore you have to install and upgrade xdg-ninja from the git HEAD. ref: #204
The first one is only about reporting current status about each dotfile. It also reports a status for files that are currently unsupported, or when developers declined to support XDG.
It provides you information on how to migrate them.
This one is very cool, because it will never simply make no change to your dotfiles.
Please backup your environment variable and aliases files (in $XDG_DATA_HOME/antidot/{env,alias}.*). After version 0.6.0 antidot stores env exports and alias definitions in a JSON file and generates from it shell definition files.
Intro
For years I stood by and saw how countless applications populate my home dir with dotfiles.
No more! antidot is a tool to automatically detect and remove dotfiles from $HOME without any risks. It will move files to more appropriate locations (based on XDG base directory specifications). It will also set environment variables, declare aliases and use symlinks to ensure apps can find their files.
Installation
Arch Linux
yay -Sy antidot-bin
Homebrew
brew install doron-cohen/tap/antidot
Go to the releases section and grab the one that fits your OS.
After installing run antidot update to download the latest rules fileโฆ