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.
What's imho worse is how often config options or command flags don't actually do at all what's described in the manpage. I then have to dig into the source code once again and since you have to read through the whole behaviour it takes much longer than just looking up where the program tries to read config files.
Please - if you find such wrong docs in Open source software, submit a fix to the doc. It's as important as normal bugfixes.
I mean, that's sort of what xdg is intended to accomplish, with making $HOME/.config be the place, but it's kind of up to the individual software developers to comply. (Yes, I know, this doesn't really apply to Windows/Mac OS) But yeah, it would really be nice if configs/config locations were even remotely standardized.
What I find more frustrating is undocumented environment variables to override config locations.
The amount of times I've had to dig through the source code for a CLI to find an environment variable to force the config somewhere should be zero. But it's not.
I guess the difficulty here is that sometimes that decision is made by the package manager, not the developer. You'll see Debian distros using a different location compared to a red hat one, while Mac OS is again different, so it might be hard for a developer to tell you where it is.
Still, some kind of universal CLI flag that tells you where the binary/service looks for configuration would be a great idea.
It would be amazing yeah, standardising all user config files in the $HOME, and maybe etc/ or an default, non usable, user profile to store the original versions, in case of a bad config or corrupted file would save so much time debugging stuff.
And even if the program doesn't use config files (like various gnome, xfce and other programs), it should be possible to programmatically export and import full or partial configurations.
Seriously, I've lost so muuuuch time just trying to find where some random program decides to store its config files. It sometimes takes me more time than actually "doing the config"
I don't know if you mean on linux but in my experience I have found the bottom part of the first man page usually has a section on config file locations.
I think this is a drawback of not having more specialized communities in beehaw yet - I'm not sure if this advice is very niche advice or if it has some value in general awareness for the layperson?
Normally I'd look up and see "r/DevChat" or some such distinct community name and have immediate context of, "that's not really for you to figure out". But this is essentially "r/technology" so I'm left wondering if I personally can take anything of value from this post.
Not a criticism or complaint, just an observation.
obligitory windows user here to say that not only should every program should tell you where they are, but should also use them, or have a way to import configs via the command line. very frustrating to discover powershell automation is impossible for a program because i am too lazy/stupid to figure out how to automate the gui it doesn't have any way to modify configs without navigating the gui, cough cough winaero tweaker but this is only because i am an windows user, and i stubbornly refuse to learn how to use linux until absolutely necessary.