but please don’t hard-code ~/.config or $HOME/.config. Use the XDG_CONFIG_HOME environment variable, with $HOME/.config as a fallback if it’s not set.
Many programming languages have a cross-platform implementation of this built in to their standard library. C# has Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) which uses XDG_CONFIG_HOME on Linux, local AppData on Windows, and whatever is the correct thing on MacOS (not very familiar with how things work on MacOS)
but please don’t hard-code
~/.config
or$HOME/.config
. Use theXDG_CONFIG_HOME
environment variable, with$HOME/.config
as a fallback if it’s not set.Many programming languages have a cross-platform implementation of this built in to their standard library. C# has
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
which uses XDG_CONFIG_HOME on Linux, local AppData on Windows, and whatever is the correct thing on MacOS (not very familiar with how things work on MacOS)On macOS, the correct thing to use is usually NSUserDefaults API, or
- [NSFileManager URLsForDirectory:inDomains:]
with NSApplicationSupportDirectory (gives a list of paths to find your config file in, like XDG_CONFIG_DIRS)