{ pkgs, nixos-hardware, config, ... }: { imports = [ "${nixos-hardware}/starfive/visionfive/v2/default.nix" ]; boot.loader.systemd-boot.extraInstallCommands = '' set -euo pipefail ${pkgs.coreutils}/bin/cp --no-preserve=mode -r ${config.hardware.deviceTree.package} ${config.boot.loader.efi.efiSysMountPoint}/ if [[ -d ${config.boot.loader.efi.efiSysMountPoint}/loader/entries ]]; then for filename in ${config.boot.loader.efi.efiSysMountPoint}/loader/entries/nixos*-generation-[1-9]*.conf; do if ! ${pkgs.gnugrep}/bin/grep -q 'devicetree' $filename; then ${pkgs.coreutils}/bin/echo "devicetree /dtbs/${config.hardware.deviceTree.name}" >> $filename fi done fi ''; hardware.deviceTree.name = "starfive/jh7110-starfive-visionfive-2-v1.3b.dtb"; boot.initrd.kernelModules = [ "dw_mmc-starfive" "motorcomm" "dwmac-starfive" "cdns3-starfive" "jh7110-trng" "phy-jh7110-usb" "clk-starfive-jh7110-aon" "clk-starfive-jh7110-stg" "clk-starfive-jh7110-vout" "clk-starfive-jh7110-isp" "clk-starfive-jh7100-audio" "phy-jh7110-pcie" "pcie-starfive" "nvme" ]; }