16 Commits

Author SHA1 Message Date
9d60b1fb94 Merge branch 'master' into rpi 2023-12-16 21:39:31 +00:00
acbe74764d Temp 2023-12-16 18:14:15 +00:00
fa07aef5a3 Pi firmware packages 2023-12-16 18:13:30 +00:00
ca37ac3837 Merge branch 'master' into rpi 2023-12-16 17:18:33 +00:00
103564bfab Add pi README.md 2023-12-11 22:40:07 +00:00
3742b84f63 Apply hifiberry-digi-pro.dtbo overlay from nixpkgs 2023-12-11 22:34:56 +00:00
3d2f9a2841 Remove redundant lib.my usage 2023-12-11 21:05:09 +00:00
634e3a5d99 Merge branch 'master' into rpi 2023-12-11 21:04:15 +00:00
1c7b7c4cae Add pi definition 2023-12-10 22:42:33 +00:00
aabecfd68f Merge branch 'master' into rpi 2023-12-10 20:19:13 +00:00
75506d5acd Disable onboard audio, support Digi Pro DAC 2023-12-08 23:22:40 +00:00
81a46270b8 Update zigbee2mqtt settings 2023-12-08 22:56:53 +00:00
18f1efdaff Merge branch 'master' into rpi 2023-12-08 22:43:35 +00:00
47c304833c flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/a89745edd5f657e2e5be5ed1bea86725ca78d92e' (2023-12-03)
  → 'github:NixOS/nixos-hardware/fa194fc484fd7270ab324bb985593f71102e84d1' (2023-12-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5de0b32be6e85dc1a9404c75131316e4ffbc634c' (2023-12-01)
  → 'github:NixOS/nixpkgs/933d7dc155096e7575d207be6fb7792bc9f34f6d' (2023-12-02)
2023-12-04 18:28:29 +00:00
f47fd2217e Add services to pi 2023-12-03 23:24:21 +00:00
4ad4814bed Initial pi config 2023-12-03 23:17:30 +00:00
6 changed files with 136 additions and 0 deletions

16
flake.lock generated
View File

@@ -100,6 +100,21 @@
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1701656485,
"narHash": "sha256-xDFormrGCKKGqngHa2Bz1GTeKlFMMjLnHhTDRdMJ1hs=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "fa194fc484fd7270ab324bb985593f71102e84d1",
"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",
"secrets": "secrets",
"thunderbird-gnome-theme": "thunderbird-gnome-theme"

View File

@@ -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";
@@ -63,6 +64,7 @@
eos = nixosSystem "x86_64-linux" "eos";
helios = nixosSystem "x86_64-linux" "helios";
odyssey = nixosSystem "x86_64-linux" "odyssey";
pi = nixosSystem "aarch64-linux" "pi";
};
in
{ inherit nixosConfigurations; };

18
hosts/pi/README.md Normal file
View File

@@ -0,0 +1,18 @@
# Pi
## Overview
Raspberry Pi 4
## Specs
* SoC - Broadcom BCM2711
* CPU - ARM Cortex-A72 @ 1.8 GHz
* Memory - 8 GB LPDDR4
### Disks
Device | Partitions _(filesystem, usage)_
--- | ---
SD card | `/dev/sda1` (ext4, NixOS Root)
### Networks
- DHCP on `10.0.1.0/24` subnet.
- Tailscale on `100.64.0.0/10` subnet. FQDN: `pi.mesh.vimium.net`.

80
hosts/pi/default.nix Normal file
View File

@@ -0,0 +1,80 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../server.nix
];
networking.hostId = "731d1660";
hardware = {
raspberry-pi."4" = {
apply-overlays-dtmerge.enable = true;
audio = false;
fkms-3d.enable = true;
xhci.enable = true;
};
deviceTree = {
enable = true;
filter = "*rpi-4-*.dtb";
overlays = [
{ name = "hifiberry-digi-pro"; dtboFile = "${pkgs.device-tree_rpi.overlays}/hifiberry-digi-pro.dtbo"; }
];
};
firmware = with pkgs; [
firmwareLinuxNonfree
wireless-regdb
];
};
sound.enable = true;
console.enable = false;
age.secrets."passwords/networks.age" = {
file = "../../secrets/passwords/networks.age";
};
networking = {
wireless = {
enable = true;
interfaces = [ "wlan0" ];
environmentFile = config.age.secrets."passwords/networks.age".path;
networks = {
"Apollo 600 Mbps".psk = "@PSK_APOLLO@";
};
};
};
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
systemWide = true;
};
services.shairport-sync = {
enable = true;
group = [ "pipewire" ];
openFirewall = true;
};
services.zigbee2mqtt = {
enable = true;
settings = {
homeassistant = true;
frontend = true;
permit_join = true;
};
};
environment.systemPackages = with pkgs; [
libraspberrypi
raspberrypi-eeprom
];
system.stateVersion = "22.11";
}

View File

@@ -0,0 +1,18 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
<nixos-hardware/raspberry-pi/4>
];
boot.cleanTmpDir = true;
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
};
}

View File

@@ -18,6 +18,8 @@
console.keyMap = "uk";
documentation.enable = false;
services.openssh = {
enable = true;
settings = {