From 6b8e781dae8538dc9c075188d9a56331a086252a Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 16 Mar 2026 17:01:03 -0400 Subject: [PATCH 1/3] update flake --- flake.lock | 119 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 85 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index a2c2772..1a26d15 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1772952158, - "narHash": "sha256-RDR+7v1vaojweHI3FdPnuYPy4wRGfTKgeD5GXrXbfT0=", + "lastModified": 1773418853, + "narHash": "sha256-ELGvz8LW3fEzBTO1FpojRAPqp7+9xs5lspZb9NoZrbY=", "owner": "nix-community", "repo": "nixos-apple-silicon", - "rev": "55b7c3c03e9b778d96a71f44400bbdda9a4cfda7", + "rev": "2fbdf62451bcd9fc83ca99c56a6e379df8c47c8d", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1772644657, - "narHash": "sha256-7zQSBFv9gFeYhe65NchqLLste7mJ396jA1OnNcf+OQQ=", + "lastModified": 1773425695, + "narHash": "sha256-O5Fr6f+iS+IVKdB59yqkCaWfkr1SSHD5BLDDlZO7RwU=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "ff5ccc4fa26d5272d929fb9c1838593a6347ca10", + "rev": "3b9ae1ae5d4ee95e1509d350b65c0777dde97628", "type": "github" }, "original": { @@ -56,11 +56,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1772731186, - "narHash": "sha256-y70pS9Cma7+WCsni3VTacHh9g/udulmBS6zrYE2Fz64=", + "lastModified": 1773430072, + "narHash": "sha256-0X47YCF1CUnLiQ1M6Lh4hc3ax9aV5DX/wCmMfuMyM1o=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "eac8168ee15f742547d4d20ba5c7fea283f23019", + "rev": "ac70453c25200f0a30ad38b3caa63020869f0f8a", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1773093840, - "narHash": "sha256-u/96NoAyN8BSRuM3ZimGf7vyYgXa3pLx4MYWjokuoH4=", + "lastModified": 1773681856, + "narHash": "sha256-+bRqxoFCJFO9ZTFhcCkzNXbDT3b8AEk88fyjB7Is6eo=", "owner": "nix-community", "repo": "home-manager", - "rev": "bb014746edb2a98d975abde4dd40fa240de4cf86", + "rev": "57d5560ee92a424fb71fde800acd6ed2c725dfce", "type": "github" }, "original": { @@ -269,11 +269,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1772992385, - "narHash": "sha256-nHFrO9rNXV4p28SPkVcaVM8wds9s6ouivnMELo4fXms=", + "lastModified": 1773597464, + "narHash": "sha256-3SVrc1AMkY1UE36MD4qvmTkY/ZToK2F55Afut5Qm5F8=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "c7fac23ec3da662ca8e2fac8ba60076d5e06c6b1", + "rev": "30468236d5cdd9cb5dea6e757159e04816439146", "type": "github" }, "original": { @@ -316,11 +316,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1772822230, - "narHash": "sha256-yf3iYLGbGVlIthlQIk5/4/EQDZNNEmuqKZkQssMljuw=", + "lastModified": 1773610124, + "narHash": "sha256-EpC7ELOKmb+xXaqpK5ZRpJ5g9fxxg6tWny7/rUBfrwk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "71caefce12ba78d84fe618cf61644dce01cf3a96", + "rev": "9fe1300f4360e13f39d6d1d006e54fd5093e9ad5", "type": "github" }, "original": { @@ -332,11 +332,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1772963539, - "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", + "lastModified": 1773646010, + "narHash": "sha256-iYrs97hS7p5u4lQzuNWzuALGIOdkPXvjz7bviiBjUu8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", + "rev": "5b2c2d84341b2afb5647081c1386a80d7a8d8605", "type": "github" }, "original": { @@ -348,11 +348,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1772963539, - "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", + "lastModified": 1773563071, + "narHash": "sha256-p4f6smYpck1hw6gYsT2omq01gnlZ1E7HTpssDQ0fP+g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", + "rev": "1c6f50e5b62030a50799682b6babc9dcc5a271ae", "type": "github" }, "original": { @@ -362,6 +362,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts_2", @@ -392,11 +408,11 @@ "noctalia-qs": "noctalia-qs" }, "locked": { - "lastModified": 1773090974, - "narHash": "sha256-D9dpV+/TMVLO34Q/cZADB68OvmDbFt+9ydxyXpFEVjY=", + "lastModified": 1773694650, + "narHash": "sha256-3AhKBhSuHxH9COGAfdZSTWdoJxI9wyI1wiq3DEcS1j8=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "44045fa02045300304b9d1cb0d6c0a9988fc4772", + "rev": "b647e385a8e0a02a413a6e584d53e615191276e4", "type": "github" }, "original": { @@ -410,14 +426,16 @@ "nixpkgs": [ "noctalia", "nixpkgs" - ] + ], + "systems": "systems_2", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1772673824, - "narHash": "sha256-TLHXPoELZA6VeuzC1Zpx+MnSsYzrJs+DSieMgfjAOJc=", + "lastModified": 1773514555, + "narHash": "sha256-XNmLf4HqUM6/he/eJiHT+Mvxmt7QuwgGU14jB4Ha+pM=", "owner": "noctalia-dev", "repo": "noctalia-qs", - "rev": "f8531192cd09b9ea2e78d18e9cfc9d3dba498690", + "rev": "8aa9d8ce86ef018fb442c585ad7fbb2a15a4f822", "type": "github" }, "original": { @@ -434,11 +452,11 @@ ] }, "locked": { - "lastModified": 1773104692, - "narHash": "sha256-Knyv6e1o+W2fqJ/S9dDJxTpOMmnZi6OgN0vdx6tf9Uw=", + "lastModified": 1773693904, + "narHash": "sha256-4etCbDwnQ5EzdSiflzSistWwDZYqO0t3RVQOw6FcaTI=", "owner": "nix-community", "repo": "NUR", - "rev": "ed329bf1d83aa3cb2cd5151a4e6fbe7f9fee9ec2", + "rev": "fb1b5883b41bd32d27591004478ad8e32ea6ba5f", "type": "github" }, "original": { @@ -499,6 +517,39 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1772660329, + "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "tt-schemes": { "flake": false, "locked": { From 3b73c0011a5fdc10039e88b8660c6ddd1e7736ca Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 16 Mar 2026 17:07:56 -0400 Subject: [PATCH 2/3] remove custom gamescope & bottles --- packages/gamescope/default.nix | 28 ---------------------------- packages/overlay.nix | 1 - system/default.nix | 1 - system/hosts/alien/default.nix | 6 ------ 4 files changed, 36 deletions(-) delete mode 100644 packages/gamescope/default.nix diff --git a/packages/gamescope/default.nix b/packages/gamescope/default.nix deleted file mode 100644 index 30f39c2..0000000 --- a/packages/gamescope/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - gamescope, - fetchFromGitHub, -}: - -let - rev = "9416ca9334da7ff707359e5f6aa65dcfff66aa01"; -in -gamescope.overrideAttrs (oldAttrs: { - version = "unstable-20251206105151-9416ca"; - NIX_CFLAGS_COMPILE = [ "-fno-fast-math" ]; - - src = fetchFromGitHub { - inherit rev; - owner = "ValveSoftware"; - repo = "gamescope"; - fetchSubmodules = true; - hash = "sha256-bZXyNmhLG1ZcD9nNKG/BElp6I57GAwMSqAELu2IZnqA="; - }; - - # Unsure if this bit is necessary, though I guess it's nice to have the version gamescope shows match - postPatch = (oldAttrs.postPatch or "") + '' - substituteInPlace src/meson.build \ - --replace-fail "'git', 'describe', '--always', '--tags', '--dirty=+'" "'echo', '${rev}'" - - patchShebangs default_extras_install.sh - ''; -}) diff --git a/packages/overlay.nix b/packages/overlay.nix index e84f9c9..5346aea 100644 --- a/packages/overlay.nix +++ b/packages/overlay.nix @@ -1,7 +1,6 @@ final: prev: { spotify-webapp = final.callPackage ./spotify-webapp { }; bibata-cursor = final.callPackage ./bibata-cursor { }; - gamescope-unstable = final.callPackage ./gamescope { }; openmw-unstable = prev.openmw.overrideAttrs (oldAttrs: { pname = "openmw"; diff --git a/system/default.nix b/system/default.nix index 262f886..e6a4f03 100755 --- a/system/default.nix +++ b/system/default.nix @@ -51,7 +51,6 @@ programs = { gamescope = { enable = true; - package = pkgs.gamescope-unstable; capSysNice = false; args = [ "--output-width 3840" diff --git a/system/hosts/alien/default.nix b/system/hosts/alien/default.nix index 29a7332..424e6b6 100644 --- a/system/hosts/alien/default.nix +++ b/system/hosts/alien/default.nix @@ -8,7 +8,6 @@ environment.systemPackages = with pkgs; [ ddcutil mangohud - (bottles.override { removeWarningPopup = true; }) openrgb ]; @@ -71,11 +70,6 @@ virtualisation.hypervGuest.enable = true; boot.blacklistedKernelModules = [ "hyperv_fb" ]; - boot.binfmt.emulatedSystems = [ - "aarch64-linux" - "riscv64-linux" - ]; - # i don't even remember what this does or why i added it systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" From 882921b5095ad8890d506482358899cfb8e87491 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 16 Mar 2026 17:18:51 -0400 Subject: [PATCH 3/3] refactor widevine --- system/widevine/default.nix | 61 ++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/system/widevine/default.nix b/system/widevine/default.nix index df1aa78..33e32da 100644 --- a/system/widevine/default.nix +++ b/system/widevine/default.nix @@ -7,29 +7,42 @@ }: { nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [ - (final: prev: { - wrapFirefox = - browser: opts: - let - extraPrefs = (opts.extraPrefs or "") + '' - lockPref("media.gmp-widevinecdm.version", "system-installed"); - lockPref("media.gmp-widevinecdm.visible", true); - lockPref("media.gmp-widevinecdm.enabled", true); - lockPref("media.gmp-widevinecdm.autoupdate", false); - lockPref("media.eme.enabled", true); - lockPref("media.eme.encrypted-media-encryption-scheme.enabled", true); - ''; - widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm"; - widevineOutDir = "$out/gmp-widevinecdm/system-installed"; - in - (prev.wrapFirefox browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: { - buildCommand = previousAttrs.buildCommand + '' - mkdir -p "${widevineOutDir}" - ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so" - ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json" - wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}" - ''; - }); - }) + ( + final: prev: + let + # Determine the correct directory name based on the system architecture + archDir = + if final.stdenv.hostPlatform.isAarch64 then + "linux_arm64" + else if final.stdenv.hostPlatform.isx86_64 then + "linux_x64" + else + throw "Unsupported architecture for Widevine CDM"; + in + { + wrapFirefox = + browser: opts: + let + extraPrefs = (opts.extraPrefs or "") + '' + lockPref("media.gmp-widevinecdm.version", "system-installed"); + lockPref("media.gmp-widevinecdm.visible", true); + lockPref("media.gmp-widevinecdm.enabled", true); + lockPref("media.gmp-widevinecdm.autoupdate", false); + lockPref("media.eme.enabled", true); + lockPref("media.eme.encrypted-media-encryption-scheme.enabled", true); + ''; + widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm"; + widevineOutDir = "$out/gmp-widevinecdm/system-installed"; + in + (prev.wrapFirefox browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: { + buildCommand = previousAttrs.buildCommand + '' + mkdir -p "${widevineOutDir}" + ln -s "${widevineCdmDir}/_platform_specific/${archDir}/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so" + ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json" + wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}" + ''; + }); + } + ) ]; }