about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--modules/by-name/cl/cleanup/module.nix3
-rw-r--r--modules/by-name/lf/lf/commands/default.nix2
-rw-r--r--modules/by-name/lf/lf/ctpv/prev/audio/default.nix2
-rw-r--r--modules/by-name/mp/mpd/module.nix5
-rw-r--r--modules/by-name/mp/mpd/mpc.nix32
-rw-r--r--modules/by-name/mp/mpv/module.nix10
-rw-r--r--modules/by-name/ri/river/keymap.nix9
-rw-r--r--modules/home.legacy/conf/beets/default.nix11
-rw-r--r--modules/home.legacy/conf/gtk/default.nix3
-rw-r--r--pkgs/by-name/qu/qutebrowser-patched/package.nix29
-rw-r--r--pkgs/by-name/yt/yt/package.nix4
11 files changed, 79 insertions, 31 deletions
diff --git a/modules/by-name/cl/cleanup/module.nix b/modules/by-name/cl/cleanup/module.nix
index 98c699eb..9b42b337 100644
--- a/modules/by-name/cl/cleanup/module.nix
+++ b/modules/by-name/cl/cleanup/module.nix
@@ -21,6 +21,9 @@ in {
 
   config = lib.mkIf cfg.enable {
     programs.nano.enable = false;
+
+    services.speechd.enable = false;
+
     environment = {
       defaultPackages = lib.mkForce [];
     };
diff --git a/modules/by-name/lf/lf/commands/default.nix b/modules/by-name/lf/lf/commands/default.nix
index b6baf1df..e8230556 100644
--- a/modules/by-name/lf/lf/commands/default.nix
+++ b/modules/by-name/lf/lf/commands/default.nix
@@ -61,7 +61,7 @@ in {
     name = "archive_decompress";
     dependencies = [
       pkgs.gnutar
-      pkgs.openjdk
+      pkgs.openjdk_headless
       pkgs.p7zip
       pkgs.xz
       pkgs.gzip
diff --git a/modules/by-name/lf/lf/ctpv/prev/audio/default.nix b/modules/by-name/lf/lf/ctpv/prev/audio/default.nix
index 08a2f9d6..b9d4ff0d 100644
--- a/modules/by-name/lf/lf/ctpv/prev/audio/default.nix
+++ b/modules/by-name/lf/lf/ctpv/prev/audio/default.nix
@@ -14,7 +14,7 @@
       matches.mime = ["audio/*"];
       dependencies = [
         pkgs.ffmpegthumbnailer
-        pkgs.ffmpeg
+        pkgs.ffmpeg-headless
 
         pkgs.chafa
         pkgs.exiftool
diff --git a/modules/by-name/mp/mpd/module.nix b/modules/by-name/mp/mpd/module.nix
index 37c648c6..474d81c4 100644
--- a/modules/by-name/mp/mpd/module.nix
+++ b/modules/by-name/mp/mpd/module.nix
@@ -62,6 +62,11 @@ in {
 
       services.mpd = {
         enable = true;
+
+        package = pkgs.mpd.override {
+          ffmpeg = pkgs.ffmpeg-headless;
+        };
+
         network = {
           listenAddress = socketPath;
         };
diff --git a/modules/by-name/mp/mpd/mpc.nix b/modules/by-name/mp/mpd/mpc.nix
index cd4a4ec0..5fbeddc5 100644
--- a/modules/by-name/mp/mpd/mpc.nix
+++ b/modules/by-name/mp/mpd/mpc.nix
@@ -14,10 +14,28 @@
   ...
 }: let
   cfg = config.soispha.services.mpd.mpc;
+
+  mpp = pkgs.mpp.override {
+    # Removes the currently playing song from the disk and storage
+    mpp-beetrm = pkgs.mpp-beetrm.override {
+      beets = cfg.beetsPkg;
+    };
+
+    # Works like normal `mpc searchadd` but uses the `beets` query syntax
+    mpp-searchadd = pkgs.mpp-searchadd.override {
+      beets = cfg.beetsPkg;
+    };
+  };
 in {
   options.soispha.services.mpd.mpc = {
     enable = lib.mkEnableOption "mpc with extensions";
 
+    mppPackage = lib.mkOption {
+      type = lib.types.package;
+      description = "The package to use, when calling `mpp`";
+      default = mpp;
+    };
+
     beetsPkg = lib.mkOption {
       type = lib.types.package;
       description = "The package to use, when calling `beet`";
@@ -26,18 +44,8 @@ in {
 
   config = lib.mkIf cfg.enable {
     home-manager.users.soispha.home.packages = [
-      pkgs.mpp # Wrapper around `mpc` that allows the usage of `mpc-{beetsrm,lyrics,searchadd}` (below) without the `-`
-
-      # Removes the currently playing song from the disk and storage
-      (pkgs.mpp-beetrm.override {
-        beets = cfg.beetsPkg;
-      })
-      # Works like normal `mpc searchadd` but uses the `beets` query syntax
-      (pkgs.mpp-searchadd.override {
-        beets = cfg.beetsPkg;
-      })
-      # Displays the lyrics of the currently playing song
-      pkgs.mpp-lyrics
+      # Wrapper around `mpc` that allows the usage of `mpc-{beetsrm,lyrics,searchadd}`
+      cfg.mppPackage
     ];
   };
 }
diff --git a/modules/by-name/mp/mpv/module.nix b/modules/by-name/mp/mpv/module.nix
index 4416b295..0610dcd8 100644
--- a/modules/by-name/mp/mpv/module.nix
+++ b/modules/by-name/mp/mpv/module.nix
@@ -23,11 +23,18 @@ in {
     programs.mpv = {
       enable = true;
 
+      package = pkgs.mpv.override {
+        mpv-unwrapped = pkgs.mpv-unwrapped.override {
+          ffmpeg = pkgs.ffmpeg-headless;
+        };
+      };
+
       bindings = {
         q = "quit 0";
         "Ctrl+c" = "quit 1";
         "Shift+q" = "quit-watch-later 1";
       };
+
       config = {
         osd-bar = true;
 
@@ -46,9 +53,6 @@ in {
           max_width = 250;
         };
       };
-      scripts = [
-        pkgs.mpvScripts.thumbfast
-      ];
     };
   };
 }
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index 9bcbf387..eacfd75b 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -37,6 +37,7 @@
   };
 
   cfg = config.soispha.programs.river;
+  inherit (config.soispha.services.mpd.mpc) mppPackage;
 in {
   soispha.programs.river.init.mappings.keymap = lib.mkIf cfg.enable (lib.fixedPoints.fix
     (self: {
@@ -46,7 +47,7 @@ in {
           "a" = mkSpawn pkgs.alacritty "" {};
           "b" = mkSpawn pkgs.tskm "open select" {once = true;};
           "k" = mkSpawn pkgs.keepassxc "" {once = true;};
-          "s" = mkSpawn pkgs.signal-desktop "" {once = true;};
+          # "s" = mkSpawn pkgs.signal-desktop "" {once = true;};
           "p" = mkSpawn pkgs.screenshot_persistent "" {once = true;};
           "i" = mkSpawn pkgs.anki "" {once = true;};
         };
@@ -76,9 +77,9 @@ in {
           "u" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%+" {};
           "d" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%-" {};
           "m" = mkSpawn' pkgs.wireplumber "wpctl" "set-mute @DEFAULT_SINK@ toggle" {};
-          "n" = mkSpawn pkgs.mpp "next" {};
-          "p" = mkSpawn pkgs.mpp "prev" {};
-          "t" = mkSpawn pkgs.mpp "toggle" {};
+          "n" = mkSpawn mppPackage "next" {};
+          "p" = mkSpawn mppPackage "prev" {};
+          "t" = mkSpawn mppPackage "toggle" {};
           "g" = mkSpawn' pkgs.mpdpopm "mpdpopm" "rating inc" {once = true;};
           "b" = mkSpawn' pkgs.mpdpopm "mpdpopm" "rating decr" {once = true;};
         };
diff --git a/modules/home.legacy/conf/beets/default.nix b/modules/home.legacy/conf/beets/default.nix
index 0879b1a5..43d6bff9 100644
--- a/modules/home.legacy/conf/beets/default.nix
+++ b/modules/home.legacy/conf/beets/default.nix
@@ -14,7 +14,6 @@
   ...
 }: let
   plugins = import ./plugins.nix {};
-
   # TODO: Enable xtractor again <2025-03-29>
   # package = pkgs.beets.override {
   #   pluginOverrides = {
@@ -23,7 +22,6 @@
   #       propagatedBuildInputs = [pkgs.beetsExtraPlugins.xtractor];
   #     };
   #   };
-  package = pkgs.beets;
 in {
   imports = [
     ./plugins
@@ -31,7 +29,14 @@ in {
 
   programs.beets = {
     enable = true;
-    inherit package;
+    package = pkgs.python3.pkgs.toPythonApplication (pkgs.python3.pkgs.beets.override
+      {
+        ffmpeg = pkgs.ffmpeg-headless;
+        keyfinder-cli = pkgs.keyfinder-cli.override {
+          ffmpeg =
+            pkgs.ffmpeg-headless;
+        };
+      });
 
     settings = {
       library = "${config.xdg.dataHome}/beets/library.db";
diff --git a/modules/home.legacy/conf/gtk/default.nix b/modules/home.legacy/conf/gtk/default.nix
index c1a94f73..56e5f565 100644
--- a/modules/home.legacy/conf/gtk/default.nix
+++ b/modules/home.legacy/conf/gtk/default.nix
@@ -15,7 +15,8 @@
   gtk = {
     enable = true;
     theme = {
-      package = pkgs.nordic;
+      # NOTE: The `nordic` package pulls the whole plasma shell, for a plasma theme :/ <2026-05-29>
+      # package = pkgs.nordic;
       name = "Nordic";
     };
     cursorTheme = {
diff --git a/pkgs/by-name/qu/qutebrowser-patched/package.nix b/pkgs/by-name/qu/qutebrowser-patched/package.nix
index 1f2ea889..1e0532a1 100644
--- a/pkgs/by-name/qu/qutebrowser-patched/package.nix
+++ b/pkgs/by-name/qu/qutebrowser-patched/package.nix
@@ -1,6 +1,25 @@
-{qutebrowser}:
-qutebrowser.overrideAttrs (final: prev: {
-  pname = "${prev.pname}-patched";
+{
+  qutebrowser,
+  python3,
+}: let
+  python3NoSpeech = python3.override {
+    packageOverrides = self: super: {
+      pyqt6 = super.pyqt6.override {withSpeech = false;};
+    };
+  };
+  # NOTE: It's just not feasible to re-compile a webengine. <2026-05-29>
+  # qt6PackagesNoFfmpeg = qt6Packages.overrideScope (
+  #   _: prev: {
+  #     qtwebengine = prev.qtwebengine.override {
+  #       ffmpeg = ffmpeg-headless;
+  #     };
+  #   }
+  # );
+in
+  (qutebrowser.overrideAttrs (final: prev: {
+    pname = "${prev.pname}-patched";
 
-  patches = (prev.patches or []) ++ [./0001-fix-standardpaths-Continue-to-work-with-xdg-while-ba.patch];
-})
+    patches = (prev.patches or []) ++ [./0001-fix-standardpaths-Continue-to-work-with-xdg-while-ba.patch];
+  })).override {
+    python3 = python3NoSpeech;
+  }
diff --git a/pkgs/by-name/yt/yt/package.nix b/pkgs/by-name/yt/yt/package.nix
index 4e1b2ecb..41234e19 100644
--- a/pkgs/by-name/yt/yt/package.nix
+++ b/pkgs/by-name/yt/yt/package.nix
@@ -34,6 +34,8 @@
 }: let
   version = "1.9.0";
   python = python3.withPackages (ps: [ps.yt-dlp]);
+
+  mpv = mpv-unwrapped.override {ffmpeg = ffmpeg-headless;};
 in
   rustPlatform.buildRustPackage (finalAttrs: {
     inherit version;
@@ -48,7 +50,7 @@ in
     cargoHash = "sha256-U0alYK9mhz6esVf0mad9o7Ra6tRaL9HKCOftyOg34HE=";
 
     buildInputs = [
-      mpv-unwrapped.dev
+      mpv.dev
       ffmpeg-headless
       openssl
       libffi