rpi2.nix 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. { config, pkgs, lib, ... }:
  2. {
  3. imports = [ <nixpkgs/nixos/modules/installer/sd-card/sd-image.nix> ];
  4. # Define the image name
  5. sdImage.imageBaseName = "nixos-rpi2";
  6. sdImage.compressImage = false;
  7. # Required: Set populateRootCommands
  8. sdImage.populateRootCommands = ''
  9. mkdir -p ./files
  10. echo "NixOS for Raspberry Pi 2" > ./files/welcome.txt
  11. '';
  12. sdImage.populateFirmwareCommands = "";
  13. # Bootloader: Use U-Boot for Raspberry Pi 2
  14. boot.loader.generic-extlinux-compatible.enable = true;
  15. hardware.deviceTree.enable = true;
  16. hardware.deviceTree.name = "bcm2836-rpi-2-b.dtb"; # Correct DTB for RPi2
  17. # Disable GRUB (not used on Raspberry Pi)
  18. boot.loader.grub.enable = false;
  19. # Networking
  20. networking.hostName = "nixos-rpi2";
  21. networking.wireless.enable = false; # Enable this if using WiFi
  22. networking.interfaces.eth0.useDHCP = true;
  23. # Enable SSH
  24. services.openssh.enable = true;
  25. # User setup
  26. users.users.nixos = {
  27. isNormalUser = true;
  28. initialPassword = "nixos";
  29. extraGroups = [ "wheel" ];
  30. };
  31. users.groups.nixos = {};
  32. # Set system version (avoid warnings)
  33. system.stateVersion = "25.05";
  34. }