Attached: 1 image
My fellow software engineer,
It's the year 2024.
Please store your #Linux #desktop application configurations ONLY in `$XDG_CONFIG_HOME`.
NOT in `$HOME` or other non-standard or obsolete places.
May #FreeDesktop be your guide.
https://www.freedesktop.org/wiki/Specifications/
#Programming #DevOps #SysAdmin
Well, when software supports this standard, you as a user have a way to not confirm to it by setting the env variables to whatever you want, even per app. So you have two choises, either use it as is or change it.
But if software doesn’t supportthe spec, there is no choise of using it. So ons choise less.
You can of course not give users a choice. And a lot of applications do their own thing, having their own variables like GOPATH or a cli option like --config or some way to do that in a config file like Idea IDEs. But implementing XDG from start is miles simpler for all parties, it’s good practice to have your paths and variables somewhat organized in code anyway.
Choice, huh? I can’t choose where the config files are stored unless I am willing to either dig into an obscure setting, modify the source code and recompile (repeat every time there’s an update), or contact the developer’s smug beard using smoke signals.
Whatever happened to Linux being all about choice? Do you want that or not?
https://xkcd.com/927
You can choose any home directory you want, as long as it’s XDG_CONFIG_HOME.
Are there other relevant standards? The XDG base directory specification has been around for a long time, and is well established.
Maybe your comment wooshed over my head; if so I apologize.
having choices are the opposite of conforming to standards
Well, when software supports this standard, you as a user have a way to not confirm to it by setting the env variables to whatever you want, even per app. So you have two choises, either use it as is or change it.
But if software doesn’t supportthe spec, there is no choise of using it. So ons choise less.
This standard makes your software’s paths user-configurable, giving users a choice.
And if I don’t agree with how that standard is implemented? I should have the choice to use something else. Isn’t that how everything works?
Removed by mod
You can of course not give users a choice. And a lot of applications do their own thing, having their own variables like
GOPATH
or a cli option like--config
or some way to do that in a config file like Idea IDEs. But implementing XDG from start is miles simpler for all parties, it’s good practice to have your paths and variables somewhat organized in code anyway.To conform to a standard or do something else are each a choice. If you can justify your choice then perhaps it’s a good one.
Choosing to not conform is also a choice
Of course, and is what I say.
Choice, huh? I can’t choose where the config files are stored unless I am willing to either dig into an obscure setting, modify the source code and recompile (repeat every time there’s an update), or contact the developer’s smug beard using smoke signals.
idk that all sounds like choices to me