error: … while evaluating a branch condition at «string»:25:5: 24| v: 25| if !builtins.isAttrs v || isDrv v then | ^ 26| v … in the left operand of the OR (||) operator at «string»:25:28: 24| v: 25| if !builtins.isAttrs v || isDrv v then | ^ 26| v … while evaluating definitions from `/nix/store/9iv83r72z5xwgylkwms1qip1ijnr6jqs-source/modules/transposition.nix': … while evaluating definitions from `/nix/store/pvxwgpmpbqfy3i4sm37kk8g8s3d3l8j3-source/flake.nix, via option perSystem': … while evaluating the option `system.build.toplevel': … while evaluating definitions from `/nix/store/b8xf6hsi4wfakzvn6lsi040bh9n8djcc-source/nixos/modules/system/activation/top-level.nix': (stack trace truncated; use '--show-trace' to show the full, detailed trace) error: Failed assertions: - The option definition `hardware.raspberry-pi."4".poe-plus-hat' in `/nix/store/pvxwgpmpbqfy3i4sm37kk8g8s3d3l8j3-source/hosts/gaia/fan-control.nix' no longer has any effect; please remove it. Use the stock rpi-poe-plus firmware overlay instead: hardware.raspberry-pi.configtxt.deviceTreeOverlays."board-type=0x11" = [ { rpi-poe-plus = { poe_fan_temp0 = 40000; poe_fan_temp0_hyst = 2000; poe_fan_temp1 = 45000; poe_fan_temp1_hyst = 2000; poe_fan_temp2 = 50000; poe_fan_temp2_hyst = 2000; poe_fan_temp3 = 55000; poe_fan_temp3_hyst = 5000; }; } ]; These are the overlay defaults. Parameters that were not customized can be omitted. - The option definition `hardware.raspberry-pi."4".dwc2' in `/nix/store/pvxwgpmpbqfy3i4sm37kk8g8s3d3l8j3-source/hosts/gaia/gaia1.nix' no longer has any effect; please remove it. Use the stock dwc2 firmware overlay instead: { boot.loader.generic-extlinux-compatible.useGenerationDeviceTree = false; hardware.raspberry-pi.configtxt.deviceTreeOverlays.pi4 = [ { dwc2 = { }; } ]; } If you set dr_mode on the old option, add it to the overlay. For example: { dwc2.dr_mode = "host"; } For CM4 and firmware-partition setup, see "DWC2 USB controller" in raspberry-pi/README.md.