Files
nixos-config/overlays/default.nix
T
m3ta-chiron 1610a5ac7d fix(podman): pin aardvark-dns to 1.17.1 from stable
aardvark-dns 2.0.0 has a DNS forwarding bug breaking external name
resolution in podman networks. Pin to 1.17.1 (last 1.x) from
nixpkgs-stable; the nixpkgs podman wrapper picks it up via helpersBin
automatically.
2026-08-16 12:44:51 +02:00

104 lines
4.1 KiB
Nix

{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: {
# aardvark-dns 2.x has a DNS forwarding bug breaking external name
# resolution in podman networks — pin to last 1.x from nixpkgs-stable.
aardvark-dns = import ./mods/aardvark-dns.nix {inherit (final) stable;};
};
# 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.
#
# Use llm-agents' shared-nixpkgs overlay so packages with optional GPU support
# (notably qmd) are built against this system's pkgs/config. Using the flake's
# pre-built `packages.${system}` set pins them to llm-agents' own nixpkgs,
# where allowUnfree is false; qmd.override { cudaSupport = true; } then fails
# on CUDA EULA packages during the m3-ares NVIDIA specialisation build.
#
# Keep the exposed top-level package names aligned with llm-agents' filtered
# flake packages, but take the package values from the shared package set.
# Filters out 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: let
sharedPackages = (inputs.llm-agents.overlays.shared-nixpkgs final prev).llm-agents or {};
exposedPackageNames =
builtins.filter
(name: inputs.nixpkgs.lib.hasAttrByPath [name] sharedPackages)
(builtins.attrNames (inputs.llm-agents.packages.${system} or {}));
exposedPackages =
builtins.listToAttrs
(map (name: {
inherit name;
value = sharedPackages.${name};
})
exposedPackageNames);
in
builtins.removeAttrs exposedPackages [
# 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"
];
}