dot.nix/overlays/default.nix

53 lines
1.3 KiB
Nix

# Defines overlays/custom modifications to upstream packages
{ inputs, ... }:
let
# Adds my custom packages
additions =
final: prev:
let
packages = prev.lib.packagesFromDirectoryRecursive {
callPackage = prev.lib.callPackageWith final;
directory = ../pkgs;
};
in
packages;
linuxModifications = final: prev: prev.lib.mkIf final.stdenv.isLinux { };
modifications = final: prev: {
## FIXME: Workaround, amd drivers are borked on current nixpkgs-unstable
linux-firmware = prev.linux-firmware.overrideAttrs (old: rec {
version = "20250509";
src = prev.fetchzip {
url = "https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${version}.tar.xz";
hash = "sha256-0FrhgJQyCeRCa3s0vu8UOoN0ZgVCahTQsSH0o6G6hhY=";
};
});
};
stable-packages = final: _prev: {
stable = import inputs.nixpkgs-stable {
inherit (final) system;
config.allowUnfree = true;
};
};
unstable-packages = final: _prev: {
unstable = import inputs.nixpkgs-unstable {
inherit (final) system;
config.allowUnfree = true;
};
};
in
{
default =
final: prev:
(additions final prev)
// (modifications final prev)
// (linuxModifications final prev)
// (stable-packages final prev)
// (unstable-packages final prev);
}