diff --git a/flake.lock b/flake.lock index 7647a53..940503d 100644 --- a/flake.lock +++ b/flake.lock @@ -99,7 +99,8 @@ "gpdPocket3_home-manager": { "inputs": { "nixpkgs": [ - "gpdPocket3_nixpkgs" + "nixos-cosmic", + "nixpkgs-stable" ] }, "locked": { @@ -117,22 +118,6 @@ "type": "github" } }, - "gpdPocket3_nixpkgs": { - "locked": { - "lastModified": 1728328465, - "narHash": "sha256-a0a0M1TmXMK34y3M0cugsmpJ4FJPT/xsblhpiiX1CXo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1bfbbbe5bbf888d675397c66bfdb275d0b99361c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "h002_home-manager": { "inputs": { "nixpkgs": [ @@ -237,11 +222,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1728443929, - "narHash": "sha256-WFy8+K/bUTXwT9nMPT/Y23dPbW5I2rLEjgTuPC8y3lA=", + "lastModified": 1728530651, + "narHash": "sha256-b3icYsSiWvjeunpgoRmvmCxh1ak+oXpWEqHuzNgC7wM=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "a8960f9c66a0c4f2c24ae029da0886df4a68af33", + "rev": "9bdf58ccc52095d846186cb3549122205b36991a", "type": "github" }, "original": { @@ -1162,7 +1147,10 @@ "root": { "inputs": { "gpdPocket3_home-manager": "gpdPocket3_home-manager", - "gpdPocket3_nixpkgs": "gpdPocket3_nixpkgs", + "gpdPocket3_nixpkgs": [ + "nixos-cosmic", + "nixpkgs-stable" + ], "h002_home-manager": "h002_home-manager", "h002_nixpkgs": "h002_nixpkgs", "joe_home-manager": "joe_home-manager", @@ -1182,11 +1170,11 @@ ] }, "locked": { - "lastModified": 1728354625, - "narHash": "sha256-r+Sa1NRRT7LXKzCaVaq75l1GdZcegODtF06uaxVVVbI=", + "lastModified": 1728461096, + "narHash": "sha256-cd0cXB85B3kGpm+iumP9xCnqFErspXL9Z/2X59kQ6c4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d216ade5a0091ce60076bf1f8bc816433a1fc5da", + "rev": "e310b9bd71fa6c6a9fec0a8cf5af43ce798a0ad6", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0bb57ec..7636877 100644 --- a/flake.nix +++ b/flake.nix @@ -20,10 +20,15 @@ inputs.nixpkgs.follows = "h002_nixpkgs"; }; - gpdPocket3_nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + # COSMIC + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + # inputs.nixpkgs.follows = "nixos-cosmic/nixpkgs"; + }; + gpdPocket3_nixpkgs.follows = "nixos-cosmic/nixpkgs-stable"; gpdPocket3_home-manager = { url = "github:nix-community/home-manager/release-24.05"; - inputs.nixpkgs.follows = "gpdPocket3_nixpkgs"; + inputs.nixpkgs.follows = "nixos-cosmic/nixpkgs-stable"; }; nixpkgs_stable.url = "github:nixos/nixpkgs/nixos-24.05"; @@ -42,11 +47,6 @@ url = "git+https://git.joshuabell.xyz/nvim"; }; - # COSMIC - nixos-cosmic = { - url = "github:lilyinstarlight/nixos-cosmic"; - # inputs.nixpkgs.follows = "nixos-cosmic/nixpkgs"; - }; }; outputs = @@ -69,6 +69,7 @@ name = "RingOfStorms (Joshua Bell)"; }; }; + myHosts = [ { name = "joe"; @@ -127,15 +128,7 @@ // { "${nixConfig.name}" = nixConfig.settings.nixpkgs.lib.nixosSystem { - # module = nixConfig.overrides.modules or [...] modules = [ - # { - # nix.settings = { - # substituters = [ "https://cosmic.cachix.org/" ]; - # trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; - # }; - # } - # inputs.nixos-cosmic.nixosModules.default ./hosts/_common/configuration.nix ]; specialArgs = inputs // { diff --git a/hosts/gpdPocket3/configuration.nix b/hosts/gpdPocket3/configuration.nix index 2604a86..dcb5585 100644 --- a/hosts/gpdPocket3/configuration.nix +++ b/hosts/gpdPocket3/configuration.nix @@ -27,6 +27,31 @@ # ./stupid-keyboard-2.nix ]; + nixpkgs.overlays = [ + (final: prev: { + cosmic-comp = prev.cosmic-comp.overrideAttrs (prevAttrs: { + patches = (prevAttrs.patches or [ ]) ++ [ + (final.writeText "cosmic-comp-disable-direct-scanout.patch" '' + diff --git a/src/backend/kms/surface/mod.rs b/src/backend/kms/surface/mod.rs + index d0cfb8d..32aaf4a 100644 + --- a/src/backend/kms/surface/mod.rs + +++ b/src/backend/kms/surface/mod.rs + @@ -624,7 +624,8 @@ impl SurfaceThreadState { + cursor_size, + Some(gbm), + ) { + - Ok(compositor) => { + + Ok(mut compositor) => { + + compositor.use_direct_scanout(false); + self.active.store(true, Ordering::SeqCst); + self.compositor = Some(compositor); + Ok(()) + '') + ]; + }); + }) + ]; + # machine specific configuration # ============================== hardware.enableAllFirmware = true;