diff --git a/flake.lock b/flake.lock index 9b2e859..3cc4c63 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1774497795, - "narHash": "sha256-tzgxKaCEMcU6XT0fjV/vEqDCM9yij6wBgPPBKiK8Dfk=", + "lastModified": 1774843378, + "narHash": "sha256-8QLbY8F7UdxeQaW0KUVgr1/YPIupe+1lGjS5joR+ZCw=", "owner": "rycee", "repo": "nur-expressions", - "rev": "11af6f465a038233b8123022dcb7e293f3229f11", + "rev": "0a31b668e3ebb599f95dc518076d709e8dddb57c", "type": "gitlab" }, "original": { @@ -115,11 +115,11 @@ ] }, "locked": { - "lastModified": 1774561634, - "narHash": "sha256-3q1xsREjqdVIIwQQDZQ9y0YdBzP8gAxdwKoKnZSzJtU=", + "lastModified": 1774898676, + "narHash": "sha256-0Utnqo+FbB+0CVUi0MI3oonF0Kuzy9VcgRkxl53Euvk=", "owner": "nix-community", "repo": "home-manager", - "rev": "7c046c63ac3b467c1d589b99d531da5b6520825a", + "rev": "a184bd2f8426087bae93f203403cd4b86c99e57d", "type": "github" }, "original": { @@ -255,11 +255,11 @@ ] }, "locked": { - "lastModified": 1774493729, - "narHash": "sha256-iiAPQOnqXCXQd+JBfdEJvbkQEURtRjCiQAMqJC0eqpI=", + "lastModified": 1774925891, + "narHash": "sha256-8QGLGZJGnjPXFkWncYI9IXfUJEaPshX81W9LCJyQbGE=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "5658883e82456228e65c1182bf4a35e909b3ef14", + "rev": "01dbb479b5f70a18feaa6398077c3babba0d4ba9", "type": "github" }, "original": { @@ -270,11 +270,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1774465523, - "narHash": "sha256-4v7HPm63Q90nNn4fgkgKsjW1AH2Klw7XzPtHJr562nM=", + "lastModified": 1774777275, + "narHash": "sha256-qogBiYFq8hZusDPeeKRqzelBAhZvREc7Cl+qlewGUCg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "de895be946ad1d8aafa0bb6dfc7e7e0e9e466a29", + "rev": "b8f81636927f1af0cca812d22c876bad0a883ccd", "type": "github" }, "original": { @@ -317,11 +317,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1774386573, - "narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=", + "lastModified": 1774709303, + "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9", + "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", "type": "github" }, "original": { @@ -431,11 +431,11 @@ ] }, "locked": { - "lastModified": 1774303811, - "narHash": "sha256-fhG4JAcLgjKwt+XHbjs8brpWnyKUfU4LikLm3s0Q/ic=", + "lastModified": 1774910634, + "narHash": "sha256-B+rZDPyktGEjOMt8PcHKYmgmKoF+GaNAFJhguktXAo0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "614e256310e0a4f8a9ccae3fa80c11844fba7042", + "rev": "19bf3d8678fbbfbc173beaa0b5b37d37938db301", "type": "github" }, "original": { diff --git a/modules/common-modules/overlays/default.nix b/modules/common-modules/overlays/default.nix index 3def9e9..fab8f2b 100644 --- a/modules/common-modules/overlays/default.nix +++ b/modules/common-modules/overlays/default.nix @@ -6,5 +6,35 @@ (final: prev: { noita_entangled_worlds = inputs.noita-entangled-worlds.packages.${prev.stdenv.hostPlatform.system}.noita-proxy; }) + # Workaround: some extensions in nix-vscode-extensions have invalid semver + # engine versions (e.g. 1.112.01907 with leading zeros) that cause + # forVSCodeVersion to throw. This tries the version-filtered set per site + # and falls back to unfiltered only for sites with bad semver data. + (final: prev: { + nix-vscode-extensions = + prev.nix-vscode-extensions + // { + forVSCodeVersion = vscodeVersion: let + filtered = prev.nix-vscode-extensions.forVSCodeVersion vscodeVersion; + unfiltered = prev.nix-vscode-extensions; + safeSite = site: let + # builtins.attrNames forces the filter to run on all extensions, + # which triggers semver parsing. If any extension has an invalid + # version, this catches the error and falls back to the unfiltered set. + tried = builtins.tryEval ( + builtins.seq (builtins.length (builtins.attrNames filtered.${site})) filtered.${site} + ); + in + if tried.success + then tried.value + else unfiltered.${site}; + in + filtered + // { + open-vsx = safeSite "open-vsx"; + vscode-marketplace = safeSite "vscode-marketplace"; + }; + }; + }) ]; }