alpha
Login
or
Join now
seanaye.bsky.social
/
nixos-config
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
me like nix
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
add frigate to HA
author
Sean Aye
date
3 months ago
(Mar 22, 2026, 8:03 PM -0400)
commit
e730fdd0
e730fdd0530cf6ed83ef05ed2f06b28dec2fae28
parent
41ca9e0d
41ca9e0d92730b8f574709401a3169969f5ad640
change-id
roprttmq
roprttmqxyxspmxpznswzvtotmxqqlnz
+78
-1
1 changed file
Expand all
Collapse all
Unified
Split
hosts
mira
configuration.nix
+78
-1
hosts/mira/configuration.nix
Reviewed
···
129
129
};
130
130
};
131
131
132
132
-
# MQTT broker for Home Assistant (Tasmota devices)
132
132
+
# MQTT broker for Home Assistant (Tasmota devices, Frigate)
133
133
services.mosquitto = {
134
134
enable = true;
135
135
listeners = [
···
141
141
];
142
142
};
143
143
144
144
+
# Frigate NVR for camera recording and AI object detection
145
145
+
services.frigate = {
146
146
+
enable = true;
147
147
+
hostname = "frigate";
148
148
+
settings = {
149
149
+
mqtt = {
150
150
+
enabled = true;
151
151
+
host = "localhost";
152
152
+
port = 1883;
153
153
+
};
154
154
+
155
155
+
# Detector configuration - CPU for now (can add GPU later)
156
156
+
detectors = {
157
157
+
cpu = {
158
158
+
type = "cpu";
159
159
+
num_threads = 4;
160
160
+
};
161
161
+
};
162
162
+
163
163
+
# Camera configuration - Pi Camera via go2rtc
164
164
+
cameras = {
165
165
+
picam = {
166
166
+
enabled = true;
167
167
+
ffmpeg = {
168
168
+
inputs = [
169
169
+
{
170
170
+
path = "rtsp://pi:8554/picam";
171
171
+
roles = [ "detect" "record" ];
172
172
+
}
173
173
+
];
174
174
+
};
175
175
+
detect = {
176
176
+
enabled = true;
177
177
+
width = 1920;
178
178
+
height = 1080;
179
179
+
fps = 5; # Lower FPS for detection to reduce CPU
180
180
+
};
181
181
+
record = {
182
182
+
enabled = true;
183
183
+
retain = {
184
184
+
days = 7;
185
185
+
mode = "motion"; # Only keep motion events
186
186
+
};
187
187
+
events = {
188
188
+
retain = {
189
189
+
default = 14; # Keep events for 14 days
190
190
+
mode = "active_objects";
191
191
+
};
192
192
+
};
193
193
+
};
194
194
+
snapshots = {
195
195
+
enabled = true;
196
196
+
bounding_box = true;
197
197
+
retain = {
198
198
+
default = 14;
199
199
+
};
200
200
+
};
201
201
+
objects = {
202
202
+
track = [ "person" "dog" "cat" "car" ];
203
203
+
};
204
204
+
};
205
205
+
};
206
206
+
207
207
+
# Recording storage
208
208
+
record = {
209
209
+
enabled = true;
210
210
+
retain = {
211
211
+
days = 7;
212
212
+
mode = "motion";
213
213
+
};
214
214
+
};
215
215
+
};
216
216
+
};
217
217
+
144
218
# Home Assistant service
145
219
services.home-assistant = {
146
220
enable = true;
···
159
233
"ibeacon" # Was missing ibeacon_ble module
160
234
"go2rtc" # Camera streaming
161
235
"generic" # Generic camera integration
236
236
+
"frigate" # Frigate NVR integration
162
237
];
163
238
config = {
164
239
homeassistant = {
···
265
340
3000 # vite dev port
266
341
1883 # MQTT for Tasmota devices
267
342
2300 # trmnl
343
343
+
5000 # Frigate web UI
344
344
+
8971 # Frigate API
268
345
config.services.home-assistant.config.http.server_port
269
346
];
270
347
networking.firewall.allowedUDPPorts = [