pi5
This commit is contained in:
12
flake.lock
generated
12
flake.lock
generated
@@ -884,11 +884,11 @@
|
|||||||
"nixpkgs": "nixpkgs_11"
|
"nixpkgs": "nixpkgs_11"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755008580,
|
"lastModified": 1756774688,
|
||||||
"narHash": "sha256-rh4OhOutko9W9COhhxQnqt9J22ZPj7gSZN7wrX0cYEs=",
|
"narHash": "sha256-st5xUV4Fj4Px5MOvQdF26TZRPzxz47wgRvDjSwiDDso=",
|
||||||
"owner": "mjallen18",
|
"owner": "mjallen18",
|
||||||
"repo": "nixos-raspberrypi",
|
"repo": "nixos-raspberrypi",
|
||||||
"rev": "7b5cf1ef3cf48ac1b43730eb366225f3dd0791cb",
|
"rev": "aeb17b185bb65a3fa1ef6803ead393e9e10d1f46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -994,11 +994,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_11": {
|
"nixpkgs_11": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754432582,
|
"lastModified": 1756515621,
|
||||||
"narHash": "sha256-oebayZREKV/4Fgy6drsj4M7URut4kQVics78DxL2imk=",
|
"narHash": "sha256-cYPwtXNlQ18FBuMVJ4RltuCym2Acy/6O+i/fJ4UnEn8=",
|
||||||
"owner": "nvmd",
|
"owner": "nvmd",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "81f9846bc3c9edbd2d4c92783e7bfb4b55db14c4",
|
"rev": "b143badd3dea297d6ba0dc93397c0ebc2838c508",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ in
|
|||||||
|
|
||||||
supportedFilesystems = [ "bcachefs" ];
|
supportedFilesystems = [ "bcachefs" ];
|
||||||
|
|
||||||
consoleLogLevel = lib.mkDefault 3;
|
consoleLogLevel = lib.mkForce 3;
|
||||||
bootspec.enable = (!isArm);
|
bootspec.enable = (!isArm);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,10 @@ in
|
|||||||
# All components
|
# All components
|
||||||
# extraComponents = config.services.home-assistant.package.availableComponents;
|
# extraComponents = config.services.home-assistant.package.availableComponents;
|
||||||
extraComponents = [
|
extraComponents = [
|
||||||
|
"accuweather"
|
||||||
"adguard"
|
"adguard"
|
||||||
|
"air_quality"
|
||||||
|
"apcupsd"
|
||||||
"apple_tv"
|
"apple_tv"
|
||||||
"analytics"
|
"analytics"
|
||||||
"backup"
|
"backup"
|
||||||
@@ -28,40 +31,196 @@ in
|
|||||||
"bluetooth_le_tracker"
|
"bluetooth_le_tracker"
|
||||||
"bluetooth_tracker"
|
"bluetooth_tracker"
|
||||||
"brother"
|
"brother"
|
||||||
|
"browser"
|
||||||
|
"button"
|
||||||
"caldav"
|
"caldav"
|
||||||
"calendar"
|
"calendar"
|
||||||
|
"camera"
|
||||||
|
"cast"
|
||||||
|
"climate"
|
||||||
|
"cloud"
|
||||||
"cloudflare"
|
"cloudflare"
|
||||||
"co2signal"
|
"co2signal"
|
||||||
|
"coinbase"
|
||||||
"color_extractor"
|
"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"
|
"esphome"
|
||||||
|
"event"
|
||||||
|
"fan"
|
||||||
|
"fastdotcom"
|
||||||
"ffmpeg"
|
"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"
|
"google_translate"
|
||||||
|
"gpsd"
|
||||||
|
"gpslogger"
|
||||||
|
"hardware"
|
||||||
|
"hddtemp"
|
||||||
|
"hdmi_cec"
|
||||||
|
"history"
|
||||||
|
"history_stats"
|
||||||
"holiday"
|
"holiday"
|
||||||
|
"homeassistant"
|
||||||
|
"homeassistant_alerts"
|
||||||
|
"homeassistant_sky_connect"
|
||||||
"homekit"
|
"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"
|
"isal"
|
||||||
"jellyfin"
|
"jellyfin"
|
||||||
|
"keyboard"
|
||||||
|
"keyboard_remote"
|
||||||
|
"lidarr"
|
||||||
|
"light"
|
||||||
|
"litterrobot"
|
||||||
|
"local_calendar"
|
||||||
|
"local_file"
|
||||||
|
"local_ip"
|
||||||
|
"local_todo"
|
||||||
|
"logbook"
|
||||||
|
"logentries"
|
||||||
|
"logger"
|
||||||
|
"lovelace"
|
||||||
|
"manual_mqtt"
|
||||||
|
"matter"
|
||||||
"met"
|
"met"
|
||||||
"music_assistant"
|
"microsoft"
|
||||||
|
"min_max"
|
||||||
|
"mobile_app"
|
||||||
"mqtt"
|
"mqtt"
|
||||||
|
"music_assistant"
|
||||||
"nut"
|
"nut"
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
|
"notify"
|
||||||
"nws"
|
"nws"
|
||||||
"ollama"
|
"ollama"
|
||||||
"onedrive"
|
"onedrive"
|
||||||
|
"onkyo"
|
||||||
|
"openhardwaremonitor"
|
||||||
|
"opensky"
|
||||||
|
"openweathermap"
|
||||||
"open_router"
|
"open_router"
|
||||||
|
"paperless_ngx"
|
||||||
|
"persistent_notification"
|
||||||
|
"pinecil"
|
||||||
"ping"
|
"ping"
|
||||||
|
"piper"
|
||||||
|
"playstation_network"
|
||||||
|
"radarr"
|
||||||
"radio_browser"
|
"radio_browser"
|
||||||
|
"raspberry_pi"
|
||||||
|
"recorder"
|
||||||
|
"reddit"
|
||||||
|
"remote"
|
||||||
|
"remote_calendar"
|
||||||
|
"remote_rpi_gpio"
|
||||||
|
"roborock"
|
||||||
"samsungtv"
|
"samsungtv"
|
||||||
|
"schedule"
|
||||||
|
"script"
|
||||||
|
"search"
|
||||||
"season"
|
"season"
|
||||||
|
"select"
|
||||||
|
"sense"
|
||||||
|
"sensor"
|
||||||
"shopping_list"
|
"shopping_list"
|
||||||
"simplefin"
|
"simplefin"
|
||||||
"smartthings"
|
"smartthings"
|
||||||
|
"sonarr"
|
||||||
|
"speedtestdotnet"
|
||||||
|
"sql"
|
||||||
|
"ssdp"
|
||||||
|
"statistics"
|
||||||
|
"stream"
|
||||||
"subaru"
|
"subaru"
|
||||||
|
"sun"
|
||||||
|
"switch"
|
||||||
|
"system_health"
|
||||||
|
"system_log"
|
||||||
|
"systemmonitor"
|
||||||
|
"tailscale"
|
||||||
|
"tasmota"
|
||||||
|
"tcp"
|
||||||
|
"template"
|
||||||
|
"text"
|
||||||
|
"thread"
|
||||||
|
"time"
|
||||||
|
"time_date"
|
||||||
|
"timer"
|
||||||
|
"torque"
|
||||||
|
"tplink"
|
||||||
|
"tuya"
|
||||||
"upnp"
|
"upnp"
|
||||||
|
"uptime"
|
||||||
|
"usb"
|
||||||
|
"vacuum"
|
||||||
|
"vlc"
|
||||||
"vesync"
|
"vesync"
|
||||||
|
"wake_on_lan"
|
||||||
|
"waze_travel_time"
|
||||||
|
"weather"
|
||||||
|
"weatherkit"
|
||||||
|
"webdav"
|
||||||
|
"webhook"
|
||||||
|
"whisper"
|
||||||
|
"whois"
|
||||||
"workday"
|
"workday"
|
||||||
"wyoming"
|
"wyoming"
|
||||||
|
"youtube"
|
||||||
|
"zeroconf"
|
||||||
"zha"
|
"zha"
|
||||||
|
"zone"
|
||||||
];
|
];
|
||||||
|
|
||||||
customComponents = with pkgs.home-assistant-custom-components; [
|
customComponents = with pkgs.home-assistant-custom-components; [
|
||||||
@@ -96,106 +255,105 @@ in
|
|||||||
zigbee2mqtt-networkmap
|
zigbee2mqtt-networkmap
|
||||||
];
|
];
|
||||||
# use postgresql instead of sqlite
|
# use postgresql instead of sqlite
|
||||||
extraPackages =
|
# extraPackages =
|
||||||
ps: with ps; [
|
# ps: with ps; [
|
||||||
# Core functionality
|
# # Core functionality
|
||||||
aiohttp
|
# aiohttp
|
||||||
aiodns
|
# aiodns
|
||||||
paho-mqtt
|
# paho-mqtt
|
||||||
pillow
|
# pillow
|
||||||
pytz
|
# pytz
|
||||||
pyyaml
|
# pyyaml
|
||||||
sqlalchemy
|
# sqlalchemy
|
||||||
|
|
||||||
# Discovery & networking
|
# # Discovery & networking
|
||||||
zeroconf
|
# zeroconf
|
||||||
netdisco
|
# netdisco
|
||||||
ifaddr
|
# ifaddr
|
||||||
ssdp
|
# ssdp
|
||||||
|
|
||||||
# Device protocols
|
# # Device protocols
|
||||||
pyserial # Serial communications
|
# pyserial # Serial communications
|
||||||
bluepy # Bluetooth LE
|
# bluepy # Bluetooth LE
|
||||||
|
|
||||||
# Smart home ecosystems
|
# # Smart home ecosystems
|
||||||
mutagen # Media file metadata
|
# mutagen # Media file metadata
|
||||||
pysonos # Sonos
|
# pysonos # Sonos
|
||||||
pywemo # Belkin WeMo
|
# pywemo # Belkin WeMo
|
||||||
python-miio # Xiaomi devices
|
# python-miio # Xiaomi devices
|
||||||
python-kasa # TP-Link
|
# python-kasa # TP-Link
|
||||||
|
|
||||||
# Sensors & monitoring
|
# # Sensors & monitoring
|
||||||
meteocalc # Weather calculations
|
# meteocalc # Weather calculations
|
||||||
speedtest-cli # Internet speed
|
# speedtest-cli # Internet speed
|
||||||
|
|
||||||
# Visualization & UI
|
# # Visualization & UI
|
||||||
matplotlib # Graphing
|
# matplotlib # Graphing
|
||||||
|
|
||||||
# Security
|
# # Security
|
||||||
bcrypt
|
# bcrypt
|
||||||
cryptography
|
# cryptography
|
||||||
pyjwt
|
# pyjwt
|
||||||
|
|
||||||
# Media
|
# # Media
|
||||||
ha-ffmpeg # Camera streams
|
# ha-ffmpeg # Camera streams
|
||||||
|
|
||||||
# Specialized integrations
|
# # Specialized integrations
|
||||||
python-matter-server # Matter protocol
|
# python-matter-server # Matter protocol
|
||||||
|
|
||||||
# System integrations
|
# # System integrations
|
||||||
psutil # System monitoring
|
# psutil # System monitoring
|
||||||
|
|
||||||
psycopg2
|
# psycopg2
|
||||||
numpy
|
# numpy
|
||||||
hassil
|
# hassil
|
||||||
pyturbojpeg
|
# pyturbojpeg
|
||||||
paho-mqtt
|
# paho-mqtt
|
||||||
pychromecast
|
# pychromecast
|
||||||
pyatv
|
# pyatv
|
||||||
python-otbr-api
|
# python-otbr-api
|
||||||
brother
|
# brother
|
||||||
pyipp
|
# pyipp
|
||||||
govee-ble
|
# govee-ble
|
||||||
adguardhome
|
# adguardhome
|
||||||
nextcord
|
# nextcord
|
||||||
aiogithubapi
|
# aiogithubapi
|
||||||
jellyfin-apiclient-python
|
# jellyfin-apiclient-python
|
||||||
pylitterbot
|
# pylitterbot
|
||||||
dateparser
|
# dateparser
|
||||||
aionut
|
# aionut
|
||||||
nextcloudmonitor
|
# nextcloudmonitor
|
||||||
ollama
|
# ollama
|
||||||
pynecil
|
# pynecil
|
||||||
aiopyarr
|
# aiopyarr
|
||||||
pysabnzbd
|
# pysabnzbd
|
||||||
getmac
|
# getmac
|
||||||
zigpy
|
# zigpy
|
||||||
bellows # For Zigbee EmberZNet-based adapters
|
# bellows # For Zigbee EmberZNet-based adapters
|
||||||
zigpy-xbee # For XBee adapters
|
# zigpy-xbee # For XBee adapters
|
||||||
zigpy-deconz # For ConBee/RaspBee adapters
|
# zigpy-deconz # For ConBee/RaspBee adapters
|
||||||
pyicloud # iCloud
|
# pyicloud # iCloud
|
||||||
pyatv # Apple TV
|
# pyatv # Apple TV
|
||||||
opencv-python
|
# opencv-python
|
||||||
face-recognition
|
# face-recognition
|
||||||
ibeacon-ble
|
# ibeacon-ble
|
||||||
gehomesdk
|
# gehomesdk
|
||||||
onedrive-personal-sdk
|
# onedrive-personal-sdk
|
||||||
python-roborock
|
# pkgs.${namespace}.python-steam
|
||||||
pkgs.${namespace}.python-steam
|
# apple-weatherkit
|
||||||
apple-weatherkit
|
|
||||||
|
|
||||||
samsungctl
|
# samsungctl
|
||||||
samsungtvws
|
# samsungtvws
|
||||||
|
|
||||||
aiohomekit
|
# aiohomekit
|
||||||
|
|
||||||
icmplib
|
# icmplib
|
||||||
aioelectricitymaps
|
# aioelectricitymaps
|
||||||
wyoming
|
# wyoming
|
||||||
pysmartthings
|
# pysmartthings
|
||||||
wakeonlan
|
# wakeonlan
|
||||||
ephem
|
# ephem
|
||||||
];
|
# ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
# Includes dependencies for a basic setup
|
# Includes dependencies for a basic setup
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
address = "10.0.1.2/24";
|
address = "10.0.1.2/24";
|
||||||
gateway = "10.0.1.1";
|
gateway = "10.0.1.1";
|
||||||
dns = "1.1.1.1";
|
dns = "1.1.1.1";
|
||||||
|
interface = "end0";
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./boot.nix
|
./boot.nix
|
||||||
# ./networking.nix - moved to modules/nixos/network
|
|
||||||
./services.nix
|
./services.nix
|
||||||
./sops.nix
|
./sops.nix
|
||||||
];
|
];
|
||||||
@@ -26,13 +25,8 @@
|
|||||||
desktop.hyprland.enable = false;
|
desktop.hyprland.enable = false;
|
||||||
user = {
|
user = {
|
||||||
name = "matt";
|
name = "matt";
|
||||||
# passwordFile = config.sops.secrets."pi5/matt-password".path;
|
|
||||||
mutableUsers = false;
|
mutableUsers = false;
|
||||||
extraGroups = [ "docker" ];
|
extraGroups = [ "docker" ];
|
||||||
sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTha0FbV1tkpnJr7xVH78S5MetJH+0o2YrEcuvhL692 root@jallen-nas"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIwoHWOLSTGVif9hAhaMLl0qDA4roIzCNuyR6kyIXDOj admin@jallen-nas"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
network = {
|
network = {
|
||||||
hostName = "pi5";
|
hostName = "pi5";
|
||||||
@@ -40,6 +34,7 @@
|
|||||||
method = "manual";
|
method = "manual";
|
||||||
gateway = "10.0.1.1";
|
gateway = "10.0.1.1";
|
||||||
dns = "10.0.1.1";
|
dns = "10.0.1.1";
|
||||||
|
interface = "wlan0";
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user