nixos/core-desktop: declaratively configure mpv
This commit is contained in:
parent
16c1dd9c79
commit
4f57f67555
1 changed files with 73 additions and 1 deletions
|
@ -1,6 +1,9 @@
|
||||||
{config, lib, pkgs, ... }:
|
{config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./generic/mpv.nix
|
||||||
|
];
|
||||||
config = {
|
config = {
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
@ -19,10 +22,79 @@
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
kdePackages.kdeconnect-kde
|
kdePackages.kdeconnect-kde
|
||||||
mpv
|
|
||||||
pcmanfm
|
pcmanfm
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.mpv = let
|
||||||
|
fetchMpvScript = {url, hash, scriptName}: pkgs.fetchurl {
|
||||||
|
inherit url hash;
|
||||||
|
name = "mpv-script-${scriptName}";
|
||||||
|
recursiveHash = true;
|
||||||
|
downloadToTemp = true;
|
||||||
|
postFetch = ''
|
||||||
|
mkdir -p $out/share/mpv/scripts
|
||||||
|
mv $downloadedFile $out/share/mpv/scripts/${scriptName}
|
||||||
|
'';
|
||||||
|
passthru.scriptName = scriptName;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
scripts = [
|
||||||
|
pkgs.mpvScripts.sponsorblock
|
||||||
|
pkgs.mpvScripts.mpris
|
||||||
|
] ++ lib.map (script: fetchMpvScript {
|
||||||
|
url = "https://raw.githubusercontent.com/occivink/mpv-scripts/d0390c8e802c2e888ff4a2e1d5e4fb040f855b89/scripts/${script.name}";
|
||||||
|
hash = script.hash;
|
||||||
|
scriptName = script.name;
|
||||||
|
}) [
|
||||||
|
{ name = "crop.lua"; hash = "sha256-/uaTCtV8Aanvnxrt8afBbO4uu2xp8Ec6DxApMb+fg2s="; }
|
||||||
|
{ name = "encode.lua"; hash = "sha256-yK/DV0cpGhl4Uobl7xA1myZiECJpsShrHnsJftBqzAY="; }
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
mpv = {
|
||||||
|
keep-open = "yes";
|
||||||
|
volume = "40";
|
||||||
|
osd-fractions = "yes";
|
||||||
|
background = "0.0/1.0";
|
||||||
|
alpha = "yes";
|
||||||
|
};
|
||||||
|
input = lib.mkMerge [
|
||||||
|
# mpv core
|
||||||
|
''
|
||||||
|
Alt+1 set window-scale 0.125
|
||||||
|
Alt+2 set window-scale 0.25
|
||||||
|
Alt+3 set window-scale 0.5
|
||||||
|
Alt+4 set window-scale 1
|
||||||
|
Alt+5 set window-scale 2
|
||||||
|
''
|
||||||
|
# crop.lua
|
||||||
|
''
|
||||||
|
c script-message-to crop start-crop hard
|
||||||
|
alt+c script-message-to crop start-crop soft
|
||||||
|
ctrl+shift+c script-message-to crop start-crop delogo
|
||||||
|
C script-message-to crop toggle-crop hard
|
||||||
|
''
|
||||||
|
# encode.lua
|
||||||
|
''
|
||||||
|
b script-message-to encode encode_default
|
||||||
|
alt+b script-message-to encode set-timestamp encode_default
|
||||||
|
''
|
||||||
|
];
|
||||||
|
script-opts = {
|
||||||
|
"encode_default.conf" = {
|
||||||
|
only_active_tracks = "no";
|
||||||
|
preserve_filters = "yes";
|
||||||
|
append_filder = "";
|
||||||
|
codec = "";
|
||||||
|
output_format = "$f_$n.$x";
|
||||||
|
output_dir = "/tmp";
|
||||||
|
detached = "no";
|
||||||
|
ffmpeg_command = lib.getExe pkgs.ffmpeg;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.openssh.extraConfig = ''
|
services.openssh.extraConfig = ''
|
||||||
X11Forwarding yes
|
X11Forwarding yes
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue