{ lib, stdenv, fetchFromGitHub, kernel, kernelModuleMakeFlags, bc, nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "rtl8821ce"; version = "0-unstable-2025-08-20"; src = fetchFromGitHub { owner = "tomaspinho"; repo = "rtl8821ce"; rev = "5df613d114d1ca6072aeaf9f64666029896eed61"; hash = "sha256-JEaMfpu2F9Pcg7aLwKEUnRMMqC0Y0r1WRmHMCRba280="; }; hardeningDisable = [ "pic" ]; nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies; makeFlags = kernelModuleMakeFlags; prePatch = '' substituteInPlace ./Makefile \ --replace-fail /lib/modules/ "${kernel.dev}/lib/modules/" \ --replace-fail /sbin/depmod \# \ --replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; preInstall = '' mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; enableParallelBuilding = true; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch=master" ]; }; meta = { description = "Realtek rtl8821ce driver"; homepage = "https://github.com/tomaspinho/rtl8821ce"; license = lib.licenses.gpl2Only; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ defelo ]; broken = stdenv.hostPlatform.isAarch64 || ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened); }; })