diff --git a/flake.lock b/flake.lock index 1085f94b..0c5cef45 100644 --- a/flake.lock +++ b/flake.lock @@ -4,14 +4,15 @@ "locked": { "lastModified": 1632990363, "narHash": "sha256-SNqz+9Vt4yDHqw8u/CMFdzMQTulKoMlVGJdshfcb5O0=", - "owner": "NixOS", + "owner": "nixos", "repo": "nixos-hardware", "rev": "0a8b8054c9920368a3c15e6d766188fdf04b736f", "type": "github" }, "original": { - "id": "nixos-hardware", - "type": "indirect" + "owner": "nixos", + "repo": "nixos-hardware", + "type": "github" } }, "nixpkgs": { diff --git a/flake.nix b/flake.nix index ba2e9c2a..fd9dc4f2 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,7 @@ nixpkgs-mobilizon.url = "github:minijackson/nixpkgs/init-mobilizon"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; secrets.url = "git+ssh://gitea@gitea.c3d2.de/c3d2-admins/secrets.git"; + nixos-hardware.url = "github:nixos/nixos-hardware"; zentralwerk.url = "git+https://gitea.c3d2.de/zentralwerk/network.git"; yammat.url = "git+https://gitea.c3d2.de/astro/yammat.git?ref=nix"; yammat.inputs.nixpkgs.follows = "nixpkgs"; @@ -215,6 +216,7 @@ dacbert = nixosSystem' { modules = [ "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + nixos-hardware.nixosModules.raspberry-pi-4 ./hosts/dacbert ]; system = "aarch64-linux"; diff --git a/hosts/dacbert/default.nix b/hosts/dacbert/default.nix index 09bf73a3..a325bb10 100644 --- a/hosts/dacbert/default.nix +++ b/hosts/dacbert/default.nix @@ -1,8 +1,9 @@ { hostRegistry, config, lib, pkgs, modulesPath, ... }: { - boot.initrd.availableKernelModules = [ "usbhid" ]; boot.initrd.kernelModules = [ ]; + boot.initrd.includeDefaultModules = false; + boot.initrd.availableKernelModules = lib.mkForce [ "usbhid" ]; boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; @@ -19,11 +20,16 @@ swapDevices = [ ]; hardware.enableRedistributableFirmware = true; + hardware.deviceTree = { + enable = true; + kernelPackage = config.boot.kernelPackages.kernel; + }; powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; boot = { loader = { grub.enable = false; + generic-extlinux-compatible.enable = lib.mkDefault true; raspberryPi = { enable = true; version = 4; @@ -34,7 +40,8 @@ ''; }; }; - kernelPackages = pkgs.linuxPackages_5_13; + kernelPackages = pkgs.linuxPackages_latest; + # kernelPackages = pkgs."linuxPackages_rpi${toString config.boot.loader.raspberryPi.version}"; kernelParams = lib.mkForce [ "snd_bcm2835.enable_headphones=1" # don't let sd-image-aarch64.nix setup serial console as it breaks bluetooth. @@ -50,21 +57,15 @@ imageBaseName = config.networking.hostName; firmwareSize = 512; }; + hardware.raspberry-pi."4" = { + # fkms-3d.enable = true; + }; c3d2 = { isInHq = true; mapHqHosts = true; hq.interface = "eth0"; hq.statistics.enable = true; - pi-sensors = [ { - type = "dht22"; - pin = 17; - location = "Tisch"; - } { - type = "dht22"; - pin = 23; - location = "Tisch2"; - } ]; }; nix = { @@ -81,6 +82,9 @@ environment.systemPackages = with pkgs; [ libraspberrypi + raspberrypi-eeprom + vim + wget mpv youtube-dl ncpamixer diff --git a/hosts/radiobert/default.nix b/hosts/radiobert/default.nix index f67f389c..5c8ad6cb 100644 --- a/hosts/radiobert/default.nix +++ b/hosts/radiobert/default.nix @@ -20,14 +20,16 @@ hardware.enableRedistributableFirmware = true; #networking.wireless.enable = true; + hardware.deviceTree.enable = false; powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; boot = { loader = { grub.enable = false; + generic-extlinux-compatible.enable = lib.mkDefault true; raspberryPi = { enable = true; - version = 3; + version = 4; uboot.enable = true; firmwareConfig = '' gpu_mem=192 @@ -35,7 +37,7 @@ ''; }; }; - kernelPackages = pkgs.linuxPackages_5_13; + kernelPackages = pkgs.linuxPackages_latest; # Don't build ZFS for aarch64 (broken?) supportedFilesystems = lib.mkForce [ "vfat" "ext4" ]; @@ -50,6 +52,15 @@ c3d2 = { isInHq = false; hq.statistics.enable = true; + pi-sensors = [ { + type = "dht22"; + pin = 17; + location = "Schrank"; + } { + type = "dht22"; + pin = 23; + location = "Aussen"; + } ]; }; nix = { @@ -105,7 +116,11 @@ environment.systemPackages = with pkgs; [ libraspberrypi + raspberrypi-eeprom + vim + wget dump1090_sdrplus + soapysdr-with-plugins ]; programs.tmux.enable = true;