mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-22 08:04:20 +01:00
Add watchdog
and reolink_aio
to list of Hass python modules
Signed-off-by: magic_rb <magic_rb@redalder.org>
This commit is contained in:
parent
f026c3e26f
commit
9e9f243218
|
@ -1,122 +1,133 @@
|
||||||
{ makeSystem
|
{
|
||||||
, nixpkgs
|
makeSystem,
|
||||||
|
nixpkgs,
|
||||||
}:
|
}:
|
||||||
makeSystem {
|
makeSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
name = "nixng-home-assistant";
|
name = "nixng-home-assistant";
|
||||||
inherit nixpkgs;
|
inherit nixpkgs;
|
||||||
config =
|
config = {
|
||||||
{ pkgs, lib, nglib, ... }:
|
pkgs,
|
||||||
let
|
lib,
|
||||||
inherit (lib)
|
nglib,
|
||||||
singleton;
|
...
|
||||||
in
|
}: let
|
||||||
{
|
inherit
|
||||||
config = {
|
(lib)
|
||||||
dumb-init = {
|
singleton
|
||||||
enable = true;
|
;
|
||||||
type.services = {};
|
in {
|
||||||
};
|
config = {
|
||||||
|
dumb-init = {
|
||||||
|
enable = true;
|
||||||
|
type.services = {};
|
||||||
|
};
|
||||||
|
|
||||||
init.services.home-assistant = {
|
init.services.home-assistant = {
|
||||||
shutdownOnExit = true;
|
shutdownOnExit = true;
|
||||||
environment.PATH = with pkgs; pkgs.lib.makeBinPath [
|
environment.PATH = with pkgs;
|
||||||
coreutils git ffmpeg bash runit
|
pkgs.lib.makeBinPath [
|
||||||
|
coreutils
|
||||||
|
git
|
||||||
|
ffmpeg
|
||||||
|
bash
|
||||||
|
runit
|
||||||
];
|
];
|
||||||
ensureSomething.create."media" = {
|
ensureSomething.create."media" = {
|
||||||
type = "directory";
|
type = "directory";
|
||||||
mode = "755";
|
mode = "755";
|
||||||
owner = "home-assistant";
|
owner = "home-assistant";
|
||||||
dst = "/media";
|
dst = "/media";
|
||||||
persistent = true;
|
persistent = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.home-assistant = {
|
||||||
|
enable = true;
|
||||||
|
envsubst = true;
|
||||||
|
customComponents = {
|
||||||
|
pyscript = pkgs.fetchzip {
|
||||||
|
url = "https://github.com/custom-components/pyscript/releases/download/1.5.0/hass-custom-pyscript.zip";
|
||||||
|
hash = "sha256-d+WBqdCw/J3a+hrQD5dxVZdmgsMcxbukDxWFDnKdI0o=";
|
||||||
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
config = {
|
||||||
services.home-assistant = {
|
default_config = {};
|
||||||
enable = true;
|
recorder = {
|
||||||
envsubst = true;
|
db_url = "postgresql://hass:\${PSQL_PASSWORD}@127.0.0.1/hass?client_encoding=utf8";
|
||||||
customComponents = {
|
db_max_retries = 5;
|
||||||
pyscript = pkgs.fetchzip {
|
db_retry_wait = 30;
|
||||||
url = "https://github.com/custom-components/pyscript/releases/download/1.5.0/hass-custom-pyscript.zip";
|
|
||||||
hash = "sha256-d+WBqdCw/J3a+hrQD5dxVZdmgsMcxbukDxWFDnKdI0o=";
|
|
||||||
stripRoot = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
config = {
|
stream = {};
|
||||||
default_config = {};
|
http = {
|
||||||
recorder = {
|
server_port = "8123";
|
||||||
db_url = "postgresql://hass:\${PSQL_PASSWORD}@127.0.0.1/hass?client_encoding=utf8";
|
use_x_forwarded_for = true;
|
||||||
db_max_retries = 5;
|
trusted_proxies = ["127.0.0.1"];
|
||||||
db_retry_wait = 30;
|
|
||||||
};
|
|
||||||
stream = {};
|
|
||||||
http = {
|
|
||||||
server_port = "8123";
|
|
||||||
use_x_forwarded_for = true;
|
|
||||||
trusted_proxies = [ "127.0.0.1" ];
|
|
||||||
};
|
|
||||||
logger.default = "info";
|
|
||||||
homeassistant =
|
|
||||||
{ name = "Home";
|
|
||||||
latitude = "\${LATITUDE}";
|
|
||||||
longitude = "\${LONGTITUDE}";
|
|
||||||
elevation = "\${ELEVATION}";
|
|
||||||
# currency = "EUR";
|
|
||||||
unit_system = "metric";
|
|
||||||
time_zone = "\${TIME_ZONE}";
|
|
||||||
country = "\${COUNTRY}";
|
|
||||||
internal_url = "http://localhost:8123/";
|
|
||||||
whitelist_external_dirs = [
|
|
||||||
"/mnt/cctv"
|
|
||||||
];
|
|
||||||
media_dirs.local = "/mnt/cctv";
|
|
||||||
};
|
|
||||||
|
|
||||||
pyscript = {
|
|
||||||
allow_all_imports = false;
|
|
||||||
hass_is_global = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
automation = "!include automations.yaml";
|
|
||||||
alarm_control_panel = import ./configs/alarm_control_panel.nix;
|
|
||||||
frontend.themes = {};
|
|
||||||
sensor = singleton {
|
|
||||||
platform = "time_date";
|
|
||||||
display_options = [
|
|
||||||
"time"
|
|
||||||
"date"
|
|
||||||
"date_time"
|
|
||||||
"date_time_utc"
|
|
||||||
"date_time_iso"
|
|
||||||
"time_date"
|
|
||||||
"time_utc"
|
|
||||||
"beat"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
package = pkgs.home-assistant.override {
|
logger.default = "info";
|
||||||
extraComponents = [
|
homeassistant = {
|
||||||
"http"
|
name = "Home";
|
||||||
"homeassistant"
|
latitude = "\${LATITUDE}";
|
||||||
# "image"
|
longitude = "\${LONGTITUDE}";
|
||||||
"person"
|
elevation = "\${ELEVATION}";
|
||||||
"cloud"
|
# currency = "EUR";
|
||||||
"camera"
|
unit_system = "metric";
|
||||||
"onboarding"
|
time_zone = "\${TIME_ZONE}";
|
||||||
"frontend"
|
country = "\${COUNTRY}";
|
||||||
"met"
|
internal_url = "http://localhost:8123/";
|
||||||
"zha"
|
whitelist_external_dirs = [
|
||||||
"mobile_app"
|
"/mnt/cctv"
|
||||||
"dhcp"
|
|
||||||
"logbook"
|
|
||||||
"history"
|
|
||||||
"ssdp"
|
|
||||||
"mqtt"
|
|
||||||
"stream"
|
|
||||||
"recorder"
|
|
||||||
];
|
];
|
||||||
|
media_dirs.local = "/mnt/cctv";
|
||||||
|
};
|
||||||
|
|
||||||
extraPackages = ps: with ps; [
|
pyscript = {
|
||||||
|
allow_all_imports = false;
|
||||||
|
hass_is_global = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
automation = "!include automations.yaml";
|
||||||
|
alarm_control_panel = import ./configs/alarm_control_panel.nix;
|
||||||
|
frontend.themes = {};
|
||||||
|
sensor = singleton {
|
||||||
|
platform = "time_date";
|
||||||
|
display_options = [
|
||||||
|
"time"
|
||||||
|
"date"
|
||||||
|
"date_time"
|
||||||
|
"date_time_utc"
|
||||||
|
"date_time_iso"
|
||||||
|
"time_date"
|
||||||
|
"time_utc"
|
||||||
|
"beat"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
package = pkgs.home-assistant.override {
|
||||||
|
extraComponents = [
|
||||||
|
"http"
|
||||||
|
"homeassistant"
|
||||||
|
# "image"
|
||||||
|
"person"
|
||||||
|
"cloud"
|
||||||
|
"camera"
|
||||||
|
"onboarding"
|
||||||
|
"frontend"
|
||||||
|
"met"
|
||||||
|
"zha"
|
||||||
|
"mobile_app"
|
||||||
|
"dhcp"
|
||||||
|
"logbook"
|
||||||
|
"history"
|
||||||
|
"ssdp"
|
||||||
|
"mqtt"
|
||||||
|
"stream"
|
||||||
|
"recorder"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraPackages = ps:
|
||||||
|
with ps; [
|
||||||
xmodem
|
xmodem
|
||||||
psycopg2
|
psycopg2
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
|
@ -124,9 +135,11 @@ makeSystem {
|
||||||
psutil-home-assistant
|
psutil-home-assistant
|
||||||
bluetooth-auto-recovery
|
bluetooth-auto-recovery
|
||||||
croniter
|
croniter
|
||||||
|
reolink-aio
|
||||||
|
watchdog
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue