{ config, pkgs, ... }: { home.packages = with pkgs; [ yt-dlp ]; programs.mpv = { enable = true; profiles = { low-quality = { profile-desc = "A profile for low-end machines"; profile = "sw-fast"; # Fallback to Wayland video output vo = "wlshm"; # Lower format of YT video ytdl-format = "bestvideo[height<=720][fps<=?30][vcodec!=?vp9]+bestaudio/best"; # Disable default statusbar (needed for 'thumbnail' script) osc = false; }; }; scripts = with pkgs.mpvScripts; [ thumbnail sponsorblock quality-menu ]; }; xdg.mimeApps = let mpv = "mpv.desktop"; in { defaultApplications = { "application/ogg" = [ mpv ]; "video/mpeg" = [ mpv ]; "video/mp4" = [ mpv ]; "video/ogg" = [ mpv ]; "video/avi" = [ mpv ]; "video/flv" = [ mpv ]; "video/mkv" = [ mpv ]; "video/webm" = [ mpv ]; "audio/webm" = [ mpv ]; "audio/vorbis" = [ mpv ]; "audio/mp4" = [ mpv ]; }; }; xdg.configFile."mailcap/mailcap".text = '' audio/*; ${pkgs.mpv}/bin/mpv %s >/dev/null 2>&1 &; video/*; ${pkgs.mpv}/bin/mpv %s >/dev/null 2>&1 &; ''; }