2 ms·
Right now I have in my home folder 4 undesirable dot something which should be somewhere else and I can't change it. Meanwhile, I have 63 folders in my .config
by doodlesdev 4y ago
Right now I have in my home folder 4 undesirable dot something which should be somewhere else and I can't change it. Meanwhile, I have 63 folders in my .config which means most of the applications I'm using do respect the XDG base directory specification, only a few entitled or extremely legacy ones don't.
- Jorengarenar 4y agoOut of curiosity, what are the misbehaving ones?
- doodlesdev 4y ago.mozilla - Firefox .npm - NPM .pki - Chromium-based software .SpaceVim.d - My fault, I should write my own vimrc but I'm lazy .steam and .steampath and .steampid - Steam .vscode-oss - VS Codium .w3m - w3m cli browser These are the ones I couldn't change the behavior of, in my dotfiles I've managed to fix at least a dozen of programs that were previously misbehaving but offered environment variables to change their behaviors. The thing that bothers me most about these is that most of these folders are simply cache and logs, I can always delete them and the application will keep working, but of course the folders will be recreated. It's truly mind-numbing.
- Jorengarenar 4y agoFirefox # Save shell wrapper as '~/.local/bin/firefox' { while kill -0 $$ 2> /dev/null; do rm -rf $HOME/.mozilla; done; } & /bin/firefox --profile $XDG_DATA_HOME/firefox $@ NPM # set env variable export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc # and in npmrc: prefix=${XDG_DATA_HOME}/npm cache=${XDG_CACHE_HOME}/npm tmp=${XDG_RUNTIME_DIR}/npm init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js Steam Steam actually creates only symlinks for backward compatibility as some games (may) expect them in $HOME. You can safely launch it with modified HOME variable: $ HOME="$XDG_DATA_HOME/Steam" steam (and/or put it into a wrapper script like with Firefox) Vim I don't know how it's with SpaceVim, but with regular vimrc you can make it follow the spec: https://blog.joren.ga/vim-xdg w3m export W3M_DIR="$XDG_DATA_HOME/w3m"
- doodlesdev 4y agoWhat the hell you may have just changed my life. The NPM one I was aware of through xdg-ninja but last time I tried it didn't work because I also use nvm which doesn't support that, honestly not an issue with NPM, I should've noted in the comment. The Steam one however is a total life-changer, if I ever find you in the street someday remember me I owe you a beer (or some non-alcoholic beverage of your preference).