Files
nixos-config/overlays/default.nix
T
m3ta-chiron e2c7cce3b0 fix(overlay): patch font-manager 0.9.4 for gtk4 4.22 Vala errors
font-manager 0.9.4 fails to compile against gtk4 4.22: the
Gtk.DragIcon.get_for_drag binding changed in the gtk4 vapi, producing
'use new operator' errors in Collections.vala and FontList.vala that
broke home-manager-path for all desktop hosts.

0.9.4 is the latest upstream release (master unfixed too); the fix is
upstream PR FontManager/font-manager#468, already carried by nixpkgs
master but predating our locked nixpkgs and nixpkgs-master inputs.
Vendor the patch as an overlay mod, following the aardvark-dns pattern.
Drop once the nixpkgs lock carries it.
2026-08-31 12:37:32 +02:00

63 lines
2.2 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;};
# font-manager 0.9.4 does not compile against gtk4 4.22 (Vala errors
# in Gtk.DragIcon.get_for_drag) — apply the upstream fix from
# FontManager/font-manager#468 until our nixpkgs lock carries it.
font-manager = import ./mods/font-manager.nix {inherit prev;};
};
# 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;
};
};
# llm-agent packages (qmd, herdr, beads, …) come from
# inputs.llm-agents.overlays.shared-nixpkgs, applied directly in
# hosts/common/default.nix. They are consumed via the `pkgs.llm-agents.*`
# namespace — no flattening to top-level attributes (that clobbered
# nixpkgs attrs like buildNpmPackage/fetchPnpmDeps and needed a
# hard-to-maintain blocklist).
}