{ config, pkgs, mkWrappers, scope, ... }: let inherit (mkWrappers pkgs) wrap; ui = config.rice.roles config.rice.palette.hex; imvConfig = pkgs.writeText "imv-config" '' [options] background=${ui.bg} overlay_font=${config.rice.fonts.sans.name}:${toString config.rice.fonts.sans.size} overlay_text_color=${ui.fg} overlay_background_color=${ui.surface} ''; imvWrapped = wrap { name = "imv"; pkg = pkgs.imv; envs = { imv_config = "${imvConfig}"; }; }; in with pkgs; (scope "apps" { videoPlayer = mpv; imageViewer = imvWrapped; musicPlayer = strawberry; streamPlayer = config.programs.pwas.airdrome.package; soulSeek = nicotine-plus; }) // (scope "programs.pwas.airdrome" { name = "Airdrome"; url = "https://listen.lobotomise.me"; icon = builtins.fetchurl { name = "airdrome.svg"; url = "https://raw.githubusercontent.com/JPGuillemin/Airdrome/refs/heads/master/public/icon.svg"; sha256 = "sha256:1chmza1cbfg028ilz4dqg583s3121iw4fhc136v9f0zf44h76y7m"; }; description = "Airdrome, a Navidrome client"; categories = [ "Music" "Network" ]; })