# Installation hooks for big-kernel-manager

_build_cache() {
    if [[ -x /usr/share/big-kernel-manager/build-ids-cache.sh ]]; then
        /usr/share/big-kernel-manager/build-ids-cache.sh
    fi
}

_enable_user_timer() {
    # Enable the driver-check timer for all logged-in users
    for uid_dir in /run/user/*; do
        uid="${uid_dir##*/}"
        user=$(id -un "$uid" 2>/dev/null) || continue
        systemctl --user --machine="${user}@.host" enable --now \
            big-kernel-manager-check.timer 2>/dev/null || true
    done
}

_disable_user_timer() {
    for uid_dir in /run/user/*; do
        uid="${uid_dir##*/}"
        user=$(id -un "$uid" 2>/dev/null) || continue
        systemctl --user --machine="${user}@.host" disable --now \
            big-kernel-manager-check.timer 2>/dev/null || true
    done
}

post_install() {
    _build_cache
    udevadm control --reload-rules 2>/dev/null || true
    _enable_user_timer
}

post_upgrade() {
    _build_cache
    udevadm control --reload-rules 2>/dev/null || true
    systemctl --user daemon-reload 2>/dev/null || true
}

post_remove() {
    _disable_user_timer
    rm -rf /var/cache/big-kernel-manager
    rm -rf /tmp/bkm-udev-notify
    udevadm control --reload-rules 2>/dev/null || true
}

