summaryrefslogtreecommitdiff
path: root/hm/soft
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2025-12-29 23:50:05 +0100
committeradikro <adikro@disroot.org>2025-12-29 23:50:05 +0100
commit05ae56295ae0d7bf99d9580ef5ff1f209259733a (patch)
treeb8eefbd8d0315d51b53b24889dfdd6c6e3093a29 /hm/soft
parentbd0047d2c4826214bcedf4c1a57d010bb407034d (diff)
added GLSL shaders and some shit i dont understand to mpv
Diffstat (limited to 'hm/soft')
-rw-r--r--hm/soft/mpv.nix143
-rw-r--r--hm/soft/nixcord.nix6
2 files changed, 133 insertions, 16 deletions
diff --git a/hm/soft/mpv.nix b/hm/soft/mpv.nix
index 8df73e7..ec69c33 100644
--- a/hm/soft/mpv.nix
+++ b/hm/soft/mpv.nix
@@ -1,45 +1,160 @@
{ config, lib, pkgs, ... }:
let
cfg = config.hm.soft.mpv;
- shim_dir = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
- anime4k_dir = "${pkgs.anime4k}"
+ s = "~~/shaders/shim";
in
{
options.hm.soft.mpv.enable = lib.mkEnableOption "mpv media player";
+
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
- anime4k
mpv-shim-default-shaders
];
+
+ home.file = {
+ ".config/mpv/shaders/shim".source = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
+ };
+
programs.mpv = {
enable = true;
+
+ bindings = {
+ "CTRL+1" = "apply-profile movie-ultra; show-text \"Movie Ultra Active\"";
+ "CTRL+2" = "apply-profile anime-mode-a; show-text \"Anime4K: Mode A (UL)\"";
+ "CTRL+3" = "apply-profile anime-mode-b; show-text \"Anime4K: Mode B (UL)\"";
+ "CTRL+4" = "apply-profile anime-mode-c; show-text \"Anime4K: Mode C (UL)\"";
+ "CTRL+5" = "apply-profile anime-mode-aa; show-text \"Anime4K: Mode A+A (UL)\"";
+ "CTRL+6" = "apply-profile anime-mode-bb; show-text \"Anime4K: Mode B+B (UL)\"";
+ "CTRL+7" = "apply-profile anime-mode-ca; show-text \"Anime4K: Mode C+A (UL)\"";
+ "CTRL+0" = "apply-profile restore; show-text \"Shaders Cleared / Defaults Restored\"";
+
+ "s" = "screenshot";
+ "WHEEL_UP" = "add volume 2";
+ "WHEEL_DOWN" = "add volume -2";
+ "Q" = "quit-watch-later";
+ };
+
config = {
- # general stuff
- save-position-on-quit = true;
keep-open = "yes";
-
- # video
profile = "gpu-hq";
gpu-api = "vulkan";
vo = "gpu-next";
hwdec = "auto";
- # audio
- ao = "pipewire";
+ scale = "ewa_lanczossharp";
+ cscale = "ewa_lanczos";
+ dscale = "mitchell";
+ scale-antiring = 0.6;
+ cscale-antiring = 0.6;
+
+ deband = "yes";
+ deband-iterations = 2;
+ deband-threshold = 35;
+ dither-depth = "auto";
+ dither = "fruit";
+
sub-auto = "fuzzy";
- volume-max = "200";
+ sub-ass-override = "force";
+ blend-subtitles = "no";
+ slang = "enm,eng,en,enCA,enUS";
- # network streaming
+ ao = "pipewire";
+ volume-max = "200";
demuxer-max-back-bytes = "50Mib";
demuxer-max-bytes = "600Mib";
demuxer-readahead-secs = 300;
force-seekable = "yes";
- # screenshotting
screenshot-format = "png";
- screenshot-directory = "~/${config.hm.conf.xdg-dirs.mediaPath}/pics/ss";
+ screenshot-sw = "no";
+ screenshot-directory = "${toString config.hm.conf.xdg-dirs.mediaPath}/pics/ss";
screenshot-template = "mpv-%f-%wH.%wM.%wS-#%#00n";
};
+
+ profiles = {
+ "movie-ultra" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/KrigBilateral.glsl"
+ "${s}/FSRCNNX_x2_16-0-4-1.glsl"
+ "${s}/SSimDownscaler.glsl"
+ "${s}/CAS-scaled.glsl"
+ ];
+ scale = "ewa_lanczos";
+ linear-upscaling = "yes";
+ sigmoid-upscaling = "yes";
+ };
+
+ "anime-mode-a" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/Anime4K_Clamp_Highlights.glsl"
+ "${s}/Anime4K_Restore_CNN_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x2.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x4.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ ];
+ };
+
+ "anime-mode-b" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/Anime4K_Clamp_Highlights.glsl"
+ "${s}/Anime4K_Restore_CNN_Soft_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x2.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x4.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ ];
+ };
+
+ "anime-mode-c" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/Anime4K_Clamp_Highlights.glsl"
+ "${s}/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x2.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x4.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ ];
+ };
+
+ "anime-mode-aa" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/Anime4K_Clamp_Highlights.glsl"
+ "${s}/Anime4K_Restore_CNN_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ "${s}/Anime4K_Restore_CNN_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ ];
+ };
+
+ "anime-mode-bb" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/Anime4K_Clamp_Highlights.glsl"
+ "${s}/Anime4K_Restore_CNN_Soft_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x2.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x4.glsl"
+ "${s}/Anime4K_Restore_CNN_Soft_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ ];
+ };
+
+ "anime-mode-ca" = {
+ glsl-shaders = lib.concatStringsSep ":" [
+ "${s}/Anime4K_Clamp_Highlights.glsl"
+ "${s}/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x2.glsl"
+ "${s}/Anime4K_AutoDownscalePre_x4.glsl"
+ "${s}/Anime4K_Restore_CNN_UL.glsl"
+ "${s}/Anime4K_Upscale_CNN_x2_UL.glsl"
+ ];
+ };
+
+ "restore" = {
+ glsl-shaders = "";
+ scale = "ewa_lanczossharp";
+ };
+ };
+
scripts = with pkgs.mpvScripts; [
webtorrent-mpv-hook
visualizer
@@ -53,8 +168,10 @@ in
memo
autosubsync-mpv
autosub
+ sponsorblock
];
};
+
hm.soft = {
media.enable = true;
yt-dlp.enable = true;
diff --git a/hm/soft/nixcord.nix b/hm/soft/nixcord.nix
index c948a4d..4d87901 100644
--- a/hm/soft/nixcord.nix
+++ b/hm/soft/nixcord.nix
@@ -28,9 +28,9 @@ in
ClearURLs.enable = true;
CopyUserURLs.enable = true;
NoRPC.enable = true;
- OnePingPerDm.enable = true;
+ OnePingPerDM.enable = true;
PinDMs = { enable = true; canCollapseDmSection = true; };
- SaveFavoriteGiFs.enable = true;
+ SaveFavoriteGIFs.enable = true;
altKrispSwitch.enable = true;
alwaysExpandRoles = { enable = true; hideArrow = true; };
alwaysTrust = { enable = true; domain = false; };
@@ -131,7 +131,7 @@ in
stickerBlocker.enable = true;
streamerModeOnStream.enable = true;
streamingCodecDisabler = { enable = true; disableH264Codec = true; disableH265Codec = true; disableVP8Codec = true; disableVP9Codec = true; };
- superReactionTweaks = { enable = true; superReactionPlayingLimit = 0; };
+ superReactionTweaks = { enable = true; superReactionPlayingLimit = 0.0; };
themeLibrary.enable = true;
typingIndicator.enable = true;
typingTweaks.enable = true;