Shameless plug: I am the author.
deleted by creator
off the shelf go was too annoying for me
Nowadays I set GOENV_ROOT to an XDG location and use goenv instead.
I wish they used them all, especially
XDG_CACHE_HOMEwhich can become pretty big pretty fast.And i wish there was a separate XDG_LOG_HOME or $HOME/.local/log, with logrotate preconfigured to look there.
Or
$HOME/.var/log.
100% agree and I also despise devs who do this on windows, instead of using %appdata% they’re using c:\users\username\.myappisimportantandtotallydeservesthisdir
I have to use a separate Documents folder for my actual documents lol
To be fair here, appdata is technically a hidden folder and there are lots of reasons an app would want it’s data accessable by the user.
Yes but then just spam the documents folder like anyone else, don’t hoard the home root for no reason except that is a lazy cross platform port
Where did i read this… basically, the .file being hidden being a bug in the early unix filesystem, which got misused to hide configuration files.
Offenders despite XDG-variables set and with no workaround:
- .android: hardcoded in adb and i guess something in mtp too
- .pki: some tool/library Firefox and Chromium sometimes use.
- .steam: yes, that
Here is a more concise way to achieve the same thing:
ls -ACd ~/.??*/ | sed -e "s#$HOME/##g"ls -A | grep "^\."
I had to make a dummy
.dotfileto test because I don’t have hidden files in my home.
Shameless flex

Whoa I’m a stickler for getting as much as I can out but even I have .zshenv and some other too hard to figure out things in there. How’d you manage a total wipeout?
zsh is actually easy and it is detailed in the archwiki
You have to set
$ZDOTDIRin/etc/zsh/zshenvand iirc that was the only location that required root to edit.For the rest of stuff, here is how I fix steam for example and you can check the rest of my dotfiles for how I configured zsh and all of that.
Although I haven’t updated them, I still had a
.localdirectory back then, it was 1 week ago that I changed.localforLocaland that let to an issue with distrobox which I made a PR fixing it that’s still open though.That’s awesome!
ls VolatileIt’s empty lol, it’s a directory on tmpfs that i use to build programs and similar stuff to not be hammering my ssd with unnecessary writes.
I have
$XDG_CACHE_HOMEin tmp as well and I moved the mesa sharer caches to$XDG_STATE_HOMEas that’s really the only thing so far I’ve needed to preserve.tmpfs (…) to build programs (…) to not be hammering my ssd with unnecessary writes
Sounds useful. How did you setup the directory?
Running
dftells me “tmpfs” is mounted on /run. If I build in that that directory then would it be stored in RAM, or do I need to do something else?I have /tmp in my fstab with these mount options.
tmpfs /tmp tmpfs rw,noatime,size=20G 0 0And the rest of the setup is done in my zprofile
I think I should be able to get this working following your zprofile file. Thanks!
there’s no place like 127.0.0.1
there’s no place like XDG_CONFIG_HOME.
My fellow FOSS users, patches are welcome.
YOU’RE NOT MY MOM I’LL DO WHAT I WANT
vim now has an option to put the .vim folder in ~/.config; though I’m not sure if the default plugin/package & syntax folders can be set under ~/.local/share.
حق
deleted by creator
This would just further complicate things for me. It assumes that 1) the system even has a windowing system/desktop environment or 2) all the installed software is XDG-aware. Most of the time I’m fiddling with headless environments.
The spec doesn’t make those assumptions at all, idk where that’s coming from.
I have headless machines with XDG vars configured and ones without them. XDG compliant software works in either case, but I’m less likely to use a piece of software that clutters my $HOME.
Whatever happened to Linux being all about choice? Do you want that or not?
But what’s the difference? It’ll be in /home anyways and I heard BSD had some issues with something that could be XDG.
Better organization and backup / restore. For example if you want to restore config files but don’t want to move over the large “.local” folder, applications that write to $HOME will create diifculty.
Because, like /etc, you know there is a designated place for config files. It’s already set for you right there, and there is a standard for it.
/etc can’t be edited on immutable distros and usually apps store the editable config in /home/config and make the /etc one kind of read-only.
In this case it would be
XDG_CONFIG_HOME=/home/config. That simple.

















