diff --git a/home/console/imv.nix b/home/console/imv.nix new file mode 100644 index 0000000..c49530c --- /dev/null +++ b/home/console/imv.nix @@ -0,0 +1,39 @@ +{ + config, + lib, + ... +}: { + options.modules.terminal.imv.enable = lib.mkOption { + default = config.modules.terminal.enable; + description = "imv terminal-friendly image viewer"; + type = lib.types.bool; + }; + + config = lib.mkIf config.modules.terminal.imv.enable { + programs.imv = { + enable = true; + settings = { + options = { + background = "000000"; + overlay = true; + }; + }; + }; + + xdg.mimeApps = { + enable = true; + defaultApplications = { + "image/bmp" = ["imv.desktop"]; + "image/gif" = ["imv.desktop"]; + "image/heif" = ["imv.desktop"]; + "image/jpeg" = ["imv.desktop"]; + "image/jpg" = ["imv.desktop"]; + "image/png" = ["imv.desktop"]; + "image/tiff" = ["imv.desktop"]; + "image/webp" = ["imv.desktop"]; + "image/x-portable-bitmap" = ["imv.desktop"]; + "image/x-portable-pixmap" = ["imv.desktop"]; + }; + }; + }; +} diff --git a/home/console/mpv.nix b/home/console/mpv.nix new file mode 100644 index 0000000..debe161 --- /dev/null +++ b/home/console/mpv.nix @@ -0,0 +1,43 @@ +{ + config, + lib, + ... +}: { + options.modules.terminal.mpv.enable = lib.mkOption { + default = config.modules.terminal.enable; + description = "mpv media player"; + type = lib.types.bool; + }; + + config = lib.mkIf config.modules.terminal.mpv.enable { + programs.mpv = { + config = { + hwdec = "auto-safe"; + profile = "gpu-hq"; + save-position-on-quit = true; + ytdl-format = "bestvideo+bestaudio"; + }; + enable = true; + }; + + xdg.mimeApps = { + enable = true; + defaultApplications = { + "audio/flac" = ["mpv.desktop"]; + "audio/mp4" = ["mpv.desktop"]; + "audio/mpeg" = ["mpv.desktop"]; + "audio/ogg" = ["mpv.desktop"]; + "audio/wav" = ["mpv.desktop"]; + "audio/x-m4a" = ["mpv.desktop"]; + "audio/x-wav" = ["mpv.desktop"]; + "video/mp4" = ["mpv.desktop"]; + "video/mpeg" = ["mpv.desktop"]; + "video/ogg" = ["mpv.desktop"]; + "video/quicktime" = ["mpv.desktop"]; + "video/webm" = ["mpv.desktop"]; + "video/x-matroska" = ["mpv.desktop"]; + "video/x-msvideo" = ["mpv.desktop"]; + }; + }; + }; +}