From 8237fe0fd2786118e7533615a3b418f16a883306 Mon Sep 17 00:00:00 2001 From: trav Date: Wed, 1 Jul 2026 17:00:17 -0400 Subject: [PATCH] README: document second-machine (Syncthing) setup Add a "Running on a second machine" section: clone + install, point the per-machine ~/.config/lintunes/config.json at the synced folder via --save-config (no re-import needed since paths are stored relative to the data dir), and run packaging/install-desktop.sh to install + pin the launcher. Note the desktop launcher follows the saved config, and add smart playlists + multi-machine sync to the feature list. Co-Authored-By: Claude Opus 4.8 --- README.md | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a7ac9f..a258b0e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,9 @@ software for bugs and vulns?). ## Features -- can import an iTunes 12 (untested on other versions) library +- can import an iTunes 12 (untested on other versions) library, including + smart playlists (auto-updating, editable, marked with a ❧) +- runs on several machines off one Syncthing-synced library (see below) @@ -66,6 +68,40 @@ Fedora/Debian note: you need the FFmpeg codecs for Qt Multimedia LinTunes looks best with **Century Gothic** installed (`~/.local/share/fonts/`); if it's missing, you'll be asked to pick a font on first run. +The desktop launcher runs `lintunes` with no `--data-dir`, so it always uses +whatever is saved in `~/.config/lintunes/config.json`. Point that config wherever +you want and the dock icon follows. + +## Running on a second machine (Syncthing) + +Keep the data dir (which holds `library.json`, the playlists, and +`preferences.json`) **inside** your Syncthing-shared music folder, so the music +and the library travel together. Track paths are stored *relative to the data +dir*, so the library resolves correctly no matter where each machine mounts the +shared folder — you never edit anything inside the library to move it. + +`~/.config/lintunes/config.json` is **per-machine** (it is *not* synced), so on a +new machine you just tell LinTunes where the synced folder landed: + +```sh +# 1. get the code +git clone ssh://git@git.autonomic.zone:2222/trav/lintunes.git +cd lintunes && pip install -e . + +# 2. let Syncthing finish replicating the music folder, then point the config at +# THIS machine's paths and launch — no re-import, the data is already synced: +lintunes --data-dir "/path/to/synced/music/lintunes" \ + --music-root "/path/to/synced/music/iTunes Media" \ + --save-config + +# 3. install the launcher + icon, then pin it (see "App icon" below) +bash packaging/install-desktop.sh +``` + +(Step 2 just writes `data_dir` + `music_root` into `~/.config/lintunes/config.json` +— you can also create that file by hand. After it's saved, every launch, including +the dock icon, uses the synced library automatically.) + ## Keys Space play/pause · ←/→ previous/next · Ctrl+B column browser ·