diff --git a/flake.nix b/flake.nix index ca53217..13c13df 100644 --- a/flake.nix +++ b/flake.nix @@ -9,16 +9,20 @@ }; }; - outputs = inputs @ { nixpkgs, home-manager, ... }: + outputs = inputs @ { self, nixpkgs, home-manager, ... }: let inherit (lib) attrValues; inherit (lib.my) mapModules mapModulesRec; - mkPkgs = pkgs: + system = "x86_64-linux"; + + mkPkgs = pkgs: extraOverlays: import pkgs { + inherit system; config.allowUnfree = true; + overlays = extraOverlays ++ (lib.attrValues self.overlays); }; - pkgs = mkPkgs nixpkgs; + pkgs = mkPkgs nixpkgs []; lib = nixpkgs.lib.extend (self: super: { my = import ./lib { @@ -29,49 +33,47 @@ in { lib = lib.my; - nixosModules = mapModulesRec ./modules import; - nixosConfigurations = { atlas = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; modules = [ inputs.home-manager.nixosModules.home-manager + { nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; } (import ./modules) ./hosts/atlas ]; specialArgs = { inherit lib inputs; }; }; eos = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; modules = [ inputs.home-manager.nixosModules.home-manager + { nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; } (import ./modules) ./hosts/eos ]; specialArgs = { inherit lib inputs; }; }; helios = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; modules = [ inputs.home-manager.nixosModules.home-manager + { nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; } (import ./modules) ./hosts/helios ]; specialArgs = { inherit lib inputs; }; }; library = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; modules = [ inputs.home-manager.nixosModules.home-manager + { nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; } (import ./modules) ./hosts/library ]; specialArgs = { inherit lib inputs; }; }; odyssey = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; modules = [ inputs.home-manager.nixosModules.home-manager + { nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; } (import ./modules) ./hosts/odyssey ]; diff --git a/overlays/gnome.nix b/overlays/gnome.nix new file mode 100644 index 0000000..906764f --- /dev/null +++ b/overlays/gnome.nix @@ -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="; + }; + }); + }); +}