push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
# Packaging guidelines
## Entrypoint
Every lovelace module has an entrypoint in the form of a `.js` file. By
default the nixos module will try to load `${pname}.js` when a module is
configured.
The entrypoint used can be overridden in `passthru` like this:
```nix
{ passthru.entrypoint = "demo-card-bundle.js"; }
```

View File

@@ -0,0 +1,35 @@
{
lib,
stdenv,
fetchzip,
}:
stdenv.mkDerivation rec {
pname = "advanced-camera-card";
version = "7.18.1";
src = fetchzip {
url = "https://github.com/dermotduffy/advanced-camera-card/releases/download/v${version}/advanced-camera-card.zip";
hash = "sha256-aUoXkoDhAEzKl6YbrSXPnItf0rAYNKa6/PA7mjVnXvo=";
};
# TODO: build from source once yarn berry support lands in nixpkgs
dontBuild = true;
installPhase = ''
runHook preInstall
install -d $out
install -m0644 *.js $out/
runHook postInstall
'';
meta = {
changelog = "https://github.com/dermotduffy/advanced-camera-card/releases/tag/v${version}";
description = "Comprehensive camera card for Home Assistant";
homepage = "https://github.com/dermotduffy/advanced-camera-card";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "apexcharts-card";
version = "2.2.3";
src = fetchFromGitHub {
owner = "RomRider";
repo = "apexcharts-card";
rev = "v${version}";
hash = "sha256-r8PjZLUWnC25XsA4CI1qCX5Np2HY6kp1sWSqfXfJrPk=";
};
npmDepsHash = "sha256-w/TR+8Oo6dbSnlHKhKKVSpeDops4WoGdle6VTCyR7T4=";
installPhase = ''
runHook preInstall
mkdir $out
cp -R dist/* $out/
runHook postInstall
'';
meta = with lib; {
description = "Lovelace card to display advanced graphs and charts based on ApexChartsJS for Home Assistant";
homepage = "https://github.com/RomRider/apexcharts-card";
changelog = "https://github.com/RomRider/apexcharts-card/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,142 @@
{
"name": "atomic-calendar-revive",
"version": "10.0.0",
"description": "Calendar Card for Home Assistant",
"main": "atomic-calendar-revive.js",
"scripts": {
"lint": "eslint src/*.ts | more ",
"lintindex": "eslint src/index.ts | more",
"lintindexfix": "eslint src/index.ts --fix",
"lintfixall": "eslint src/*.ts --fix",
"linteditor": "eslint src/index-editor.ts",
"babel": "babel dist/index.js --out-file dist/atomic-calendar-revive.js",
"rollup": "rollup -c",
"start": "rollup -c --watch --bundleConfigAsCjs",
"build": "rollup -c --bundleConfigAsCjs",
"watch": "rollup -c rollup-dev.config.mjs --bundleConfigAsCjs",
"commit": "cz"
},
"repository": {
"type": "git",
"url": "git+https://github.com/totaldebug/atomic-calendar-revive.git"
},
"author": "Steven Marks",
"license": "ISC",
"devDependencies": {
"@babel/cli": "^7.24.7",
"@babel/core": "^7.24.7",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.7",
"@babel/plugin-transform-template-literals": "^7.24.7",
"@babel/preset-env": "^7.24.7",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^26.0.1",
"@rollup/plugin-eslint": "^9.0.5",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@typescript-eslint/eslint-plugin": "^7.13.1",
"@typescript-eslint/parser": "^7.13.1",
"babel-preset-minify": "^0.5.2",
"commitizen": "^4.3.0",
"conventional-changelog-conventionalcommits": "^8.0.0",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^9.5.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"prettier": "^3.3.2",
"rollup": "^4.18.0",
"rollup-plugin-serve": "^2.0.3",
"rollup-plugin-typescript2": "^0.36.0",
"semantic-release": "^24.0.0"
},
"dependencies": {
"@formatjs/icu-messageformat-parser": "^2.7.8",
"@lit-labs/scoped-registry-mixin": "^1.0.3",
"@lit/reactive-element": "2.0.4",
"@material/mwc-formfield": "^0.27.0",
"@material/mwc-icon-button": "^0.27.0",
"@material/mwc-linear-progress": "^0.27.0",
"@material/mwc-list": "^0.27.0",
"@material/mwc-menu": "^0.27.0",
"@material/mwc-notched-outline": "^0.27.0",
"@material/mwc-ripple": "^0.27.0",
"@material/mwc-select": "^0.27.0",
"@material/mwc-switch": "^0.27.0",
"@material/mwc-textfield": "^0.27.0",
"@mdi/js": "^7.4.47",
"@webcomponents/webcomponentsjs": "^2.8.0",
"dayjs": "^1.11.11",
"home-assistant-js-websocket": "^9.4.0",
"lit": "^3.1.4",
"memoize-one": "^6.0.0",
"npm": "^10.8.1",
"typescript": "^5.5.2"
},
"resolutions": {
"lit": "^3.0.2",
"@lit/reactive-element": "2.0.1"
},
"bugs": {
"url": "https://github.com/totaldebug/atomic-calendar-revive/issues"
},
"homepage": "https://github.com/totaldebug/atomic-calendar-revive#readme",
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"release": {
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "conventionalcommits"
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits"
}
],
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/exec",
{
"prepareCmd": "yarn run build"
}
],
[
"@semantic-release/git",
{
"assets": [
"package.json"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
[
"@semantic-release/github",
{
"assets": [
{
"path": "dist/atomic-calendar-revive.js"
}
]
}
],
"@semantic-release/changelog"
]
}
}

View File

@@ -0,0 +1,56 @@
{
lib,
mkYarnPackage,
fetchYarnDeps,
fetchFromGitHub,
}:
mkYarnPackage rec {
pname = "atomic-calendar-revive";
version = "10.0.0";
src = fetchFromGitHub {
owner = "totaldebug";
repo = "atomic-calendar-revive";
rev = "v${version}";
hash = "sha256-TaxvxAUcewQH0IMJ0/VjW4+T6squ1tuZIFGn3PE3jhU=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
name = "${pname}-yarn-offline-cache";
yarnLock = src + "/yarn.lock";
hash = "sha256-d3lk3mwgaWMPFl/EDUWH/tUlAC7OfhNycOLbi1GzkfM=";
};
buildPhase = ''
runHook preBuild
yarn run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp ./deps/atomic-calendar-revive/dist/atomic-calendar-revive.js $out
runHook postInstall
'';
doDist = false;
passthru.updateScript = ./update.sh;
meta = with lib; {
changelog = "https://github.com/totaldebug/atomic-calendar-revive/releases/tag/v${src.rev}";
description = "Advanced calendar card for Home Assistant Lovelace";
homepage = "https://github.com/totaldebug/atomic-calendar-revive";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,42 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update git jq
# shellcheck shell=bash
ROOT=$(git rev-parse --show-toplevel)
ATTR=home-assistant-custom-lovelace-modules.atomic-calendar-revive
cd "$ROOT" || exit 1
# get current version in nixpkgs
CURRENT_VERSION=$(nix eval -f ./default.nix --raw "$ATTR")
# get latest release tag
LATEST_RELEASE=$(curl https://api.github.com/repos/totaldebug/atomic-calendar-revive/releases | jq "[.[] | select(.prerelease == false)][0].tag_name")
# strip version prefix
LATEST_VERSION=${LATEST_RELEASE//"v"}
# strip quotes
LATEST_VERSION=${LATEST_VERSION%\"}
LATEST_VERSION=${LATEST_VERSION#\"}
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ];
then
echo Already on latest version
exit 0
fi
echo "Updating to ${LATEST_VERSION}"
PKGDIR=$(dirname "$0")
# change to package directory
cd "$PKGDIR" || exit 1
# update package.json
echo "https://raw.githubusercontent.com/totaldebug/atomic-calendar-revive/v${LATEST_VERSION}/package.json"
curl -o ./package.json "https://raw.githubusercontent.com/totaldebug/atomic-calendar-revive/v${LATEST_VERSION}/package.json"
# update package
cd "$ROOT" || exit 1
nix-update --version "$LATEST_VERSION" "$ATTR"

View File

@@ -0,0 +1,35 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "auto-entities";
version = "1.16.1";
src = fetchFromGitHub {
owner = "thomasloven";
repo = "lovelace-auto-entities";
tag = "v${version}";
hash = "sha256-yMqf4LA/fBTIrrYwacUTb2fL758ZB1k471vdsHAiOj8=";
};
npmDepsHash = "sha256-XLhTLK08zW1BFj/PI8/61FWzoyvWi5X5sEkGlF1IuZU=";
installPhase = ''
runHook preInstall
install -D auto-entities.js $out/auto-entities.js
runHook postInstall
'';
meta = with lib; {
description = "Automatically populate the entities-list of lovelace cards";
homepage = "https://github.com/thomasloven/lovelace-auto-entities";
changelog = "https://github.com/thomasloven/lovelace-auto-entities/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with maintainers; [ kranzes ];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "bubble-card";
version = "3.0.3";
src = fetchFromGitHub {
owner = "Clooos";
repo = "Bubble-Card";
rev = "v${version}";
hash = "sha256-soLeHWDp72C5KzjnkdPVneJrShFVcOHvvVyLPMVpJM0=";
};
npmDepsHash = "sha256-NSHsw/+dmdc2+yo4/NgT0YMMrCuL8JjRR6MSJ5xQTiE=";
preBuild = ''
rm -rf dist
'';
npmBuildScript = "dist";
installPhase = ''
runHook preInstall
cp -rv dist $out
runHook postInstall
'';
meta = with lib; {
changelog = "https://github.com/Clooos/bubble-card/releases/tag/v${version}";
description = "Bubble Card is a minimalist card collection for Home Assistant with a nice pop-up touch";
homepage = "https://github.com/Clooos/Bubble-Card";
license = licenses.mit;
maintainers = with maintainers; [ pta2002 ];
};
}

View File

@@ -0,0 +1,78 @@
{
"name": "button-card",
"version": "4.1.2",
"description": "Button card for lovelace",
"main": "dist/button-card.js",
"scripts": {
"build": "npm run lint && npm run rollup",
"rollup": "rollup -c",
"babel": "babel dist/button-card.js --out-file dist/button-card.js",
"lint": "eslint src/*.ts",
"watch": "rollup -c --watch",
"postversion": "npm run build",
"audit-fix": "npx yarn-audit-fix"
},
"repository": {
"type": "git",
"url": "git+https://github.com/custom-cards/button-card.git"
},
"keywords": [
"lovelace"
],
"author": "kuuji",
"contributors": [
"Ian Richardson (https://github.com/iantrich)",
"Jérôme Wiedemann (https://github.com/RomRider)"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/custom-cards/button-card/issues"
},
"homepage": "https://github.com/custom-cards/button-card#readme",
"devDependencies": {
"@babel/core": "^7.12.3",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-decorators": "^7.12.1",
"@rollup/plugin-babel": "^5.2.1",
"@rollup/plugin-commonjs": "^16.0.0",
"@rollup/plugin-json": "^4.0.2",
"@rollup/plugin-node-resolve": "^10.0.0",
"@semantic-release/changelog": "^5.0.1",
"@semantic-release/commit-analyzer": "^8.0.1",
"@semantic-release/exec": "^5.0.0",
"@semantic-release/git": "^9.0.0",
"@semantic-release/npm": "^7.0.10",
"@semantic-release/release-notes-generator": "^9.0.1",
"@typescript-eslint/eslint-plugin": "^6.1.0",
"@typescript-eslint/parser": "^6.1.0",
"conventional-changelog-conventionalcommits": "^4.5.0",
"eslint": "7.12.1",
"eslint-config-airbnb-base": "^14.1.0",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-prettier": "^3.1.2",
"npm": "^6.14.3",
"prettier": "^2.1.2",
"prettier-eslint": "^11.0.0",
"rollup": "^2.33.1",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-serve": "^1.1.0",
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.29.0",
"semantic-release": "^17.3.8",
"ts-lit-plugin": "^1.1.10",
"typescript": "^4.0.5",
"typescript-styled-plugin": "^0.15.0",
"yarn-audit-fix": "^9.3.10"
},
"dependencies": {
"@ctrl/tinycolor": "^3.1.6",
"@material/mwc-ripple": "^0.19.1",
"fast-copy": "^2.1.0",
"home-assistant-js-websocket": "^8.2.0",
"lit": "^2.7.6",
"lit-element": "^3.3.2",
"lit-html": "^2.7.5",
"memoize-one": "^6.0.0"
}
}

View File

@@ -0,0 +1,53 @@
{
lib,
mkYarnPackage,
fetchYarnDeps,
fetchFromGitHub,
}:
mkYarnPackage rec {
pname = "button-card";
version = "4.1.2";
src = fetchFromGitHub {
owner = "custom-cards";
repo = "button-card";
rev = "v${version}";
hash = "sha256-Ntg1sNgAehcL2fT0rP0YHzV5q6rB5p1TyFXtbZyB3Vo=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-OFnsRR9zA9D22xBdh4XfLueGVA2ERXmGEp54x0OFDFY=";
};
buildPhase = ''
runHook preBuild
yarn build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp ./deps/button-card/dist/button-card.js $out
runHook postInstall
'';
doDist = false;
meta = with lib; {
description = "Lovelace button-card for home assistant";
homepage = "https://github.com/custom-cards/button-card";
changelog = "https://github.com/custom-cards/button-card/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "lovelace-card-mod";
version = "3.4.5";
src = fetchFromGitHub {
owner = "thomasloven";
repo = "lovelace-card-mod";
rev = "v${version}";
hash = "sha256-yd07C3/tpnoclrztWBAVwU6Ic2a4hY45xcjmgSp/uZA=";
};
npmDepsHash = "sha256-IjN0sBWa6y/j0x5XRvDU0F6kA9RTfKFlVsnqwBkgx2Q=";
installPhase = ''
runHook preInstall
mkdir $out
cp card-mod.js $out
runHook postInstall
'';
passthru.entrypoint = "card-mod.js";
meta = with lib; {
description = "Add CSS styles to (almost) any lovelace card";
homepage = "https://github.com/thomasloven/lovelace-card-mod";
license = licenses.mit;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
fetchYarnDeps,
nodejs,
yarnConfigHook,
yarnBuildHook,
}:
stdenvNoCC.mkDerivation rec {
pname = "clock-weather-card";
version = "2.9.0";
src = fetchFromGitHub {
owner = "pkissling";
repo = "clock-weather-card";
tag = "v${version}";
hash = "sha256-cLqHVBjsSq3t7ft9Ap6kjNSgM87+ftqlF5ZfcJKAAzQ=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-zaKrvsT1Lgcyk4a9vO97j9yHkaD+5zbnsM5+GHxb4uk=";
};
nativeBuildInputs = [
nodejs
yarnConfigHook
yarnBuildHook
];
installPhase = ''
runHook preInstall
mkdir $out
cp ./dist/clock-weather-card.js $out/
runHook postInstall
'';
meta = {
description = "Home Assistant Card indicating today's date/time, along with an iOS inspired weather forecast for the next days with animated icons";
homepage = "https://github.com/pkissling/clock-weather-card";
changelog = "https://github.com/pkissling/clock-weather-card/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ oddlama ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
pnpm,
nodejs,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "custom-sidebar";
version = "10.5.2";
src = fetchFromGitHub {
owner = "elchininet";
repo = "custom-sidebar";
tag = "v${finalAttrs.version}";
hash = "sha256-C3zjl4KP2l56Hn7MJjoB8D6KkJ3Ef6KpVZWWdDS5Hds=";
};
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-FOaR+B8UammcStvNFo7PR++VCPzY+aXvWeSRXnoPkWM=";
};
nativeBuildInputs = [
pnpm.configHook
nodejs
];
buildPhase = ''
runHook preBuild
pnpm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p "$out"
cp dist/* "$out"
runHook postInstall
'';
passthru.entrypoint = "custom-sidebar-yaml.js";
meta = {
description = "Custom plugin that allows you to personalise the Home Assistant's sidebar per user or device basis";
homepage = "https://elchininet.github.io/custom-sidebar";
downloadPage = "https://github.com/elchininet/custom-sidebar";
changelog = "https://github.com/elchininet/custom-sidebar/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ kranzes ];
};
})

View File

@@ -0,0 +1,37 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "decluttering-card";
version = "1.0.0";
src = fetchFromGitHub {
owner = "custom-cards";
repo = "decluttering-card";
rev = "v${version}";
hash = "sha256-8pf7G6RbLdpIdXYz801+wwAc3NcNs8l0x4fSGqlAmG0=";
};
npmDepsHash = "sha256-9tmEfKo8n2LR+r40hEqOfn7w6/P29XQ+KZSHL97wUuY=";
installPhase = ''
runHook preInstall
mkdir $out
cp dist/decluttering-card.js $out
runHook postInstall
'';
meta = with lib; {
description = "Declutter your lovelace configuration with the help of this card";
homepage = "https://github.com/custom-cards/decluttering-card";
changelog = "https://github.com/custom-cards/decluttering-card/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "hourly-weather";
version = "6.7.1";
src = fetchFromGitHub {
owner = "decompil3d";
repo = "lovelace-hourly-weather";
rev = version;
hash = "sha256-o2whcxLcPQcSvv9aMpZxAk7iqGez2yqhwdB+zU7OwMY=";
};
npmDepsHash = "sha256-C4ca6bTXzNmmzA5yK825JwdOYa3KKtGK+eYuKxgspUY=";
env.CYPRESS_INSTALL_BINARY = "0";
installPhase = ''
runHook preInstall
mkdir $out
cp dist/hourly-weather.js $out
runHook postInstall
'';
meta = with lib; {
description = "Hourly weather card for Home Assistant. Visualize upcoming weather conditions as a colored horizontal bar";
homepage = "https://github.com/decompil3d/lovelace-hourly-weather";
license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "lg-webos-remote-control";
version = "2.0.3";
src = fetchFromGitHub {
owner = "madmicio";
repo = "LG-WebOS-Remote-Control";
rev = version;
hash = "sha256-ICOAi8q8dWrBFCv18JYSWc6MIwqxfDXOcc6kCKLGehs=";
};
npmDepsHash = "sha256-kN+i0ic1JWs6kqnAliiO4yVMDXwfZaQsRGKeV9A0MxE=";
installPhase = ''
runHook preInstall
mkdir $out
cp dist/lg-remote-control.js $out
runHook postInstall
'';
passthru.entrypoint = "lg-remote-control.js";
meta = with lib; {
description = "Remote Control for LG TV WebOS";
homepage = "https://github.com/madmicio/LG-WebOS-Remote-Control";
license = licenses.mit;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "light-entity-card";
version = "6.1.3";
src = fetchFromGitHub {
owner = "ljmerza";
repo = "light-entity-card";
tag = version;
hash = "sha256-DtpNKcnxMWbKwfIwo9R2g2Vux9oAjTI0URixGC41qeA=";
};
npmDepsHash = "sha256-EZDTWtn3joikwiC5Kfn94+tXRDpBhMDHqHozfIkfbJ0=";
env.NODE_OPTIONS = "--openssl-legacy-provider";
installPhase = ''
runHook preInstall
mkdir $out
cp -v dist/light-entity-card.js* $out/
runHook postInstall
'';
passthru.entrypoint = "light-entity-card.js";
meta = with lib; {
description = "Control any light or switch entity";
homepage = "https://github.com/ljmerza/light-entity-card";
changelog = "https://github.com/ljmerza/light-entity-card/releases/tag/${version}";
maintainers = with maintainers; [ SuperSandro2000 ];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "material-you-utilities";
version = "2.0.14";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "material-you-utilities";
tag = version;
hash = "sha256-C2qNXQ/21zyXURjZuId+ANkhvjUCxqfATSW4hvU/9D4=";
};
npmDepsHash = "sha256-W9fKtN+Ux3Lzk4KtRPYM6B+1o8OtZ8ERkqdlT/PkXqA=";
postPatch = ''
# Remove git dependency from rspack config
substituteInPlace rspack.config.js \
--replace-fail "execSync('git branch --show-current').toString().trim() == 'main'" "false"
'';
installPhase = ''
runHook preInstall
mkdir $out
cp dist/material-you-utilities.min.js $out/
runHook postInstall
'';
passthru.entrypoint = "material-you-utilities.min.js";
meta = {
description = "Material Design 3 color theme generation and Home Assistant component modification";
homepage = "https://github.com/Nerwyn/material-you-utilities";
changelog = "https://github.com/Nerwyn/material-you-utilities/releases/tag/${version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.jamiemagee ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "mini-graph-card";
version = "0.13.0";
src = fetchFromGitHub {
owner = "kalkih";
repo = "mini-graph-card";
tag = "v${version}";
hash = "sha256-flZfOVY0/xZOL1ZktRGQhRyGAZronLAjpM0zFpc+X1U=";
};
npmDepsHash = "sha256-xzhyYYZLl8pyfK3+MRn35Ffdw/c78v8PjwLlAuQO92g=";
installPhase = ''
runHook preInstall
mkdir $out
cp -v dist/mini-graph-card-bundle.js $out/
runHook postInstall
'';
passthru.entrypoint = "mini-graph-card-bundle.js";
meta = with lib; {
changelog = "https://github.com/kalkih/mini-graph-card/releases/tag/v${version}";
description = "Minimalistic graph card for Home Assistant Lovelace UI";
homepage = "https://github.com/kalkih/mini-graph-card";
maintainers = with maintainers; [ hexa ];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "mini-media-player";
version = "1.16.10";
src = fetchFromGitHub {
owner = "kalkih";
repo = "mini-media-player";
rev = "v${version}";
hash = "sha256-nUZL+zYZoWjhs0Xc/3EeuwewryEl4/g3Dv70Q/85bQc=";
};
npmDepsHash = "sha256-GkkrPeBADjabLiCPvehR6p4Z9LRNgSPInaESd2rLC6U=";
installPhase = ''
runHook preInstall
mkdir $out
cp -v ./dist/mini-media-player-bundle.js $out/
runHook postInstall
'';
passthru.entrypoint = "mini-media-player-bundle.js";
meta = with lib; {
changelog = "https://github.com/kalkih/mini-media-player/releases/tag/v${version}";
description = "Minimalistic media card for Home Assistant Lovelace UI";
homepage = "https://github.com/kalkih/mini-media-player";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}

View File

@@ -0,0 +1,39 @@
{
"name": "multiple-entity-row",
"version": "4.5.1",
"description": "Show multiple entity states, attributes and icons on entity rows in Home Assistant's Lovelace UI",
"keywords": [
"home-assistant",
"homeassistant",
"lovelace",
"custom-cards",
"multiple",
"entity",
"row"
],
"module": "multiple-entity-row.js",
"repository": "https://github.com/benct/lovelace-multiple-entity-row.git",
"author": "benct <ben@tomlin.no>",
"license": "MIT",
"dependencies": {
"custom-card-helpers": "1.8.0",
"lit": "^2.7.4",
"memoize-one": "^6.0.0"
},
"devDependencies": {
"@babel/core": "^7.22.1",
"@babel/preset-env": "^7.22.4",
"babel-loader": "^9.1.2",
"eslint": "^8.41.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
"prettier": "^2.8.8",
"webpack": "^5.84.1",
"webpack-cli": "^5.1.1"
},
"scripts": {
"lint": "eslint src/**/*.js",
"dev": "webpack -c webpack.config.js",
"build": "yarn lint && webpack -c webpack.config.js"
}
}

View File

@@ -0,0 +1,52 @@
{
lib,
mkYarnPackage,
fetchFromGitHub,
fetchYarnDeps,
}:
mkYarnPackage rec {
pname = "multiple-entity-row";
version = "4.5.1";
src = fetchFromGitHub {
owner = "benct";
repo = "lovelace-multiple-entity-row";
rev = "v${version}";
hash = "sha256-CXRgXyH1NUg7ssQhenqP0tXr1m2qOkHna3Rf30K3SjI=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-8YIcQhbYf0e2xO620zVHEk/0sssBmzF/jCq+2za+D6E=";
};
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
install -m0644 ./deps/multiple-entity-row/multiple-entity-row.js $out
runHook postInstall
'';
doDist = false;
meta = with lib; {
description = "Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI";
homepage = "https://github.com/benct/lovelace-multiple-entity-row";
changelog = "https://github.com/benct/lovelace-multiple-entity-row/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "mushroom";
version = "5.0.7";
src = fetchFromGitHub {
owner = "piitaya";
repo = "lovelace-mushroom";
rev = "v${version}";
hash = "sha256-c5Ba+05Goc8BC4oswecVpCXnsqYOih/pJEfYrv4Ajw4=";
};
npmDepsHash = "sha256-GCKyP5xcf8sSFVAwVAtd9e72RWY/DKSmStWtW+5NA7k=";
installPhase = ''
runHook preInstall
mkdir $out
install -m0644 dist/mushroom.js $out
runHook postInstall
'';
meta = with lib; {
changelog = "https://github.com/piitaya/lovelace-mushroom/releases/tag/v${version}";
description = "Mushroom Cards - Build a beautiful dashboard easily";
homepage = "https://github.com/piitaya/lovelace-mushroom";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
};
}

View File

@@ -0,0 +1,110 @@
{
lib,
stdenv,
fetchFromGitHub,
bun,
nodejs-slim,
writableTmpDirAsHomeHook,
}:
let
pname = "navbar-card";
version = "0.18.1";
src = fetchFromGitHub {
owner = "joseluis9595";
repo = "lovelace-navbar-card";
tag = "v${version}";
hash = "sha256-uw90tm8KI7tqZwMNaRuxuIKVXhCLe0wVNisk91jLwwk=";
};
# Create node_modules as a separate derivation
node_modules = stdenv.mkDerivation {
pname = "${pname}-node_modules";
inherit version src;
nativeBuildInputs = [
bun
writableTmpDirAsHomeHook
];
dontConfigure = true;
buildPhase = ''
runHook preBuild
export BUN_INSTALL_CACHE_DIR=$(mktemp -d)
bun install \
--force \
--frozen-lockfile \
--ignore-scripts \
--no-progress \
--production
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/node_modules
cp -R ./node_modules $out
runHook postInstall
'';
# Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-enQSr+HAnoIk2NiuKDx4fmFnIrG0tg23QImicQqDgpk=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
in
stdenv.mkDerivation {
inherit pname version src;
nativeBuildInputs = [
bun
nodejs-slim
];
configurePhase = ''
runHook preConfigure
# Copy node_modules from the separate derivation
cp -R ${node_modules}/node_modules .
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
# Build the project using bun
bun build src/navbar-card.ts --outfile=dist/navbar-card.js --target=browser
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp ./dist/navbar-card.js $out
runHook postInstall
'';
passthru.entrypoint = "navbar-card.js";
meta = {
description = "Navbar Card for Home Assistant's Lovelace UI - easily navigate through dashboards";
homepage = "https://github.com/joseluis9595/lovelace-navbar-card";
changelog = "https://github.com/joseluis9595/lovelace-navbar-card/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jamiemagee ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
fetchurl,
}:
buildNpmPackage (finalAttrs: {
pname = "opensprinkler-card";
version = "1.13.2";
src = fetchFromGitHub {
owner = "rianadon";
repo = "opensprinkler-card";
tag = "v${finalAttrs.version}";
hash = "sha256-Ds5x/Ktughi1/jO3mSo0yALJoD+okl4W68EYlHqsMEg=";
};
makeCacheWritable = true;
npmDepsHash = "sha256-6zze/SzgZGaFOtGO/aEzX3JO+NdAI1H6nVuvILE74HI=";
installPhase = ''
runHook preInstall
mkdir $out
install -m0644 dist/opensprinkler-card.js $out
runHook postInstall
'';
meta = {
description = "Home Assistant card for collecting OpenSprinkler status";
homepage = "https://github.com/rianadon/opensprinkler-card";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jfly ];
};
})

View File

@@ -0,0 +1,60 @@
{
lib,
buildNpmPackage,
buildGoModule,
fetchFromGitHub,
}:
let
# The node build requires its pinned esbuild version
esbuild = buildGoModule rec {
pname = "esbuild";
version = "0.16.10";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
tag = "v${version}";
hash = "sha256-plcI3p/m1tPODZNcBoP/kc3avO11oXww7NIA9wdX+Pc=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
meta.mainProgram = "esbuild";
};
in
buildNpmPackage rec {
pname = "plotly-graph-card";
version = "3.3.5";
src = fetchFromGitHub {
owner = "dbuezas";
repo = "lovelace-plotly-graph-card";
tag = "v${version}";
hash = "sha256-I0lP0Z0tUiuJ4cC2Ud4uePS8zEZIBNP5X3EEa9ZVQ24=";
};
npmDepsHash = "sha256-CwIx5/kAAY+PAjEkJi7/7NpApzFSoIfuIl7zmsaqicE=";
# for ml-regression-logarithmic
forceGitDeps = true;
makeCacheWritable = true;
# custom pinned esbuild version
env.ESBUILD_BINARY_PATH = lib.getExe esbuild;
installPhase = ''
install -d $out
install -m0644 dist/plotly-graph-card.js $out/
'';
meta = {
description = "Highly customisable Lovelace card to plot interactive graphs. Brings scrolling, zooming, and much more";
homepage = "https://github.com/dbuezas/lovelace-plotly-graph-card";
changelog = "https://github.com/dbuezas/lovelace-plotly-graph-card/releases/tag/${src.tag}";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage (finalAttrs: {
pname = "restriction-card";
version = "1.2.19";
src = fetchFromGitHub {
owner = "iantrich";
repo = "restriction-card";
tag = finalAttrs.version;
hash = "sha256-2scUSEpDPrMoos/QuOqXARAf1IL8P4gJaga7LRQ/67U=";
};
npmDepsHash = "sha256-9Hz+7Q4i5baIWxVIo6e8d5isvZWnJW2947q5Uk0Gm9w=";
installPhase = ''
runHook preInstall
mkdir $out
install -m0644 dist/restriction-card.js $out
runHook postInstall
'';
meta = {
changelog = "https://github.com/iantrich/restriction-card/releases/tag/${finalAttrs.src.tag}";
description = "Apply restrictions to Lovelace cards";
homepage = "https://github.com/iantrich/restriction-card";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jfly ];
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
}:
stdenv.mkDerivation {
pname = "rmv-card";
version = "0-unstable-2023-10-09";
src = fetchFromGitHub {
owner = "custom-cards";
repo = "rmv-card";
rev = "b0b2af1565bb69b8d304285cae163cb15883c9ab";
hash = "sha256-9chkS4wqkeNqeYGWdG00bwJOdDbsI+9VwWWfH+5TJoY=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir $out
cp rmv-card.js $out/
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Custom card for the RMV component";
homepage = "https://github.com/custom-cards/rmv-card";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "sankey-chart";
version = "3.9.4";
src = fetchFromGitHub {
owner = "MindFreeze";
repo = "ha-sankey-chart";
rev = "v${version}";
hash = "sha256-5G/ji9vt4QIs+zyfdBZwgHTjCDTyX68N0lqfIMVMTN0=";
};
npmDepsHash = "sha256-jlnGmdwQu1AZTDVrH7njgq5/UorDceUhJtFqzo/xLfc=";
installPhase = ''
runHook preInstall
mkdir $out/
cp -v dist/ha-sankey-chart.js $out/sankey-chart.js
runHook postInstall
'';
meta = {
description = "Home Assistant lovelace card to display a sankey chart";
homepage = "https://github.com/MindFreeze/ha-sankey-chart";
changelog = "https://github.com/MindFreeze/ha-sankey-chart/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "swipe-navigation";
version = "1.15.6";
src = fetchFromGitHub {
owner = "zanna-37";
repo = "hass-swipe-navigation";
tag = "v${version}";
hash = "sha256-4DiZ52YFgyddD299rAMzBbmFNyv0SHEFK5H7kWRdWlw=";
};
npmDepsHash = "sha256-uRH3OcPK0iWru4ULZq2NwzbWNsGl8+wFP3ZxeFzr2BM=";
buildPhase = ''
runHook preBuild
npx rollup --config
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp dist/swipe-navigation.js $out
runHook postInstall
'';
meta = with lib; {
changelog = "https://github.com/zanna-37/hass-swipe-navigation/releases/tag/v${version}";
description = "Swipe through Home Assistant Dashboard views on mobile";
homepage = "https://github.com/zanna-37/hass-swipe-navigation";
license = licenses.mit;
maintainers = with maintainers; [ jpinz ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "template-entity-row";
version = "1.4.1";
src = fetchFromGitHub {
owner = "thomasloven";
repo = "lovelace-template-entity-row";
rev = "v${version}";
hash = "sha256-XQxdnRQywWki5mJhmQU5Etz2XSB8jYC32tFGLWb3IXs=";
};
npmDepsHash = "sha256-fJ+2LWXtUH4PiHhoVhMMxdCnCjfH+xzk+vjI44rKF60=";
installPhase = ''
runHook preInstall
mkdir $out
cp template-entity-row.js $out/
runHook postInstall
'';
meta = with lib; {
changelog = "https://github.com/thomasloven/lovelace-template-entity-row/releases/tag/${src.rev}";
description = "Display whatever you want in an entities card row";
homepage = "https://github.com/thomasloven/lovelace-template-entity-row";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,17 @@
diff --git a/rspack.config.js b/rspack.config.js
index 30b7568..dc10273 100644
--- a/rspack.config.js
+++ b/rspack.config.js
@@ -2,11 +2,7 @@
const path = require('path');
const { execSync } = require('child_process');
-let env =
- execSync('git branch --show-current').toString().trim() == 'main'
- ? 'production'
- : 'development';
-env = 'production';
+let env = 'production';
module.exports = {
mode: env,

View File

@@ -0,0 +1,40 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "universal-remote-card";
version = "4.8.1";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "android-tv-card";
rev = version;
hash = "sha256-jyY9x36HIiXpgPbK0Rms+78bP0edxivrm+Fm4znR2F4=";
};
patches = [ ./dont-call-git.patch ];
npmDepsHash = "sha256-gJGdoa4euIq54aTLBl8Dg7aj6YDbyoQzDQ/rfLHH5G8=";
installPhase = ''
runHook preInstall
mkdir $out
cp dist/universal-remote-card.min.js $out
runHook postInstall
'';
passthru.entrypoint = "universal-remote-card.min.js";
meta = with lib; {
description = "Completely customizable universal remote card for Home Assistant. Supports multiple platforms out of the box";
homepage = "https://github.com/Nerwyn/android-tv-card";
license = licenses.asl20;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "vacuum-card";
version = "2.11.0";
src = fetchFromGitHub {
owner = "denysdovhan";
repo = "vacuum-card";
rev = "v${version}";
hash = "sha256-egWseYspxm+zkfFwTEBYQfBox3sswYMuOYqU6oEQTb4=";
};
npmDepsHash = "sha256-dfsKBTJV1QC8pmb/EIh4n5I9CDnOjy7+sPwQA/eLEi0=";
installPhase = ''
runHook preInstall
mkdir $out
cp dist/vacuum-card.js $out
runHook postInstall
'';
passthru.entrypoint = "vacuum-card.js";
meta = with lib; {
description = "Vacuum cleaner card for Home Assistant Lovelace UI";
homepage = "https://github.com/denysdovhan/vacuum-card";
license = licenses.mit;
maintainers = with maintainers; [ baksa ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "lovelace-valetudo-map-card";
version = "2023.04.0";
src = fetchFromGitHub {
owner = "Hypfer";
repo = "lovelace-valetudo-map-card";
rev = "v${version}";
hash = "sha256-owOIbA1tRlnbWJ/p/wAUpeDnz/Wzu+GmUammJ6VFxHc=";
};
patches = [ ./remove-git-dependency.patch ];
npmDepsHash = "sha256-xHHbOt9HW+zJAhHEDy2V5eYyLv4e3OrUbnzqeJasSng=";
installPhase = ''
runHook preInstall
mkdir $out
cp dist/valetudo-map-card.js $out
runHook postInstall
'';
passthru.entrypoint = "valetudo-map-card.js";
meta = with lib; {
description = "Display the map from a valetudo-enabled robot in a home assistant dashboard card";
homepage = "https://github.com/Hypfer/lovelace-valetudo-map-card";
license = licenses.mit;
maintainers = with maintainers; [ k900 ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,64 @@
diff --git a/package-lock.json b/package-lock.json
index cce05ba..36020f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "lovelace-valetudo-map-card",
- "version": "2022.08.0",
+ "version": "2023.04.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "lovelace-valetudo-map-card",
- "version": "2022.08.0",
+ "version": "2023.04.0",
"license": "MIT",
"dependencies": {
"custom-card-helpers": "1.9.0"
@@ -21,7 +21,6 @@
"eslint-plugin-jsdoc": "39.3.0",
"eslint-plugin-regexp": "1.7.0",
"eslint-plugin-sort-keys-fix": "1.1.2",
- "eslint-plugin-sort-requires": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#2.1.1",
"pako": "2.0.4",
"rollup": "2.58.0",
"rollup-plugin-babel": "4.4.0",
@@ -1596,12 +1595,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/eslint-plugin-sort-requires": {
- "version": "2.1.0",
- "resolved": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#3e216dd9e9589b87671a3e7bf4084a0bd96e920e",
- "dev": true,
- "license": "MIT"
- },
"node_modules/eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
@@ -4358,11 +4351,6 @@
}
}
},
- "eslint-plugin-sort-requires": {
- "version": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#3e216dd9e9589b87671a3e7bf4084a0bd96e920e",
- "dev": true,
- "from": "eslint-plugin-sort-requires@git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#2.1.1"
- },
"eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
diff --git a/package.json b/package.json
index 85a9d35..d8c6865 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,6 @@
"eslint-plugin-jsdoc": "39.3.0",
"eslint-plugin-regexp": "1.7.0",
"eslint-plugin-sort-keys-fix": "1.1.2",
- "eslint-plugin-sort-requires": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#2.1.1",
"@typescript-eslint/eslint-plugin": "5.25.0",
"@typescript-eslint/experimental-utils": "5.25.0",
"@typescript-eslint/parser": "5.25.0",

View File

@@ -0,0 +1,37 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "versatile-thermostat-ui-card";
version = "1.1.3";
src = fetchFromGitHub {
owner = "jmcollin78";
repo = "versatile-thermostat-ui-card";
rev = "${version}";
hash = "sha256-yPp478uXiRWDH4DP/d0Mloie7nPY1hWLt8X1vLhysvA=";
};
npmFlags = [ "--legacy-peer-deps" ];
npmDepsHash = "sha256-TlJGO0kw3+8ukT1DERp/xDwmeSu0ofP5mqrmXmGcF2M=";
installPhase = ''
runHook preInstall
mkdir $out
install -m0644 dist/versatile-thermostat-ui-card.js $out
runHook postInstall
'';
meta = with lib; {
changelog = "https://github.com/jmcollin78/versatile-thermostat-ui-card/releases/tag/${version}";
description = "Home Assistant card for the Versatile Thermostat integration";
homepage = "https://github.com/jmcollin78/versatile-thermostat-ui-card";
license = licenses.mit;
maintainers = with maintainers; [ pwoelfel ];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "weather-card";
version = "2.0.0b0";
src = fetchFromGitHub {
owner = "bramkragten";
repo = "weather-card";
tag = "v${version}";
hash = "sha256-139OhAHxulXovyywBuz552lmDqoV7aLHKKNb81dOKDo=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir $out
cp dist/weather-card.js $out/
runHook postInstall
'';
meta = {
description = "Weather Card with animated icons for Home Assistant Lovelace";
homepage = "https://github.com/bramkragten/weather-card";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ matthiasbeyer ];
platforms = lib.platforms.all;
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
fetchNpmDeps,
}:
buildNpmPackage rec {
pname = "weather-chart-card";
version = "2.4.11";
src = fetchFromGitHub {
owner = "mlamberts78";
repo = "weather-chart-card";
rev = "V${version}";
hash = "sha256-JF7+XataMdUIGXfonF4XlZGitY9kqKony/U0/yw5jUA=";
};
postPatch = ''
rm -rf dist
ln -s ${./package-lock.json} ./package-lock.json
'';
npmDeps = fetchNpmDeps {
inherit src postPatch;
hash = "sha256-OJF8N7vPLRX0ec5gaQKAxLR227uoeuAU5z+QVNyOeTY=";
};
installPhase = ''
mkdir $out
cp -R dist/* $out/
'';
meta = {
description = "Custom weather card with charts";
homepage = "https://github.com/mlamberts78/weather-chart-card";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,25 @@
{
"name": "zigbee2mqtt-networkmap",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"vue": "^2.7.15"
},
"devDependencies": {
"@babel/core": "^7.26.0",
"@babel/eslint-parser": "^7.25.9",
"@material/mwc-button": "^0.27.0",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@vue/eslint-config-standard": "^8.0.1",
"eslint": "^8.57.1",
"eslint-plugin-vue": "^9.32.0",
"lodash.isequal": "^4.5.0",
"vue-d3-network": "^0.1.28"
}
}

View File

@@ -0,0 +1,66 @@
{
lib,
fetchFromGitHub,
fetchYarnDeps,
mkYarnPackage,
}:
mkYarnPackage rec {
pname = "zigbee2mqtt-networkmap";
version = "0.10.0";
src = fetchFromGitHub {
owner = "azuwis";
repo = "zigbee2mqtt-networkmap";
rev = "v${version}";
hash = "sha256-S4iUTjI+pFfa8hg1/lJSI1tl2nEIh+LO2WTYhWWLh/s=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-yo+K3vUJH6WwyNj/UuvbhhmhdqzJ3XUzX+cKUueutjE=";
};
configurePhase = ''
runHook preConfigure
cp -r $node_modules node_modules
chmod +w node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp -v dist/zigbee2mqtt-networkmap.js $out/
runHook postInstall
'';
dontFixup = true;
doDist = false;
passthru.entrypoint = "zigbee2mqtt-networkmap.js";
passthru.updateScript = ./update.sh;
meta = with lib; {
changelog = "https://github.com/azuwis/zigbee2mqtt-networkmap/releases/tag/v${version}";
description = "Home Assistant Custom Card to show Zigbee2mqtt network map";
homepage = "https://github.com/azuwis/zigbee2mqtt-networkmap";
maintainers = with maintainers; [ azuwis ];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
set -xe
dirname="$(dirname "$0")"
# nix-update picks the wrong file `pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix`
nix-update --override-filename "$dirname/package.nix" home-assistant-custom-lovelace-modules.zigbee2mqtt-networkmap
# update package.json
source=$(nix-build -A home-assistant-custom-lovelace-modules.zigbee2mqtt-networkmap.src)
cp "$source/package.json" "$dirname/package.json"