dotfiles/system/hardware/bpi_r3/default.nix

44 lines
1.4 KiB
Nix
Raw Normal View History

2023-06-12 17:07:38 +07:00
{ pkgs
, config
, ... }:
{
boot.loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
# boot.kernelPackages = pkgs.linuxPackages_testing;
boot.kernelPackages = pkgs.linuxPackages_bpiR3;
hardware.deviceTree.enable = true;
hardware.deviceTree.filter = "mt7986a-bananapi-bpi-r3.dtb";
hardware.enableRedistributableFirmware = true;
# # disable a bunch of useless drivers
# boot.initrd.includeDefaultModules = false;
boot.initrd.availableKernelModules = [ "mmc_block" "dm_mod" "rfkill" "cfg80211" "mt7915e" ];
boot.kernelParams = [ "boot.shell_on_fail" "console=ttyS0,115200" ];
boot.initrd.compressor = "zstd";
nixpkgs.buildPlatform = "x86_64-linux";
system.build.rootfsImage = pkgs.callPackage "${pkgs.path}/nixos/lib/make-ext4-fs.nix" {
storePaths = config.system.build.toplevel;
compressImage = false;
volumeLabel = "NIX_ROOTFS";
};
boot.postBootCommands = ''
if [ -f ${toString config.impermanence.path}/nix-path-registration ]; then
${config.nix.package.out}/bin/nix-store --load-db < ${toString config.impermanence.path}/nix-path-registration
mkdir -p /etc
touch /etc/NIXOS
${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system
rm -f ${toString config.impermanence.path}/nix-path-registration
fi
'';
hardware.wirelessRegulatoryDatabase = true;
}