me like nix
0

Configure Feed

Select the types of activity you want to include in your feed.

at main 2.5 kB View raw
1{ pkgs, lib, inputs, config, ... }: 2 3{ 4 imports = [ ../pi-common/wifi.nix ]; 5 6 networking.hostName = "organelle"; 7 8 # CM3+ uses BCM2837 (same SoC as Pi 3 / Pi Zero 2W) 9 boot.kernelPackages = pkgs.linuxPackages_rpi3; 10 boot.supportedFilesystems = lib.mkForce [ "vfat" "ext4" ]; 11 boot.initrd.systemd.enable = false; 12 13 # Use firmware DTB (has RPi-specific labels) 14 hardware.deviceTree.enable = lib.mkForce false; 15 16 # Enable SPI in firmware config.txt 17 sdImage.populateFirmwareCommands = lib.mkAfter '' 18 chmod u+w ./firmware/config.txt 19 cat >> ./firmware/config.txt << EOF 20dtparam=spi=on 21gpu_mem=64 22hdmi_force_hotplug=1 23EOF 24 ''; 25 26 hardware.enableRedistributableFirmware = true; 27 28 # Organelle hello world app 29 environment.systemPackages = [ 30 inputs.organelle-hello.packages.aarch64-linux.default 31 ]; 32 33 # Run on boot 34 systemd.services.organelle-hello = { 35 description = "Organelle Hello World"; 36 wantedBy = [ "multi-user.target" ]; 37 serviceConfig = { 38 ExecStart = "${inputs.organelle-hello.packages.aarch64-linux.default}/bin/organelle-hello"; 39 Restart = "on-failure"; 40 # Root needed for GPIO/SPI access via rppal 41 User = "root"; 42 }; 43 }; 44 45 # GPIO/SPI device permissions 46 services.udev.extraRules = '' 47 SUBSYSTEM=="spidev", GROUP="gpio", MODE="0660" 48 SUBSYSTEM=="bcm2835-gpiomem", KERNEL=="gpiomem", GROUP="gpio", MODE="0660" 49 ''; 50 51 # User config 52 users.users.sean = { 53 isNormalUser = true; 54 extraGroups = [ "wheel" "gpio" ]; 55 openssh.authorizedKeys.keys = [ 56 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCIqgZ7kedxo+mOW7YG73Vp3zel3h180y3GKvHtRsXfGlpIIvRDy7pgCBQ4AGXYD4y78URQmFohYSAPqCPOPaWcU2un3XG9KvCzEsHmsbskPonitUmCiKvrKkb6oW4jCBtd7AEtBn+AiajAQFtPZ7NN2Df3AmTypvR6Irg7R+nxnfc9NTIHmGvxSDyWcbb4pguL20sctUSqGL6xGh8q/bqhdOThSimM+z9bEUNxK/5rPhwkNniMrp4pJcUrUiAh5/4DiRFG6KT+oeg+/myoz/Z1sPvAs7u/8JDQI4RshRD8Hu0oTkRBN6Hxj478q2SXbeBUZlD6IdjP3RhGpmSecoDdtWqKbpuV3eVRtQtba3KL86GBeV/bugaOdJ1Aud+1SOFJreAAuvxzMMKT+cdQZk6oOPP148DA/No+mDm/2S43lcdCXh79wA6YRAmKQ8jmZxTCtPutrvuZK1rguvvUlEoG/vhdNHh7eDa4Td07V6bjCRPUl8qk/e4M0E3pwsTlZc=" 57 "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIOIgEteUEW06dnBHe2z8vNLwz2iMKe8bba6JgMmOUpcBAAAABHNzaDo= sean@framework16" 58 ]; 59 }; 60 61 services.openssh = { 62 enable = true; 63 settings = { 64 PasswordAuthentication = false; 65 PermitRootLogin = "no"; 66 }; 67 }; 68 69 security.sudo.wheelNeedsPassword = false; 70 networking.useDHCP = true; 71 72 system.stateVersion = "24.11"; 73}