-
Notifications
You must be signed in to change notification settings - Fork 55
Description
Is your feature request related to a problem? Please describe.
I'm often frustrated when applications like Doppler store configuration, data, or cache files in non-standard locations within my home directory, cluttering it with hidden files and folders. This makes it harder to manage my user-specific data and configurations, especially on Linux systems where the XDG Base Directory Specification provides a standardized way to organize such files. Currently, Doppler does not respect the XDG Base Directory Specification, which leads to inconsistency with other modern applications that follow this standard.
Describe the solution you'd like
I would like Doppler to support the XDG Base Directory Specification by storing its files in the appropriate directories as defined by the relevant environment variables.If these environment variables are not set or are empty, Doppler should fall back to the default paths as outlined in the XDG Base Directory Specification. This would ensure consistency with other applications and reduce clutter in the user's home directory.
Describe alternatives you've considered
One alternative is to provide a configuration option for users to manually specify storage paths, but this places the burden on the user to maintain consistency and does not inherently solve the problem of standardization. Supporting XDG by default, with an optional override for custom paths, would be the most user-friendly and standards-compliant approach.
Additional context
The XDG Base Directory Specification is a widely accepted standard on Linux and other Unix-like systems for organizing user-specific files. It helps maintain a clean home directory by defining standard locations for configuration, data, cache, state, and runtime files through environment variables like $XDG_CONFIG_HOME, $XDG_DATA_HOME, and others. Many modern applications and tools adhere to this specification, and supporting it in Doppler would improve interoperability and user experience on these platforms.