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.
If you want something a little easier to install, and especially, allow fixing a couple of those issues safely, and automatically, you can try antidot .
xdg-ninja do already use the antidot rules natively, it’s mostly for those who don’t want to manually do the safest/easiest of fixes. It should be safe to use alongside xdg-ninja.
You can install it with Homebrew, which means it’s available for Macos, too.
As someone who uses a Mac for work, I simply prefer to let MacOS do its thing in case I make it angry. The file system might as well be magic the way its somehow identical and totally different to Linux/Unix
Pro tip: Create a new dir inside your home dir that you use as if it was your home dir. Never worry about programs shitting in your personal space again.
It talks about installing with nix package manager. I’ve never heard of this one. Can anyone comment on how well nix would work foru Ubuntu installations? It sounds like it installs some daemon, which I haven’t heard before from a package manager.
I have used Nix in Ubuntu before. It worked well enough. But as a concept NixOS makes more sense than just installing some of my packages with Nix.
Can’t you just clone it and run the command?
I can. I just was more interested in learning about a new package manager, rather than the main topic of the post.
[This comment has been deleted by an automated system]
Yes, but that wasn’t my advice.
Ofc I would not recommens this to a newbie; but I think Comment OP can inspect the script themselves (as it is right there on Github).
I have done so (git clone) with Gentoo and it works.
Pretty sure Snap installs a daemon (the snap package is even called Snapd) which might be why you havent noticed it as a Ubuntu user (where Snapd is already installed)
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
[This comment has been deleted by an automated system]
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.