btw i use nix
1# Do not modify this file! It was generated by ‘nixos-generate-config’
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4{
5 config,
6 lib,
7 pkgs,
8 modulesPath,
9 ...
10}:
11
12{
13 imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
14
15 boot.initrd.availableKernelModules = [
16 "xhci_pci"
17 "usbhid"
18 ];
19 boot.initrd.kernelModules = [ ];
20 boot.kernelModules = [ ];
21 boot.extraModulePackages = [ ];
22 boot.loader.grub.enable = false;
23 #boot.loader.raspberryPi.enable = true;
24 #boot.loader.raspberryPi.version = 4;
25 boot.loader.generic-extlinux-compatible.enable = true;
26 # https://github.com/NixOS/nixpkgs/issues/191095#issuecomment-1320982678
27 boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi4;
28
29 fileSystems."/" = {
30 device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
31 fsType = "ext4";
32 };
33
34 swapDevices = [ ];
35
36 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
37 # (the default) this is the recommended approach. When using systemd-networkd it's
38 # still possible to use this option, but it's recommended to use it in conjunction
39 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
40 networking.useDHCP = lib.mkDefault true;
41 # networking.interfaces.eth0.useDHCP = lib.mkDefault true;
42 # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
43 # networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
44
45 powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
46
47 hardware.raspberry-pi."4".fkms-3d.enable = true;
48 # TODO use https://github.com/nix-community/raspberry-pi-nix?tab=readme-ov-file#configtxt-generation
49 # https://github.com/NixOS/nixpkgs/pull/241534#issuecomment-2495645336
50 #boot.loader.raspberryPi.firmwareConfig = "config_hdmi_boost=5";
51
52 nixpkgs.hostPlatform = "aarch64-linux";
53}