[NixOS] Use evalConfig/applyPatches to patch nixpkgs

This commit is contained in:
2025-08-13 21:50:02 -06:00
parent e84d333ea6
commit f092bc782e

View File

@@ -144,7 +144,29 @@
, specialArgs ? {} , specialArgs ? {}
, ... , ...
}: }:
nixpkgs.lib.nixosSystem (args // { let
# Bootstrap nixpkgs for this specific system
bootstrapPkgs = import nixpkgs {
inherit system;
config = {};
overlays = [];
};
# Apply patches to nixpkgs source
patchedSource = bootstrapPkgs.applyPatches {
name = "nixpkgs-patched";
src = nixpkgs;
patches = [
# Add your patches here
(bootstrapPkgs.fetchpatch {
url = "https://github.com/colonelpanic8/nixpkgs/commit/4a98b6d1faccd6d572596c5d867b479aebf8cef8.patch";
hash = "sha256-eZ7vQQho+ksrZvTjP0U/qDDYCJZq3NC2Ki44cBLfnkM=";
})
];
};
# Get eval-config from patched source
evalConfig = import "${patchedSource}/nixos/lib/eval-config.nix";
in
evalConfig {
inherit system; inherit system;
modules = baseModules ++ modules; modules = baseModules ++ modules;
specialArgs = rec { specialArgs = rec {
@@ -162,7 +184,7 @@
mapAllKeysToValue = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys); mapAllKeysToValue = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys);
forEachUser = mapAllKeysToValue realUsers; forEachUser = mapAllKeysToValue realUsers;
} // specialArgs; } // specialArgs;
}); };
in in
{ {
nixConfig = { nixConfig = {