snowfield/rpi.nix
2022-01-01 20:46:20 +01:00

48 lines
1.3 KiB
Nix

{ config, pkgs, lib, ... }:
{
imports = [ ./users/status.nix ];
# NixOS wants to enable GRUB by default
boot.loader.grub.enable = false;
# if you have a Raspberry Pi 2 or 3, pick this:
boot.kernelPackages = pkgs.linuxPackages_latest;
# A bunch of boot parameters needed for optimal runtime on RPi 3b+
boot.kernelParams = ["cma=256M"];
boot.loader.raspberryPi.enable = true;
boot.loader.raspberryPi.version = 3;
boot.loader.raspberryPi.uboot.enable = true;
boot.loader.raspberryPi.firmwareConfig = ''
gpu_mem=256
'';
environment.systemPackages = with pkgs; [
libraspberrypi
tinystatus
];
# File systems configuration for using the installer's partition layout
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
};
# Preserve space by sacrificing documentation and history
documentation.nixos.enable = false;
nix.gc.automatic = true;
nix.gc.options = "--delete-older-than 30d";
boot.cleanTmpDir = true;
# Configure basic SSH access
services.openssh.enable = true;
# services.openssh.permitRootLogin = "yes";
# Use 1GB of additional swap memory in order to not run out of memory
# when installing lots of things while running other things at the same time.
swapDevices = [ { device = "/swapfile"; size = 1024; } ];
luj.hmgr.status = {};
}