nixos-hardware/mnt/reform2-nitrogen8m/default.nix

87 lines
2.4 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
{
imports = [ ../../common/pc/laptop/ssd ];
boot = {
kernelPackages = lib.mkDefault pkgs.linuxPackages_reformNitrogen8m_latest;
kernelParams = [ "console=ttymxc0,115200" "console=tty1" "pci=nomsi" ];
extraModprobeConfig = "options imx-dcss dcss_use_hdmi=0";
initrd = {
kernelModules = [ "nwl-dsi" "imx-dcss" ];
availableKernelModules = # hack to remove ATA modules
lib.mkForce ([
"cryptd"
"dm_crypt"
"dm_mod"
"input_leds"
"mmc_block"
"nvme"
"usbhid"
"xhci_hcd"
] ++ config.boot.initrd.luks.cryptoModules);
};
loader = {
generic-extlinux-compatible.enable = lib.mkDefault true;
grub.enable = lib.mkDefault false;
timeout = lib.mkDefault 1;
# Cannot interact with U-Boot directly
};
};
environment.etc."systemd/system.conf".text = "DefaultTimeoutStopSec=15s";
environment.systemPackages = with pkgs; [ brightnessctl usbutils ];
hardware.deviceTree.name = lib.mkDefault "freescale/imx8mq-mnt-reform2.dtb";
hardware.pulseaudio.daemon.config.default-sample-rate = lib.mkDefault "48000";
nixpkgs = {
system = "aarch64-linux";
overlays = [
(final: prev:
with final; {
linux_5_7 = callPackage ./kernel/linux-5.7.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
kernelPatches.export_kernel_fpu_functions."5.3"
];
};
linux_reformNitrogen8m_latest =
callPackage ./kernel { kernelPatches = [ ]; };
linuxPackages_reformNitrogen8m_latest =
linuxPackagesFor linux_reformNitrogen8m_latest;
ubootReformImx8mq = callPackage ./uboot { };
})
];
};
programs.sway.extraPackages = # unbloat
lib.mkDefault (with pkgs; [ swaylock swayidle xwayland ]);
system.activationScripts.asound = let
initialAsoundState = pkgs.fetchurl {
url =
"https://source.mnt.re/reform/reform-system-image/-/raw/84bec717ad7366b1d385f3200da192efb0f5bccb/reform2-imx8mq/template-etc/asound.state";
sha256 = "11wfy8fad5mhr6bga36k7lri85wq74rfzwj9bb9j5rp5cll4jnmb";
};
in ''
if [ ! -e "/var/lib/alsa/asound.state" ]; then
mkdir -p /var/lib/alsa
cp ${initialAsoundState} /var/lib/alsa/asound.state
fi
'';
}