From c908ee136b0f2a48edbd0fb16016f27a3fd67d6e Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Fri, 6 Jun 2025 17:56:22 +0800 Subject: [PATCH] feat(homeModules/desktop): add video players --- modules/home/cli/file-browser/default.nix | 9 +++--- modules/home/desktop/media-player/default.nix | 29 +++++++++++++++++++ modules/nixos/desktop/default.nix | 1 + systems/x86_64-linux/nemesis/default.nix | 1 + 4 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 modules/home/desktop/media-player/default.nix diff --git a/modules/home/cli/file-browser/default.nix b/modules/home/cli/file-browser/default.nix index 847d7e9..1385e21 100644 --- a/modules/home/cli/file-browser/default.nix +++ b/modules/home/cli/file-browser/default.nix @@ -8,11 +8,12 @@ settings = { mgr = { sort_by = "natural"; - prepend_keymap = [ + }; + opener = { + play = [ { - on = "l"; - run = "plugin smart-enter"; - desc = ""; + run = "vlc \"$@\""; + desc = "Open"; } ]; }; diff --git a/modules/home/desktop/media-player/default.nix b/modules/home/desktop/media-player/default.nix new file mode 100644 index 0000000..497356a --- /dev/null +++ b/modules/home/desktop/media-player/default.nix @@ -0,0 +1,29 @@ +{ + osConfig, + lib, + pkgs, + ... +}: +{ + config = lib.mkMerge [ + (lib.mkIf (osConfig.desktop.media-player == "vlc") { + home.packages = lib.singleton pkgs.vlc; + }) + (lib.mkIf (osConfig.desktop.media-player == "mpv") { + programs.mpv = { + enable = true; + package = pkgs.mpv-unwrapped.wrapper { + scripts = with pkgs.mpvScripts; [ + sponsorblock + ]; + mpv = pkgs.mpv-unwrapped.override { + waylandSupport = true; + }; + }; + config = { + profile = "high-quality"; + }; + }; + }) + ]; +} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 47ccd71..34f3b13 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -23,6 +23,7 @@ notification-daemon = lib.pantheon.mkStrOption; launcher = lib.pantheon.mkStrOption; status-bar = lib.pantheon.mkStrOption; + media-player = lib.pantheon.mkStrOption; enableSpotifyd = lib.mkEnableOption ""; enableSteam = lib.mkEnableOption ""; enableVR = lib.mkEnableOption ""; diff --git a/systems/x86_64-linux/nemesis/default.nix b/systems/x86_64-linux/nemesis/default.nix index e907a0b..eefdf44 100644 --- a/systems/x86_64-linux/nemesis/default.nix +++ b/systems/x86_64-linux/nemesis/default.nix @@ -28,6 +28,7 @@ notification-daemon = "mako"; launcher = "fuzzel"; status-bar = "waybar"; + media-player = "vlc"; mainMonitor = { id = "desc:OOO AN-270W04K"; scale = "2";