graphical/mpv: add useFullFFmpeg option
This commit is contained in:
parent
1d9b7db36c
commit
7e5b6783ba
1 changed files with 32 additions and 14 deletions
|
|
@ -15,6 +15,17 @@ in
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs name { };
|
package = lib.mkPackageOption pkgs name { };
|
||||||
|
|
||||||
|
useFullFFmpeg = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Use pkgs.ffmpeg-full within mpv, for more media support.
|
||||||
|
For instance, this makes jxl viewing and screenshots possible.
|
||||||
|
|
||||||
|
However, this will (almost certainly) require a local compilation of mpv
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = lib.mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = lib.types.lines;
|
type = lib.types.lines;
|
||||||
default = ''
|
default = ''
|
||||||
|
|
@ -44,20 +55,27 @@ in
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
(cfg.package.override {
|
(
|
||||||
extraMakeWrapperArgs = [
|
cfg.package.override {
|
||||||
"--add-flags"
|
extraMakeWrapperArgs = [
|
||||||
"--config-dir=${
|
"--add-flags"
|
||||||
pkgs.symlinkJoin {
|
"--config-dir=${
|
||||||
inherit name;
|
pkgs.symlinkJoin {
|
||||||
paths = [
|
inherit name;
|
||||||
(pkgs.writeTextDir "${name}.conf" cfg.extraConfig)
|
paths = [
|
||||||
(pkgs.writeTextDir "input.conf" cfg.extraInputConf)
|
(pkgs.writeTextDir "${name}.conf" cfg.extraConfig)
|
||||||
];
|
(pkgs.writeTextDir "input.conf" cfg.extraInputConf)
|
||||||
}
|
];
|
||||||
}"
|
}
|
||||||
];
|
}"
|
||||||
})
|
];
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs cfg.useFullFFmpeg {
|
||||||
|
mpv-unwrapped = pkgs.mpv-unwrapped.override {
|
||||||
|
ffmpeg = pkgs.ffmpeg-full;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue