···570570571571- `services.kmonad` now creates a determinate symlink (in `/dev/input/by-id/`) to each of KMonad virtual devices.
572572573573+- `services.searx` now supports configuration of the favicons cache and other options available in SearXNG's `favicons.toml` file
574574+573575- `services.gitea` now supports CAPTCHA usage through the `services.gitea.captcha` variable.
574576575577- `services.soft-serve` now restarts upon config change.
+15-8
nixos/modules/services/monitoring/librenms.nix
···603603 ''
604604 )
605605 + ''
606606- # clear cache after update (before migrations)
607607- OLD_VERSION=$(cat ${cfg.dataDir}/version)
608608- if [[ $OLD_VERSION != "${package.version}" ]]; then
606606+ # clear cache if package has changed (cache may contain cached paths
607607+ # to the old package)
608608+ OLD_PACKAGE=$(cat ${cfg.dataDir}/package)
609609+ if [[ $OLD_PACKAGE != "${package}" ]]; then
609610 rm -r ${cfg.dataDir}/cache/*
610611 fi
611612···616617 echo "${lib.boolToString cfg.enableOneMinutePolling}" > ${cfg.dataDir}/one_minute_enabled
617618 fi
618619619619- # migrate db
620620- ${artisanWrapper}/bin/librenms-artisan migrate --force --no-interaction
621621-622622- # regenerate cache after migrations after update
620620+ # migrate db if package version has changed
621621+ # not necessary for every package change
622622+ OLD_VERSION=$(cat ${cfg.dataDir}/version)
623623 if [[ $OLD_VERSION != "${package.version}" ]]; then
624624+ ${artisanWrapper}/bin/librenms-artisan migrate --force --no-interaction
625625+ echo "${package.version}" > ${cfg.dataDir}/version
626626+ fi
627627+628628+ # regenerate cache if package has changed
629629+ if [[ $OLD_PACKAGE != "${package}" ]]; then
624630 ${artisanWrapper}/bin/librenms-artisan view:clear
625631 ${artisanWrapper}/bin/librenms-artisan optimize:clear
626632 ${artisanWrapper}/bin/librenms-artisan view:cache
627633 ${artisanWrapper}/bin/librenms-artisan optimize
628628- echo "${package.version}" > ${cfg.dataDir}/version
634634+ echo "${package}" > ${cfg.dataDir}/package
629635 fi
630636 '';
631637 };
···693699 "d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -"
694700 "f ${cfg.dataDir}/.env 0600 ${cfg.user} ${cfg.group} - -"
695701 "f ${cfg.dataDir}/version 0600 ${cfg.user} ${cfg.group} - -"
702702+ "f ${cfg.dataDir}/package 0600 ${cfg.user} ${cfg.group} - -"
696703 "f ${cfg.dataDir}/one_minute_enabled 0600 ${cfg.user} ${cfg.group} - -"
697704 "f ${cfg.dataDir}/config.json 0600 ${cfg.user} ${cfg.group} - -"
698705 "d ${cfg.dataDir}/storage 0700 ${cfg.user} ${cfg.group} - -"