{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.
  mkLlmAgentsOverlay = system: _final: _prev:
    inputs.llm-agents.packages.${system} or {};
}
