if ! typeset -f ytr >/dev/null; then export PATH="$PATH:$HOME/.local/bin:$HOME/bin" # ── 2. Load .env files from ~/.environment.d/ ─────────────────── # Automatically export all variables defined while sourcing .env files setopt allexport for file in ~/.environment.d/*.env(.N); do source "$file" done unset file unsetopt allexport # Load a function that allows us to import other function definitions from # the ZSH_FUNC_PATH without providing their exact location source "$DOTFILES_DIR/.zsh_functions/autosource.sh" # Load the rest of the zsh configs in ~/.zshrc.d/ setopt allexport for file in ~/.zshrc.d/*.zsh(.N); do source "$file" done source ~/.zsh_functions/youtube.zsh fi mdl () { cwd=$(pwd) share_on_nas="$NAS_IP/media" path_on_nas="Music/__INBOX" jelly_wait=150 check_smb_mount() { mount | grep -q "$mount_point" } mount_point="$HOME/NAS/Music" if [ ! -d "$mount_point" ]; then echo "Creating mount point directory..." mkdir -p "$mount_point" fi if ! check_smb_mount; then echo "Mounting SMB share..." /sbin/mount_smbfs "smb://janolehuebner:$(pass sudo-lana)@$share_on_nas" "$mount_point" fi if ! check_smb_mount; then echo "Failed to mount SMB share. Exiting." exit 1 fi # Move to target directory cd "$mount_point/$path_on_nas" echo "SMB share mounted successfully." if [[ "$*" == *"tidal.com"* ]]; then echo "TIDAL DETECTED" uvx tidal-dl -l $* else echo "Using qobuz-dl via uvx at: $(which uvx)" echo "QOBUZ URL: $*" uvx qobuz-dl dl $* fi echo "Unmounting SMB share..." sleep 1 /sbin/umount -f "$mount_point" cd $cwd #if declare -f jelly_rescan > /dev/null; then # echo "Waiting $jelly_wait secs before triggering automatic library scan..." # sleep $jelly_wait # jelly_rescan # echo "done" #fi } d () { local url="${1:-$(pbpaste)}" local used_clipboard=0 if [[ -z "$url" ]]; then echo "No URL provided and clipboard is empty." return 1 fi # Check if URL came from clipboard if [[ -z "$1" ]]; then echo "started via clipboard" used_clipboard=1 fi case "$url" in (*youtube*|*youtu.be*) echo "Detected YouTube URL: $url" ytr "$url" ;; (*qobuz*) echo "Detected Qobuz URL: $url" mdl "$url" if [[ $used_clipboard -eq 1 ]]; then osascript -e "display dialog \"Done with Qobuz: $url\" buttons {\"OK\"}" fi ;; (*) echo "Unknown URL: $url" ;; esac }