SQLite Forum

Request: Conform to XDG Base Directory Specification for sqliterc configuration file
Login

Request: Conform to XDG Base Directory Specification for sqliterc configuration file

(1) By Phidica on 2020-12-03 06:48:12 [link] [source]

The XDG Base Directory Specification is a modern specification which places user configuration files in a specific directory, not just bare in the user's home directory (~). This can be set by the user with the environment variable $XDG_CONFIG_HOME, which defaults to ~/.config if undefined. Collecting configuration files in a particular directory makes it easier to synchronise those settings between machines or version control the complete collection of configurations.

Many command-line programs have started allowing their configuration files to be placed in a subdirectory in ~/.config, sometimes permitting this alongside the historical location of ~/.*rc. A prominent example is Git, which allows ~/.config/git/config secondary to ~/.gitconfig.

I request that the sqlite3 CLI shell allow the configuration file to be kept at ~/.config/sqlite/sqliterc instead of, or as well as, at ~/.sqliterc.

(2) By TripeHound on 2020-12-03 09:54:42 in reply to 1 [link] [source]

Related post on the Fossil forum from earlier this year where something similar was done for Fossil: New Configuration-File Location Algorithm.

(3) By Marcin Wisnicki (marwis) on 2020-12-03 13:18:32 in reply to 1 [source]

I think in that case it should also follow Windows conventions on Windows :)

i.e. $AppData/SQLite/sqlliterc

(4) By Phidica on 2020-12-04 02:10:42 in reply to 1 [link] [source]

Oh, and there is also the ~/.sqlite_history file. I think this fits under the "user-specific data file" definition of $XDG_DATA_HOME, which is taken as ~/.local/share by default. This is where fish keeps its history file, for instance. Maybe the user could be free to migrate the file to there, I'm not sure what the best practice is in this case.