nixfiles/home/profiles/graphical/media.nix
2025-02-18 16:11:04 -08:00

48 lines
1.3 KiB
Nix

{
pkgs,
lib,
inputs,
...
}: let
inherit (lib.attrsets) mapAttrsToList;
ytdlp = inputs.nixpkgs-current.legacyPackages.x86_64-linux.yt-dlp;
in {
# TODO: remove the libs
programs.mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [
sponsorblock
paused
];
config = {
profile = "gpu-hq";
hwdec = "auto";
vo = "gpu";
volume-max = 200;
opengl-waitvsync = true;
script-opts =
builtins.concatStringsSep ","
(mapAttrsToList (k: v: "${k}=${builtins.toString v}") {
ytdl_hook-ytdl_path = "${ytdlp}/bin/yt-dlp";
osc-layout = "slimbox";
osc-vidscale = "no";
osc-deadzonesize = 0.75;
osc-minmousemove = 4;
osc-hidetimeout = 2000;
osc-valign = 0.9;
osc-timems = "yes";
osc-seekbarstyle = "knob";
osc-seekbarkeyframes = "no";
osc-seekrangestyle = "slider";
});
};
};
programs.zsh.shellAliases = {
yt = "mpv --ytdl-format='bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best[height<=720]'"; # Laptop doesn't like above 720p :c
};
home.packages = with pkgs; [
ytdlp # Watch videos from multiple sources without having to use a browser for it
ytcc # Subscriptions manager and RSS feed exporter for YouTube
];
}