sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.81k stars 922 forks source link

[FR] add XDG support for macOS and Linux #3352

Open andrewcrook opened 12 months ago

andrewcrook commented 12 months ago

It would be really nice to support XDG environment variables in Sonic Pi

something like

.sonic-pi/log - > $XDG_STATE_HOME/sonic-pi/log
.sonic-pi/config - > $XDG_CONFIG_HOME/sonic-pi/config
.sonic-pi/store -> $XDG_DATA_HOME/sonic-pi/store
.sonic-pi/.uuid -> config or state?

This would allow users to clean there home directories by relocating the data in .sonic-pi

There are some custom user directories as well

$XDG_DESKTOP_DIR="$HOME/Desktop"
$XDG_DOCUMENTS_DIR="$HOME/Documents"
$XDG_DOWNLOAD_DIR="$HOME/Downloads"
$XDG_MUSIC_DIR="$HOME/Music"
$XDG_PICTURES_DIR="$HOME/Pictures"
$XDG_PUBLICSHARE_DIR="$HOME/Public"
$XDG_TEMPLATES_DIR="$HOME/Templates"
$XDG_VIDEOS_DIR="$HOME/Videos"

I think $XDG_MUSIC_DIR="$HOME/Music” could be used for sample sources and composed music and possibly $XDG_DOCUMENTS_DIR/sonic-pi to save projects

https://wiki.archlinux.org/title/XDG_Base_Directory https://wiki.archlinux.org/title/XDG_user_directories

andrewcrook commented 12 months ago

This has also been mentioned in #1864