40 lines
775 B
Nix
40 lines
775 B
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
osConfig ? null,
|
||
|
...
|
||
|
}:
|
||
|
let
|
||
|
inherit (lib) mkEnableOption mkIf;
|
||
|
cfg = config.ataraxia.programs.mpv;
|
||
|
|
||
|
gpu = if (osConfig != null) then osConfig.ataraxia.defaults.hardware.gpuVendor else null;
|
||
|
in
|
||
|
{
|
||
|
options.ataraxia.programs.mpv = {
|
||
|
enable = mkEnableOption "Enable mpv program";
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
programs.mpv = {
|
||
|
enable = true;
|
||
|
config = {
|
||
|
vo = "gpu-next";
|
||
|
gpu-context = "wayland";
|
||
|
save-position-on-quit = "yes";
|
||
|
hwdec = if gpu == "nvidia" then "vdpau" else "vaapi";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
defaultApplications.media-player = {
|
||
|
cmd = "${config.programs.mpv.package}/bin/mpv";
|
||
|
desktop = "mpv";
|
||
|
};
|
||
|
|
||
|
persist.state.directories = [
|
||
|
".config/mpv"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
}
|