nixos-config/machine/not522/hardware.nix

39 lines
1.2 KiB
Nix

{
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"
];
}