feat(hass): setup ui declaratively
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
a6dd198820
commit
52d0196dc1
4 changed files with 68 additions and 7 deletions
|
@ -1,12 +1,68 @@
|
||||||
{dracul-ha-src, ...}: {
|
{
|
||||||
|
caule-themes-src,
|
||||||
|
dracul-ha-src,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) concatStringsSep getExe;
|
||||||
|
inherit (pkgs.writers) writeYAML;
|
||||||
|
|
||||||
|
themes = [
|
||||||
|
"${caule-themes-src}/themes/caule-themes-pack-1.yaml"
|
||||||
|
"${dracul-ha-src}/themes/dracul-ha.yaml"
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
systemd.services.home-assistant.preStart = let
|
||||||
|
WorkingDirectory = "/var/lib/hass";
|
||||||
|
in
|
||||||
|
getExe (pkgs.writeShellApplication {
|
||||||
|
name = "ha-themes";
|
||||||
|
text = ''
|
||||||
|
mkdir -p ${WorkingDirectory}/themes
|
||||||
|
cp -f ${concatStringsSep " " themes} ${WorkingDirectory}/themes
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
config = {
|
config.frontend = {
|
||||||
# GUI
|
themes = "!include_dir_merge_named themes";
|
||||||
frontend = {
|
|
||||||
themes = "!include ${dracul-ha-src}/themes/dracul-ha.yaml";
|
|
||||||
};
|
};
|
||||||
lovelace = {
|
|
||||||
|
lovelaceConfig = {
|
||||||
|
title = "Our House";
|
||||||
|
views = [
|
||||||
|
{
|
||||||
|
path = "home";
|
||||||
|
title = "Home";
|
||||||
|
cards = [
|
||||||
|
{
|
||||||
|
type = "entities";
|
||||||
|
entities = [
|
||||||
|
"switch.smartplug1"
|
||||||
|
"switch.smartplug3"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
config.lovelace.dashboards = {
|
||||||
|
esphome-dash = {
|
||||||
|
title = "ESPHome";
|
||||||
|
icon = "mdi:car-esp";
|
||||||
mode = "yaml";
|
mode = "yaml";
|
||||||
|
|
||||||
|
show_in_sidebar = true;
|
||||||
|
require_admin = true;
|
||||||
|
|
||||||
|
filename = writeYAML "esphome.yaml" {
|
||||||
|
strategy = {
|
||||||
|
type = "iframe";
|
||||||
|
url = "https://esphome.nelim.org";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
BIN
flake.lock
BIN
flake.lock
Binary file not shown.
BIN
flake.nix
BIN
flake.nix
Binary file not shown.
|
@ -226,6 +226,11 @@ let
|
||||||
owner = "berti24";
|
owner = "berti24";
|
||||||
repo = "dracul-ha";
|
repo = "dracul-ha";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "caule-themes-src";
|
||||||
|
owner = "ricardoquecria";
|
||||||
|
repo = "caule-themes-pack-1";
|
||||||
|
}
|
||||||
|
|
||||||
# Nvim plugins
|
# Nvim plugins
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue