diff --git a/flake.lock b/flake.lock index 10bc132..e2a9e33 100644 --- a/flake.lock +++ b/flake.lock @@ -184,11 +184,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1742169275, - "narHash": "sha256-nkH2Edu9rClcsQp2PYBe8E6fp8LDPi2uDBQ6wyMdeXI=", + "lastModified": 1742206328, + "narHash": "sha256-q+AQ///oMnyyFzzF4H9ShSRENt3Zsx37jTiRkLkXXE0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5d9b5431f967007b3952c057fc92af49a4c5f3b2", + "rev": "096478927c360bc18ea80c8274f013709cf7bdcd", "type": "github" }, "original": { diff --git a/systems/x86_64-linux/puzzlevision/default.nix b/systems/x86_64-linux/puzzlevision/default.nix index 17533a3..b015242 100644 --- a/systems/x86_64-linux/puzzlevision/default.nix +++ b/systems/x86_64-linux/puzzlevision/default.nix @@ -12,6 +12,34 @@ inputs.hardware.nixosModules.common-pc-laptop-ssd ]; + nixpkgs.overlays = [ + (final: prev: { + mutter = prev.mutter.overrideAttrs (oldAttrs: { + # GNOME dynamic triple buffering + # See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441 + src = final.fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "vanvugt"; + repo = "mutter"; + rev = "triple-buffering-v4-47"; + hash = "sha256-6n5HSbocU8QDwuhBvhRuvkUE4NflUiUKE0QQ5DJEzwI="; + }; + + preConfigure = let + gvdb = final.fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = "gvdb"; + rev = "2b42fc75f09dbe1cd1057580b5782b08f2dcb400"; + hash = "sha256-CIdEwRbtxWCwgTb5HYHrixXi+G+qeE1APRaUeka3NWk="; + }; + in '' + cp -a "${gvdb}" ./subprojects/gvdb + ''; + }); + }) + ]; + # Configure Sops sops.defaultSopsFile = lib.snowfall.fs.get-file "secrets/default.yaml"; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; # The main AGE key is expected in this location, it is only needed for this system.