From 6f7db148b80b8a86664ffe71e5946de3534c2abe Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Thu, 16 Apr 2026 23:33:30 +0200 Subject: [PATCH] Music setup now relies on jellyfin-tui --- music.org | 180 ++++++++---------------------------------------------- 1 file changed, 26 insertions(+), 154 deletions(-) diff --git a/music.org b/music.org index 740bb5e..8c1731d 100644 --- a/music.org +++ b/music.org @@ -1,170 +1,42 @@ -#+TITLE: Music/Sound Configuration +#+TITLE:Music Setup #+SETUPFILE: ./setup/org-setup-file.org -* =pwvucontrol= - Volume Control for Pipewire - -* =mopidy= - Music Server +* Music Install Script :PROPERTIES: -:header-args:conf: :tangle ~/.config/mopidy/mopidy.conf -:header-args:conf+: :comments none :mkdirp yes :noweb no-export -:CUSTOM_ID: mopidy +:header-args:bash: :tangle scripts/install-music.sh :shebang "#!/bin/bash" :mkdirp yes :END: -Things done to get mopidy to work: -#+begin_src bash :eval no :tangle no -cd ~/.local/soft/ -git clone git@github.com:jellyfin/mopidy-jellyfin.git && cd mopidy-jellyfin -python -m venv env --system-site-packages -env/bin/python setup.py develop -env/bin/pip install mopidy-mpd +#+begin_src bash +set -euo pipefail #+end_src -To run mopidy: -#+begin_src bash :eval no :tangle no -~/.local/soft/mopidy-jellyfin/env/bin/mopidy +** Packages + +#+begin_src bash +echo "==> Music packages" +paru -S --needed --noconfirm jellyfin-tui playerctl #+end_src -#+begin_src conf -[core] -cache_dir = ~/.cache/mopidy -config_dir = ~/.config/mopidy -data_dir = ~/.local/data/mopidy +** Tangle Configuration -[audio] -output = queue2 max-size-buffers=20000 max-size-time=0 max-size-bytes=0 ! audioconvert ! pulsesink - -[stream] -enabled = true -protocols = - http - https -timeout = 30000 - -[mpd] -enabled = true -hostname = 127.0.0.1 -port = 6600 -password = -max_connections = 20 -connection_timeout = 60 -zeroconf = Mopidy MPD server on $hostname -command_blacklist = listall,listallinfo -default_playlist_scheme = m3u - -[jellyfin] -hostname = https://jellyfin.tdehaeze.xyz -username = tdehaeze -password = <> -libraries = Music -albumartistsort = True -album_format = {ProductionYear} - {Name} - -[file] -enabled = false - -[logging] -verbosity = 4 -format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s -color = true +#+begin_src bash +echo "==> Tangling music.org" +emacsclient -e '(org-babel-tangle-file "/home/thomas/.config/literate-dotfiles/music.org")' #+end_src -* =ncmpcpp= - Ncurses based MPD client -:PROPERTIES: -:CUSTOM_ID: ncmpcpp -:END: +* Jellyfin-tui config -https://rybczak.net/ncmpcpp/ -Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/ +#+begin_src conf :noweb yes :tangle ~/.config/jellyfin-tui/config.yaml +servers: +- name: Home Server + password: <> + url: https://jellyfin.tdehaeze.xyz + username: tdehaeze -** Config -:PROPERTIES: -:header-args:conf: :tangle ~/.config/ncmpcpp/config -:header-args:conf+: :comments both :mkdirp yes -:END: +persist: true +always_show_lyrics: false + +keymap: + q: !Shell "tmux detach" -Configuration directory. -#+begin_src conf -ncmpcpp_directory = ~/.config/ncmpcpp -lyrics_directory = ~/.local/share/lyrics -#+end_src - -MPD Configuration. -#+begin_src conf -mpd_host = localhost -mpd_port = 6600 -mpd_music_dir = ~/Music -#+end_src - -Notification of song change. -#+begin_src conf -execute_on_song_change = dunstify --replace=19845 "Now Playing ♫" "$(mpc current)" -#+end_src - -Better user interface -#+begin_src conf -user_interface = "alternative" -playlist_editor_display_mode = "columns" -search_engine_display_mode = "columns" -browser_display_mode = "columns" -playlist_display_mode = "columns" -#+end_src - -Lyrics -#+begin_src conf -lyrics_fetchers = musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet -#+end_src - -Sorting by tracking number and then title -#+begin_src conf -browser_sort_mode = "format" -browser_sort_format = '{%n - %t}|{%t}' -#+end_src - -#+begin_src conf -ask_before_clearing_playlists = "no" -#+end_src - -** Bindings -:PROPERTIES: -:header-args:conf: :tangle ~/.config/ncmpcpp/bindings -:header-args:conf+: :comments none :mkdirp yes -:END: - -#+begin_src conf -def_key "q" - run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'" -def_key "Q" - quit -def_key "g" - move_home -def_key "G" - move_end -def_key "j" - scroll_down -def_key "k" - scroll_up -def_key "ctrl-u" - page_up -def_key "ctrl-d" - page_down -def_key "l" - enter_directory -def_key "h" - jump_to_parent_directory -def_key "." - show_lyrics -def_key "n" - next_found_item -def_key "N" - previous_found_item -def_key "J" - move_sort_order_down -def_key "K" - move_sort_order_up -def_key "d" - delete_playlist_items -def_key "+" - volume_up -def_key "-" - volume_down #+end_src