{ inputs, lib }: let getSystem = overlayPkgs: overlayPkgs.stdenv.hostPlatform.system; overlayMissingFromFlake = flake: ( final: prev: if builtins.hasAttr (getSystem prev) flake.packages then lib.filterAttrs (n: v: !(builtins.hasAttr n prev)) flake.packages.${getSystem prev} else { } ); in [ inputs.noctalia.overlays.default inputs.niri.overlays.niri-nix ( final: prev: let getVsxVersion = pkg: if pkg.version == "1.116.02821" then "1.116.0" else (pkg.vscodeVersion or pkg.version); getFlakeExts = version: inputs.nix-vscode-extensions.extensions.${getSystem prev}.forVSCodeVersion version; overlayExtensions = pkg: with getFlakeExts (getVsxVersion pkg); lib.zipAttrsWith (name: values: (lib.mergeAttrsList values)) [ final.vscode-extensions open-vsx open-vsx-release vscode-marketplace vscode-marketplace-release ]; in { vsxExtensionsFor = overlayExtensions; } ) (final: prev: { helix-unstable = inputs.helix.packages.${getSystem prev}.helix; scopebuddy = inputs.scopebuddy.packages.${getSystem prev}.default; sublimePackages = { "Catppuccin color schemes" = inputs.stextCatppuccin; "Package Control" = inputs.stextPackageControl; }; niri-legacy = inputs.niri-legacy.packages.${getSystem prev}.niri; xilinx-ise = inputs.xilinx-ise.packages.${getSystem prev}.xilinx-ise; }) (overlayMissingFromFlake inputs.nixpkgs-xr) # use nixpkgs stable where possible ( final: prev: if (builtins.hasAttr "pnpm_10_29_2" prev) then { pnpm_10_29_2 = final.pnpm_10; } else (builtins.warn "pnpm_10_29_2 is no longer in nixpkgs. Remove the workaround from overlays.nix" { }) ) ]