```nix { config, pkgs, lib, ... }: { # NixOS wants to enable GRUB by default boot.loader.grub.enable = false; # boot.loader.grub.device = "/dev/disk/ # if you have a Raspberry Pi 2 or 3, pick this: # boot.kernelPackages = pkgs.linuxPackages_latest; # boot.kernelPackages = pkgs.linuxPackages_4_19; # 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; [ # raspberrypi-tools # ]; # File systems configuration for using the installer's partition layout fileSystems."/" = { device = "/dev/disk/by-label/NIXOS_SD"; fsType = "ext4"; # https://gitlab.com/samueldr/nixos-configuration/-/blob/master/hardware/profiles/sbc-aarch64.nix options = [ "noatime" "nodiratime" "discard" ]; }; fileSystems."/boot/firmware" = { device = "/dev/disk/by-label/FIRMWARE"; fsType = "vfat"; options = [ "nofail" "noauto" ]; }; # fileSystems."/nix" = { # device = "/dev/disk/by-label/nix"; # fsType = "ext4"; # options = [ "noatime" ]; # }; # fileSystems."/home" = { # device = "/dev/disk/by-label/home"; # 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; } ]; } ```