{ lib, ... }:
let
  moduleOverrides = [
    # TODO: Remove after updating to nixos 25.05
    {
      # https://github.com/NixOS/nixpkgs/pull/359882
      disabledModules = [
        "system/boot/luksroot.nix"
      ];
      replacementModules = [(builtins.fetchurl {
          url = "https://raw.githubusercontent.com/amozeo/nixpkgs/728d5806fe6f975ba3843297332d12e13119fe86/nixos/modules/system/boot/luksroot.nix";
          sha256 = "0s2k8k6rrlwn2zb02q6fkvswln8w4hvh02hm4krqvkh46amyasyy";
      })];
    }
  ];

  toModule = entry: {
    imports = entry.replacementModules;
    disabledModules = entry.disabledModules;
    _file = let
      info = builtins.unsafeGetAttrPos "disabledModules" entry;
    in "${info.file}:L${info.line}";
  };
in
{
  imports = lib.map toModule moduleOverrides;
}