64 lines
1.8 KiB
Nix
64 lines
1.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.software.system.mpv;
|
|
in {
|
|
options.modules.software.system.mpv = {
|
|
enable = mkEnableOption "Enable mpv, a lightweight video player";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
hm.programs.mpv = {
|
|
enable = true;
|
|
|
|
config = {
|
|
hwdec = "auto";
|
|
keep-open = "yes";
|
|
no-keepaspect-window = ""; # tiling doesn't play nice..
|
|
osc = "no";
|
|
border = "no";
|
|
};
|
|
|
|
scriptOpts = {
|
|
visualizer = {
|
|
mode = "noalbumart";
|
|
};
|
|
modernz = with config.scheme.withHashtag; {
|
|
bottomhover = "no";
|
|
hover_effect = ""; # these are weird lookin
|
|
seekbarfg_color = "${base0D}"; # blue is a sane default
|
|
};
|
|
};
|
|
|
|
scripts = with pkgs.mpvScripts; [
|
|
mpris
|
|
modernz
|
|
thumbfast
|
|
visualizer
|
|
];
|
|
};
|
|
|
|
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types/Common_types
|
|
hm.xdg.mimeApps.defaultApplications = {
|
|
"audio/3gpp" = [ "mpv.desktop" ]; # 3gp
|
|
"audio/3gpp2" = [ "mpv.desktop" ]; # 3g2
|
|
"audio/aac" = [ "mpv.desktop" ];
|
|
# `midi`: unsupported
|
|
"audio/mpeg" = [ "mpv.desktop" ]; # mp3
|
|
"audio/ogg" = [ "mpv.desktop" ];
|
|
"audio/wav" = [ "mpv.desktop" ];
|
|
"audio/webm" = [ "mpv.desktop" ]; # weba
|
|
"video/3gpp" = [ "mpv.desktop" ]; # 3gp
|
|
"video/3gpp2" = [ "mpv.desktop" ]; # 3g2
|
|
"video/x-msvideo" = [ "mpv.desktop" ]; # avi
|
|
"video/x-matroska" = [ "mpv.desktop" ]; # mkv
|
|
"video/quicktime" = [ "mpv.desktop" ]; # mov
|
|
"video/mp4" = [ "mpv.desktop" ];
|
|
"video/mpeg" = [ "mpv.desktop" ];
|
|
"video/ogg" = [ "mpv.desktop" ]; # ogv
|
|
# `ts`: not as commonly used as typescript
|
|
"video/webm" = [ "mpv.desktop" ];
|
|
};
|
|
};
|
|
}
|