From 9e58fcd325655ad9e6dc87775f784d9f0d088ba7 Mon Sep 17 00:00:00 2001 From: oddlama Date: Tue, 28 Jan 2025 02:38:58 +0100 Subject: [PATCH] feat: more cardssss --- globals.nix | 4 ++ .../config-template-card/package.nix | 48 +++++++++++++++ .../hass-lovelace/hui-element/package.nix | 55 ++++++++++++++++++ hosts/sausebiene/home-assistant.nix | 22 ++++--- hosts/sentinel/plausible.nix | 13 ----- secrets/global.nix.age | Bin 3428 -> 3439 bytes 6 files changed, 122 insertions(+), 20 deletions(-) create mode 100644 hosts/sausebiene/hass-lovelace/config-template-card/package.nix create mode 100644 hosts/sausebiene/hass-lovelace/hui-element/package.nix diff --git a/globals.nix b/globals.nix index fe8896f..b3329e4 100644 --- a/globals.nix +++ b/globals.nix @@ -84,6 +84,10 @@ in cidrv6 = "fd30::/64"; hosts.ward.id = 1; hosts.sausebiene.id = 5; + hosts.philips-ac2889 = { + id = 21; + mac = globals.macs.scanner-ads-4300n; + }; hosts.bambulab-p1s = { id = 22; mac = globals.macs.bambulab-p1s; diff --git a/hosts/sausebiene/hass-lovelace/config-template-card/package.nix b/hosts/sausebiene/hass-lovelace/config-template-card/package.nix new file mode 100644 index 0000000..e082f79 --- /dev/null +++ b/hosts/sausebiene/hass-lovelace/config-template-card/package.nix @@ -0,0 +1,48 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + nodejs, +}: +stdenvNoCC.mkDerivation rec { + pname = "config-template-card"; + version = "1.3.6-unstable"; + + src = fetchFromGitHub { + owner = "oddlama"; + repo = "config-template-card"; + rev = "517159d1d0aed3d9b7664e832d20a184c52e6e2f"; + hash = "sha256-U+yHjhrFw+6DtADIy7kkAGu3hXdxbgH0kG8Ay6cCAWI="; + }; + + offlineCache = fetchYarnDeps { + inherit src; + hash = "sha256-H5vADyspiGSWxBISXWiXvehqFItYDI0PEou42LdqEJU="; + }; + + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + nodejs + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp dist/* $out + + runHook postInstall + ''; + + meta = { + description = "Templatable Lovelace Configurations"; + homepage = "https://github.com/oddlama/config-template-card"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ oddlama ]; + }; +} diff --git a/hosts/sausebiene/hass-lovelace/hui-element/package.nix b/hosts/sausebiene/hass-lovelace/hui-element/package.nix new file mode 100644 index 0000000..3805be5 --- /dev/null +++ b/hosts/sausebiene/hass-lovelace/hui-element/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchNpmDeps, + npmHooks, + nodejs, +}: +stdenvNoCC.mkDerivation rec { + pname = "hui-element"; + version = "unstable-2025-01-28"; + + src = fetchFromGitHub { + owner = "oddlama"; + repo = "lovelace-hui-element"; + rev = "4569a5bf0069de0467c1bf73f0d5cfcff039bc26"; + hash = "sha256-qTGbisJ+AHamzMyn38w8URbO/mQM0cOP4Vwss770/eE="; + }; + + npmDeps = fetchNpmDeps { + inherit src; + hash = "sha256-TiLDwE6JtY+EYe/CjYTo0ZjBtpif19CNggcLpqbkVMo="; + }; + + nativeBuildInputs = [ + npmHooks.npmConfigHook + nodejs + ]; + + buildPhase = '' + runHook preBuild + + rm hui-element.js + npm run build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp hui-element.js $out/ + + runHook postInstall + ''; + + meta = { + description = "Use built-in elements in the wrong place"; + homepage = "https://github.com/thomasloven/lovelace-hui-element"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ oddlama ]; + }; +} diff --git a/hosts/sausebiene/home-assistant.nix b/hosts/sausebiene/home-assistant.nix index f86fa05..72e8b42 100644 --- a/hosts/sausebiene/home-assistant.nix +++ b/hosts/sausebiene/home-assistant.nix @@ -61,10 +61,17 @@ in hash = "sha256-jQXQdcgW8IDmjaHjmeyXHcNTXYmknNDw7Flegy6wj2A="; }; })) + dwd + waste_collection_schedule ]; customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ - (pkgs.callPackage ./hass-lovelace/clock-weather-card/package.nix { }) + (builtins.trace "soon upstreamed" ( + pkgs.callPackage ./hass-lovelace/clock-weather-card/package.nix { } + )) + (pkgs.callPackage ./hass-lovelace/config-template-card/package.nix { }) + (pkgs.callPackage ./hass-lovelace/hui-element/package.nix { }) + apexcharts-card bubble-card button-card card-mod @@ -121,14 +128,15 @@ in extraPackages = python3Packages: with python3Packages; [ - psycopg2 - gtts - fritzconnection adguardhome - zlib-ng - pymodbus - pyipp + dwdwfsapi + fritzconnection + gtts + psycopg2 pyatv + pyipp + pymodbus + zlib-ng ]; }; diff --git a/hosts/sentinel/plausible.nix b/hosts/sentinel/plausible.nix index 5b2a768..3dd0a1e 100644 --- a/hosts/sentinel/plausible.nix +++ b/hosts/sentinel/plausible.nix @@ -14,12 +14,6 @@ in group = "plausible"; }; - age.secrets.plausible-admin-pw = { - generator.script = "alnum"; - mode = "440"; - group = "plausible"; - }; - environment.persistence."/persist".directories = [ { directory = "/var/lib/clickhouse"; @@ -52,13 +46,6 @@ in disableRegistration = true; secretKeybaseFile = config.age.secrets.plausible-secret.path; }; - - adminUser = { - activate = true; - name = "admin"; - email = "plausible@${globals.domains.me}"; - passwordFile = config.age.secrets.plausible-admin-pw.path; - }; }; services.nginx = { diff --git a/secrets/global.nix.age b/secrets/global.nix.age index e5af0714e6155d5c0ca9b5bd7981c5aa0480104a..a2c404b3ec2152b525e1b77dd4c69979af0f445b 100644 GIT binary patch literal 3439 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