11# XDG Base Directory Support
22
3- * ** Owners:**
4- * Owen Williams < owilliams@mixxx.org >
3+ - ** Owners:**
4+ - Owen Williams < owilliams@mixxx.org >
55
6- * ** Proposal Status:** ` Draft `
6+ - ** Proposal Status:** ` Draft `
77
8- * ** Implementation Status:** ` Not implemented `
8+ - ** Implementation Status:** ` Not implemented `
99
10- * ** Related Issues and PRs:**
11- * [ XDG Base Directory support] ( https://github.com/mixxxdj/mixxx/issues/8090 )
10+ - ** Related Issues and PRs:**
11+ - [ XDG Base Directory support] ( https://github.com/mixxxdj/mixxx/issues/8090 )
1212
13- * ** Other docs or links:**
14- * [ XDG Base Directory Specification] ( https://specifications.freedesktop.org/basedir-spec/latest/ )
13+ - ** Other docs or links:**
14+ - [ XDG Base Directory Specification] ( https://specifications.freedesktop.org/basedir-spec/latest/ )
1515
1616> TL;DR: Migrate Mixxx from a single ~ /.mixxx directory to XDG Base Directory
1717> compliant paths on Linux, using platform-standard locations on macOS and
@@ -59,37 +59,37 @@ non-standard path.
5959
6060### Pitfalls of the current solution
6161
62- * ** Home directory clutter.** ` ~/.mixxx ` is a visible dotfile in
62+ - ** Home directory clutter.** ` ~/.mixxx ` is a visible dotfile in
6363 the user's home directory. XDG-compliant apps use ` ~/.config/ ` ,
6464 ` ~/.local/share/ ` , and similar directories, keeping the home
6565 directory clean.
6666
67- * ** No separation of concerns.** Config files (restorable from
67+ - ** No separation of concerns.** Config files (restorable from
6868 backup), data files (user-created content like controller
6969 mappings), cache (regenerable waveform analysis), and state
7070 (logs, history) are all mixed together. This makes selective
7171 backup, cleanup, and synchronization harder.
7272
73- * ** Cache cleanup tools cannot help.** System cache cleaners
73+ - ** Cache cleanup tools cannot help.** System cache cleaners
7474 (BleachBit, systemd-tmpfiles) operate on ` ~/.cache/ ` . Mixxx's
7575 analysis cache in ` ~/.mixxx/ ` is invisible to them.
7676
77- * ** Read-only home directory breaks Mixxx.** Users who set ` $HOME `
77+ - ** Read-only home directory breaks Mixxx.** Users who set ` $HOME `
7878 to read-only (a practice for testing XDG compliance) cannot run
7979 Mixxx, since it writes directly to ` ~/.mixxx ` .
8080
81- * ** Inconsistent cross-platform behavior.** macOS and Windows
81+ - ** Inconsistent cross-platform behavior.** macOS and Windows
8282 already use platform-standard locations via ` QStandardPaths ` .
8383 Only Linux and BSD use a hardcoded non-standard path.
8484
8585## Goals
8686
8787Goals and use cases for the solution as proposed in [ How] ( #how ) :
8888
89- * Separate Mixxx files into the correct XDG categories (config, data,
89+ - Separate Mixxx files into the correct XDG categories (config, data,
9090 state, cache) on Linux.
91- * Use platform-standard locations on macOS and Windows.
92- * Preserve backward compatibility for existing installations that use
91+ - Use platform-standard locations on macOS and Windows.
92+ - Preserve backward compatibility for existing installations that use
9393 ` ~/.mixxx ` .
9494
9595### Audience
@@ -98,8 +98,8 @@ Mixxx developers and packagers.
9898
9999## Non-Goals
100100
101- * Automatic migration of existing ` ~/.mixxx ` directories.
102- * Changing the behavior of the ` --settings-path ` command-line flag.
101+ - Automatic migration of existing ` ~/.mixxx ` directories.
102+ - Changing the behavior of the ` --settings-path ` command-line flag.
103103
104104## How
105105
0 commit comments