Add overlay for mutter triple-buffering

This commit is contained in:
2023-05-20 14:14:39 +01:00
parent 663f2ac184
commit 23a37e6149
2 changed files with 23 additions and 10 deletions

View File

@ -9,16 +9,20 @@
}; };
}; };
outputs = inputs @ { nixpkgs, home-manager, ... }: outputs = inputs @ { self, nixpkgs, home-manager, ... }:
let let
inherit (lib) attrValues; inherit (lib) attrValues;
inherit (lib.my) mapModules mapModulesRec; inherit (lib.my) mapModules mapModulesRec;
mkPkgs = pkgs: system = "x86_64-linux";
mkPkgs = pkgs: extraOverlays:
import pkgs { import pkgs {
inherit system;
config.allowUnfree = true; config.allowUnfree = true;
overlays = extraOverlays ++ (lib.attrValues self.overlays);
}; };
pkgs = mkPkgs nixpkgs; pkgs = mkPkgs nixpkgs [];
lib = nixpkgs.lib.extend (self: super: { lib = nixpkgs.lib.extend (self: super: {
my = import ./lib { my = import ./lib {
@ -29,49 +33,47 @@
in { in {
lib = lib.my; lib = lib.my;
nixosModules = mapModulesRec ./modules import;
nixosConfigurations = { nixosConfigurations = {
atlas = nixpkgs.lib.nixosSystem { atlas = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ modules = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules) (import ./modules)
./hosts/atlas ./hosts/atlas
]; ];
specialArgs = { inherit lib inputs; }; specialArgs = { inherit lib inputs; };
}; };
eos = nixpkgs.lib.nixosSystem { eos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ modules = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules) (import ./modules)
./hosts/eos ./hosts/eos
]; ];
specialArgs = { inherit lib inputs; }; specialArgs = { inherit lib inputs; };
}; };
helios = nixpkgs.lib.nixosSystem { helios = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ modules = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules) (import ./modules)
./hosts/helios ./hosts/helios
]; ];
specialArgs = { inherit lib inputs; }; specialArgs = { inherit lib inputs; };
}; };
library = nixpkgs.lib.nixosSystem { library = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ modules = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules) (import ./modules)
./hosts/library ./hosts/library
]; ];
specialArgs = { inherit lib inputs; }; specialArgs = { inherit lib inputs; };
}; };
odyssey = nixpkgs.lib.nixosSystem { odyssey = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ modules = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; }
(import ./modules) (import ./modules)
./hosts/odyssey ./hosts/odyssey
]; ];

11
overlays/gnome.nix Normal file
View File

@ -0,0 +1,11 @@
self: super:
{
gnome = super.gnome.overrideScope' (gself: gsuper: {
mutter = gsuper.mutter.overrideAttrs (oldAttrs: {
src = super.fetchurl {
url = "https://gitlab.gnome.org/Community/Ubuntu/mutter/-/archive/triple-buffering-v4-43/mutter-triple-buffering-v4-43.tar.gz";
sha256 = "e+pN+lZs3ZLdVkh7PAB1xUWqjhep9X6uKbU2GgEZ6aQ=";
};
});
});
}