{ config, lib, modulesPath, pkgs, ... }: with lib; let sources = import ../../nix/sources.nix; unstable = import sources.nixpkgsUnstable {}; in { imports = [ "${modulesPath}/profiles/base.nix" ./uboot/hardkernel-uboot.nix ../../profiles/host_common.nix ../../profiles/server_common.nix ]; # The linux kernel used is compiled from the Hardkernel fork of # torvalds/linux boot = { initrd.availableKernelModules = mkForce []; kernelPackages = pkgs.linuxPackagesFor pkgs.linux_hardkernel; # Bootloader (use Hardkernel fork of Das U-Boot) loader = { grub.enable = false; generic-extlinux-compatible.enable = false; hardkernel-uboot.enable = true; }; }; # We do know the hardware we are planning to deploy to hardware.enableRedistributableFirmware = mkForce false; nixpkgs.overlays = [ (import ./overlays/kernel/overlay.nix) (import ./overlays/uboot/overlay.nix) ]; # DNS services.resolved.enable = true; services.resolved.dnssec = "false"; fileSystems = { "/boot" = { device = "/dev/disk/by-label/FIRMWARE"; fsType = "vfat"; }; "/" = { device = "/dev/disk/by-label/NIXOS_SD"; fsType = "ext4"; }; }; }