I wholeheartedly agree with this blog post. I believe someone on here yesterday was asking about config file locations and setting them manually. This is in the same vein. I can’t tell you how many times a command line method for discovering the location of a config file would have saved me 30 minutes of googling.
A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
~/.config
is the non-root version of/etc
these days. But you just have to know that, which isn’t ideal.If you are a developer, please take a look at the XDG Base Directory Specification and try to follow it, users will be very grateful.
Short summary: Look for
$XDG_CONFIG_HOME
for configs and$XDG_STATE_HOME
for state. If they aren’t available, use the defaults (./config
and.local/share
).But what about .local/, or .appname/? It’s just a mess
~/.local
is the non-root version of/usr
. By.appname
do you just mean a folder that a specific app made in your home for itself? Yeah, I never condone that. imo that’s just a badly behaving app. It should move that folder into~/.config
.Configuration for
root
is in/root/
, that is,root
’s home directory./etc
is for system configuration, different thing.otoh, unix directory structure is far from black magic once you know it. I have yet to see an OS that does it that elegantly (leaving aside systemd)