diff --git a/flake.lock b/flake.lock index 900d1df..5264195 100644 --- a/flake.lock +++ b/flake.lock @@ -100,6 +100,21 @@ "type": "github" } }, + "nixos-hardware": { + "locked": { + "lastModified": 1701598471, + "narHash": "sha256-kHdJ2qc4qKeMTzUIHEcP41ah/dBIhCgvWgrjllt2G78=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "a89745edd5f657e2e5be5ed1bea86725ca78d92e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1677676435, @@ -136,6 +151,7 @@ "agenix": "agenix", "firefox-gnome-theme": "firefox-gnome-theme", "home-manager": "home-manager_2", + "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "thunderbird-gnome-theme": "thunderbird-gnome-theme" } diff --git a/flake.nix b/flake.nix index 90e56ad..c31d3b2 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-23.11"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; agenix.url = "github:ryantm/agenix"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; diff --git a/hosts/pi/default.nix b/hosts/pi/default.nix new file mode 100644 index 0000000..a9cd792 --- /dev/null +++ b/hosts/pi/default.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: + +with lib.my; +{ + imports = [ + + ./hardware-configuration.nix + ../server.nix + ]; + + networking.hostName = "pi"; + networking.hostId = ""; + + hardware = { + raspberry-pi."4" = { + apply-overlays-dtmerge.enable = true; + audio.enable = true; + fkms-3d.enable = true; + }; + deviceTree = { + enable = true; + filter = "*rpi-4-*.dtb"; + }; + }; + + sound.enable = true; + console.enable = false; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + environment.systemPackages = with pkgs; [ + libraspberrypi + raspberrypi-eeprom + ]; + + system.stateVersion = "22.11"; +} + diff --git a/hosts/pi/hardware-configuration.nix b/hosts/pi/hardware-configuration.nix new file mode 100644 index 0000000..4973e55 --- /dev/null +++ b/hosts/pi/hardware-configuration.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ + + ]; + + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; +} +