nixcfg/nixosModules/desktop/gnome/tripleBuffering.nix

31 lines
857 B
Nix

{
pkgs,
lib,
config,
...
}: {
options = {
desktopConfig.desktopEnvironments.gnome.tripleBuffering.enable =
lib.mkEnableOption "Enables dynamic triple buffering for GNOME.";
};
config =
lib.mkIf
config.desktopConfig.desktopEnvironments.gnome.tripleBuffering.enable {
nixpkgs.overlays = [
(final: prev: {
gnome = prev.gnome.overrideScope (gnomeFinal: gnomePrev: {
mutter = gnomePrev.mutter.overrideAttrs (old: {
src = pkgs.fetchgit {
url = "https://gitlab.gnome.org/vanvugt/mutter.git";
# GNOME 45: triple-buffering-v4-45
rev = "0b896518b2028d9c4d6ea44806d093fd33793689";
sha256 = "sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w=";
};
});
});
})
];
};
}