nix/graphical/media.nix
2026-05-20 16:02:24 +10:00

45 lines
1.1 KiB
Nix

{
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"
];
})