This commit is contained in:
mjallen18
2025-09-01 20:15:55 -05:00
parent 81471cc582
commit e79ae984a3
5 changed files with 255 additions and 101 deletions

12
flake.lock generated
View File

@@ -884,11 +884,11 @@
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1755008580,
"narHash": "sha256-rh4OhOutko9W9COhhxQnqt9J22ZPj7gSZN7wrX0cYEs=",
"lastModified": 1756774688,
"narHash": "sha256-st5xUV4Fj4Px5MOvQdF26TZRPzxz47wgRvDjSwiDDso=",
"owner": "mjallen18",
"repo": "nixos-raspberrypi",
"rev": "7b5cf1ef3cf48ac1b43730eb366225f3dd0791cb",
"rev": "aeb17b185bb65a3fa1ef6803ead393e9e10d1f46",
"type": "github"
},
"original": {
@@ -994,11 +994,11 @@
},
"nixpkgs_11": {
"locked": {
"lastModified": 1754432582,
"narHash": "sha256-oebayZREKV/4Fgy6drsj4M7URut4kQVics78DxL2imk=",
"lastModified": 1756515621,
"narHash": "sha256-cYPwtXNlQ18FBuMVJ4RltuCym2Acy/6O+i/fJ4UnEn8=",
"owner": "nvmd",
"repo": "nixpkgs",
"rev": "81f9846bc3c9edbd2d4c92783e7bfb4b55db14c4",
"rev": "b143badd3dea297d6ba0dc93397c0ebc2838c508",
"type": "github"
},
"original": {

View File

@@ -27,7 +27,7 @@ in
supportedFilesystems = [ "bcachefs" ];
consoleLogLevel = lib.mkDefault 3;
consoleLogLevel = lib.mkForce 3;
bootspec.enable = (!isArm);
};

View File

@@ -19,7 +19,10 @@ in
# All components
# extraComponents = config.services.home-assistant.package.availableComponents;
extraComponents = [
"accuweather"
"adguard"
"air_quality"
"apcupsd"
"apple_tv"
"analytics"
"backup"
@@ -28,40 +31,196 @@ in
"bluetooth_le_tracker"
"bluetooth_tracker"
"brother"
"browser"
"button"
"caldav"
"calendar"
"camera"
"cast"
"climate"
"cloud"
"cloudflare"
"co2signal"
"coinbase"
"color_extractor"
"config"
"configurator"
"counter"
"cpuspeed"
"cups"
"date"
"datetime"
"deluge"
"device_automation"
"device_sun_light_trigger"
"device_tracker"
"dhcp"
"diagnostics"
"discord"
"dlna_dmr"
"dlna_dms"
"downloader"
"ecobee"
"energy"
"epic_games_store"
"esphome"
"event"
"fan"
"fastdotcom"
"ffmpeg"
"ffmpeg_motion"
"ffmpeg_noise"
"file"
"file_upload"
"filesize"
"filter"
"folder"
"fully_kiosk"
"generic"
"generic_thermostat"
"geo_json_events"
"geo_location"
"geo_rss_events"
"github"
"gitlab_ci"
"glances"
"google"
"google_cloud"
"google_drive"
"google_mail"
"google_maps"
"google_photos"
"google_translate"
"gpsd"
"gpslogger"
"hardware"
"hddtemp"
"hdmi_cec"
"history"
"history_stats"
"holiday"
"homeassistant"
"homeassistant_alerts"
"homeassistant_sky_connect"
"homekit"
"homekit_controller"
"http"
"humidifier"
"image"
"image_processing"
"image_upload"
"immich"
"input_boolean"
"input_button"
"input_datetime"
"input_number"
"input_select"
"input_text"
"ios"
"isal"
"jellyfin"
"keyboard"
"keyboard_remote"
"lidarr"
"light"
"litterrobot"
"local_calendar"
"local_file"
"local_ip"
"local_todo"
"logbook"
"logentries"
"logger"
"lovelace"
"manual_mqtt"
"matter"
"met"
"music_assistant"
"microsoft"
"min_max"
"mobile_app"
"mqtt"
"music_assistant"
"nut"
"nextcloud"
"notify"
"nws"
"ollama"
"onedrive"
"onkyo"
"openhardwaremonitor"
"opensky"
"openweathermap"
"open_router"
"paperless_ngx"
"persistent_notification"
"pinecil"
"ping"
"piper"
"playstation_network"
"radarr"
"radio_browser"
"raspberry_pi"
"recorder"
"reddit"
"remote"
"remote_calendar"
"remote_rpi_gpio"
"roborock"
"samsungtv"
"schedule"
"script"
"search"
"season"
"select"
"sense"
"sensor"
"shopping_list"
"simplefin"
"smartthings"
"sonarr"
"speedtestdotnet"
"sql"
"ssdp"
"statistics"
"stream"
"subaru"
"sun"
"switch"
"system_health"
"system_log"
"systemmonitor"
"tailscale"
"tasmota"
"tcp"
"template"
"text"
"thread"
"time"
"time_date"
"timer"
"torque"
"tplink"
"tuya"
"upnp"
"uptime"
"usb"
"vacuum"
"vlc"
"vesync"
"wake_on_lan"
"waze_travel_time"
"weather"
"weatherkit"
"webdav"
"webhook"
"whisper"
"whois"
"workday"
"wyoming"
"youtube"
"zeroconf"
"zha"
"zone"
];
customComponents = with pkgs.home-assistant-custom-components; [
@@ -96,106 +255,105 @@ in
zigbee2mqtt-networkmap
];
# use postgresql instead of sqlite
extraPackages =
ps: with ps; [
# Core functionality
aiohttp
aiodns
paho-mqtt
pillow
pytz
pyyaml
sqlalchemy
# extraPackages =
# ps: with ps; [
# # Core functionality
# aiohttp
# aiodns
# paho-mqtt
# pillow
# pytz
# pyyaml
# sqlalchemy
# Discovery & networking
zeroconf
netdisco
ifaddr
ssdp
# # Discovery & networking
# zeroconf
# netdisco
# ifaddr
# ssdp
# Device protocols
pyserial # Serial communications
bluepy # Bluetooth LE
# # Device protocols
# pyserial # Serial communications
# bluepy # Bluetooth LE
# Smart home ecosystems
mutagen # Media file metadata
pysonos # Sonos
pywemo # Belkin WeMo
python-miio # Xiaomi devices
python-kasa # TP-Link
# # Smart home ecosystems
# mutagen # Media file metadata
# pysonos # Sonos
# pywemo # Belkin WeMo
# python-miio # Xiaomi devices
# python-kasa # TP-Link
# Sensors & monitoring
meteocalc # Weather calculations
speedtest-cli # Internet speed
# # Sensors & monitoring
# meteocalc # Weather calculations
# speedtest-cli # Internet speed
# Visualization & UI
matplotlib # Graphing
# # Visualization & UI
# matplotlib # Graphing
# Security
bcrypt
cryptography
pyjwt
# # Security
# bcrypt
# cryptography
# pyjwt
# Media
ha-ffmpeg # Camera streams
# # Media
# ha-ffmpeg # Camera streams
# Specialized integrations
python-matter-server # Matter protocol
# # Specialized integrations
# python-matter-server # Matter protocol
# System integrations
psutil # System monitoring
# # System integrations
# psutil # System monitoring
psycopg2
numpy
hassil
pyturbojpeg
paho-mqtt
pychromecast
pyatv
python-otbr-api
brother
pyipp
govee-ble
adguardhome
nextcord
aiogithubapi
jellyfin-apiclient-python
pylitterbot
dateparser
aionut
nextcloudmonitor
ollama
pynecil
aiopyarr
pysabnzbd
getmac
zigpy
bellows # For Zigbee EmberZNet-based adapters
zigpy-xbee # For XBee adapters
zigpy-deconz # For ConBee/RaspBee adapters
pyicloud # iCloud
pyatv # Apple TV
opencv-python
face-recognition
ibeacon-ble
gehomesdk
onedrive-personal-sdk
python-roborock
pkgs.${namespace}.python-steam
apple-weatherkit
# psycopg2
# numpy
# hassil
# pyturbojpeg
# paho-mqtt
# pychromecast
# pyatv
# python-otbr-api
# brother
# pyipp
# govee-ble
# adguardhome
# nextcord
# aiogithubapi
# jellyfin-apiclient-python
# pylitterbot
# dateparser
# aionut
# nextcloudmonitor
# ollama
# pynecil
# aiopyarr
# pysabnzbd
# getmac
# zigpy
# bellows # For Zigbee EmberZNet-based adapters
# zigpy-xbee # For XBee adapters
# zigpy-deconz # For ConBee/RaspBee adapters
# pyicloud # iCloud
# pyatv # Apple TV
# opencv-python
# face-recognition
# ibeacon-ble
# gehomesdk
# onedrive-personal-sdk
# pkgs.${namespace}.python-steam
# apple-weatherkit
samsungctl
samsungtvws
# samsungctl
# samsungtvws
aiohomekit
# aiohomekit
icmplib
aioelectricitymaps
wyoming
pysmartthings
wakeonlan
ephem
];
# icmplib
# aioelectricitymaps
# wyoming
# pysmartthings
# wakeonlan
# ephem
# ];
config = {
# Includes dependencies for a basic setup

View File

@@ -38,6 +38,7 @@
address = "10.0.1.2/24";
gateway = "10.0.1.1";
dns = "1.1.1.1";
interface = "end0";
};
firewall = {
enable = true;

View File

@@ -9,7 +9,6 @@
{
imports = [
./boot.nix
# ./networking.nix - moved to modules/nixos/network
./services.nix
./sops.nix
];
@@ -26,13 +25,8 @@
desktop.hyprland.enable = false;
user = {
name = "matt";
# passwordFile = config.sops.secrets."pi5/matt-password".path;
mutableUsers = false;
extraGroups = [ "docker" ];
sshKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTha0FbV1tkpnJr7xVH78S5MetJH+0o2YrEcuvhL692 root@jallen-nas"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIwoHWOLSTGVif9hAhaMLl0qDA4roIzCNuyR6kyIXDOj admin@jallen-nas"
];
};
network = {
hostName = "pi5";
@@ -40,6 +34,7 @@
method = "manual";
gateway = "10.0.1.1";
dns = "10.0.1.1";
interface = "wlan0";
};
firewall = {
enable = true;