#!/bin/sh # Copyright (c) 2024 Amin Bandali # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. # pulseaudio is trash and insists on using machine-id as a prefix for # its database filenames under ~/.config/pulse. So, on systems with # randomized machine-ids like Devuan GNU/Linux it shits the bed and # can't find its own database files. So we do its job for it and # rename its database files on each boot. Ditto for libcanberra's # event sound cache database. cur_id_path=/var/lib/dbus/machine-id prev_id_path="$XDG_CACHE_HOME/tmp-prevmid" cur_id="$(cat $cur_id_path)" prev_id="$(cat $prev_id_path)" for f in $XDG_CONFIG_HOME/pulse/$prev_id-* \ $XDG_CACHE_HOME/event-sound-cache.tdb.$prev_id.*; do fnew="$(echo $f | sed "s/$prev_id/$cur_id/")" mv $f $fnew done cp -p $cur_id_path $prev_id_path