summary refs log tree commit diff
path: root/pkgs/desktops/gnome/extensions/extensionOverrides.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome/extensions/extensionOverrides.nix')
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
new file mode 100644
index 00000000000..182bdf6ecdf
--- /dev/null
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -0,0 +1,32 @@
+{
+  lib,
+  ddcutil,
+  gjs,
+}:
+# A set of overrides for automatically packaged extensions that require some small fixes.
+# The input must be an attribute set with the extensions' UUIDs as keys and the extension
+# derivations as values. Output is the same, but with patches applied.
+#
+# Note that all source patches refer to the built extension as published on extensions.gnome.org, and not
+# the upstream repository's sources.
+super: super // {
+
+  "display-brightness-ddcutil@themightydeity.github.com" = super."display-brightness-ddcutil@themightydeity.github.com".overrideAttrs (old: {
+    # Has a hard-coded path to a run-time dependency
+    # https://github.com/NixOS/nixpkgs/issues/136111
+    postPatch = ''
+      substituteInPlace "extension.js" --replace "/usr/bin/ddcutil" "${ddcutil}/bin/ddcutil"
+    '';
+  });
+
+  "gnome-shell-screenshot@ttll.de" = super."gnome-shell-screenshot@ttll.de".overrideAttrs (old: {
+    # Requires gjs
+    # https://github.com/NixOS/nixpkgs/issues/136112
+    postPatch = ''
+      for file in *.js; do
+        substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
+      done
+    '';
+  });
+
+}