{inputs, ...}: { # This one brings our custom packages from the 'pkgs' directory # additions = final: prev: # (import ../pkgs {pkgs = final;}) # // {rose-pine-hyprcursor = inputs.rose-pine-hyprcursor.packages.${prev.system}.default;}; # This one contains whatever you want to overlay # You can change versions, add patches, set compilation flags, anything really. # https://nixos.wiki/wiki/Overlays modifications = final: prev: { # n8n = import ./mods/n8n.nix {inherit prev;}; # brave = prev.brave.override { # commandLineArgs = "--password-store=gnome-libsecret"; # }; # hyprpanel = inputs.hyprpanel.packages.${prev.system}.default.overrideAttrs (prev: { # version = "latest"; # or whatever version you want # src = final.fetchFromGitHub { # owner = "Jas-SinghFSU"; # repo = "HyprPanel"; # rev = "master"; # or a specific commit hash # hash = "sha256-l623fIVhVCU/ylbBmohAtQNbK0YrWlEny0sC/vBJ+dU="; # }; # }); }; # temp-packages = final: _prev: { # temp = import inputs.nixpkgs-9e9486b { # system = final.stdenv.hostPlatform.system; # config.allowUnfree = true; # }; # }; stable-packages = final: _prev: { stable = import inputs.nixpkgs-stable { system = final.stdenv.hostPlatform.system; config.allowUnfree = true; }; }; # pinned-packages = final: _prev: { # pinned = import inputs.nixpkgs-9472de4 { # system = final.stdenv.hostPlatform.system; # config.allowUnfree = true; # }; # }; # locked-packages = final: _prev: { # locked = import inputs.nixpkgs-locked { # system = final.stdenv.hostPlatform.system; # config.allowUnfree = true; # }; # }; master-packages = final: _prev: { master = import inputs.nixpkgs-master { system = final.stdenv.hostPlatform.system; config.allowUnfree = true; }; }; # Factory: not a proper overlay itself — takes system to avoid the infinite # recursion that occurs when accessing final/prev.system while the fixed-point # is still being computed. Exposed via outputs.lib, not outputs.overlays. # # Filters out the 16 internal helpers (marked `passthru.hideFromDocs = true` # upstream) that would otherwise clobber nixpkgs attributes. Most critically # this excludes `buildNpmPackage` — llm-agents' buildNpmPackage is a guarded # re-export whose `__functor`/`override` interaction with makeOverridable # breaks any package (e.g. nixpkgs' webcord) that calls # `buildNpmPackage.override { nodejs = ...; }`. See numtide/llm-agents.nix # commit 40490259 and the wrapper at packages/buildNpmPackage/package.nix. mkLlmAgentsOverlay = system: _final: _prev: builtins.removeAttrs (inputs.llm-agents.packages.${system} or {}) [ # Internal helpers from packages/* marked hideFromDocs upstream: "antigravity" "auto-claude" "buildNpmPackage" # ← the culprit; breaks webcord's `buildNpmPackage.override { nodejs = ...; }` "bun2nix" "darwinOpenptyHook" "default" # fzf launcher; collides with nothing in nixpkgs but kept out for hygiene "dolt" # collides with nixpkgs.dolt (Dolt database); not used in this config "flake-inputs" "forge" "formatelf" "formatter" # collides conceptually with pkgs.formatter; not used here "go-bin" "unpinCargoMsrvHook" "unpinGoModVersionHook" "versionCheckHomeHook" "wrapBuddy" ]; }