diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.json b/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.json deleted file mode 100644 index c6c7707172b3..000000000000 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "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" - ] - } -} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.nix index f2d4262a8595..8f71dcce88bf 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/package.nix @@ -1,56 +1,53 @@ { lib, - mkYarnPackage, + stdenv, fetchYarnDeps, fetchFromGitHub, + yarnBuildHook, + yarnConfigHook, + nodejs, + nix-update-script, }: -mkYarnPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "atomic-calendar-revive"; version = "10.0.0"; src = fetchFromGitHub { owner = "totaldebug"; repo = "atomic-calendar-revive"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-TaxvxAUcewQH0IMJ0/VjW4+T6squ1tuZIFGn3PE3jhU="; }; - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { - name = "${pname}-yarn-offline-cache"; - yarnLock = src + "/yarn.lock"; + inherit (finalAttrs) src; hash = "sha256-d3lk3mwgaWMPFl/EDUWH/tUlAC7OfhNycOLbi1GzkfM="; }; - buildPhase = '' - runHook preBuild - - yarn run build - - runHook postBuild - ''; + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + nodejs + ]; installPhase = '' runHook preInstall mkdir $out - cp ./deps/atomic-calendar-revive/dist/atomic-calendar-revive.js $out + cp ./dist/atomic-calendar-revive.js $out runHook postInstall ''; - doDist = false; + passthru.updateScript = nix-update-script { }; - passthru.updateScript = ./update.sh; - - meta = with lib; { - changelog = "https://github.com/totaldebug/atomic-calendar-revive/releases/tag/v${src.rev}"; + meta = { + changelog = "https://github.com/totaldebug/atomic-calendar-revive/releases/tag/v${finalAttrs.version}"; 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; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/update.sh b/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/update.sh deleted file mode 100755 index e3841f2a2feb..000000000000 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/atomic-calendar-revive/update.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/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" diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.json b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.json deleted file mode 100644 index 55bf12512470..000000000000 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "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" - } -} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.nix index e0c4883406cc..adab8aafae02 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.nix @@ -1,53 +1,50 @@ { lib, - mkYarnPackage, + stdenv, fetchYarnDeps, fetchFromGitHub, + yarnBuildHook, + yarnConfigHook, + nodejs, }: -mkYarnPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "button-card"; version = "4.1.2"; src = fetchFromGitHub { owner = "custom-cards"; repo = "button-card"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-Ntg1sNgAehcL2fT0rP0YHzV5q6rB5p1TyFXtbZyB3Vo="; }; - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { - yarnLock = src + "/yarn.lock"; + inherit (finalAttrs) src; hash = "sha256-OFnsRR9zA9D22xBdh4XfLueGVA2ERXmGEp54x0OFDFY="; }; - buildPhase = '' - runHook preBuild - - yarn build - - runHook postBuild - ''; + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + nodejs + ]; installPhase = '' runHook preInstall mkdir $out - cp ./deps/button-card/dist/button-card.js $out + cp ./dist/button-card.js $out runHook postInstall ''; - doDist = false; - - meta = with lib; { + meta = { 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; + changelog = "https://github.com/custom-cards/button-card/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ k900 ]; + platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json deleted file mode 100644 index 28a6d7b3bb86..000000000000 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "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 ", - "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" - } -} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix index 2ece70bd477d..3ff0c62aa1e1 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix @@ -1,52 +1,49 @@ { lib, - mkYarnPackage, + stdenv, fetchFromGitHub, fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + nodejs, }: -mkYarnPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "multiple-entity-row"; version = "4.5.1"; src = fetchFromGitHub { owner = "benct"; repo = "lovelace-multiple-entity-row"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-CXRgXyH1NUg7ssQhenqP0tXr1m2qOkHna3Rf30K3SjI="; }; - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; + inherit (finalAttrs) src; hash = "sha256-8YIcQhbYf0e2xO620zVHEk/0sssBmzF/jCq+2za+D6E="; }; - buildPhase = '' - runHook preBuild - - yarn --offline build - - runHook postBuild - ''; + nativeBuildInputs = [ + yarnBuildHook + yarnConfigHook + nodejs + ]; installPhase = '' runHook preInstall mkdir $out - install -m0644 ./deps/multiple-entity-row/multiple-entity-row.js $out + install -m0644 ./multiple-entity-row.js $out runHook postInstall ''; - doDist = false; - - meta = with lib; { + meta = { 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 ]; + changelog = "https://github.com/benct/lovelace-multiple-entity-row/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; }; -} +}) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json deleted file mode 100644 index e1096d103f1f..000000000000 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "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" - } -} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.nix index 2a16391ef221..36e0f5e8fbf1 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.nix @@ -1,44 +1,35 @@ { lib, + stdenv, fetchFromGitHub, fetchYarnDeps, - mkYarnPackage, + yarnConfigHook, + yarnBuildHook, + nodejs, + nix-update-script, }: -mkYarnPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "zigbee2mqtt-networkmap"; version = "0.10.0"; src = fetchFromGitHub { owner = "azuwis"; repo = "zigbee2mqtt-networkmap"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-S4iUTjI+pFfa8hg1/lJSI1tl2nEIh+LO2WTYhWWLh/s="; }; - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; + inherit (finalAttrs) src; 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 - ''; + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + nodejs + ]; installPhase = '' runHook preInstall @@ -51,16 +42,14 @@ mkYarnPackage rec { dontFixup = true; - doDist = false; - passthru.entrypoint = "zigbee2mqtt-networkmap.js"; - passthru.updateScript = ./update.sh; + passthru.updateScript = nix-update-script { }; - meta = with lib; { - changelog = "https://github.com/azuwis/zigbee2mqtt-networkmap/releases/tag/v${version}"; + meta = { + changelog = "https://github.com/azuwis/zigbee2mqtt-networkmap/releases/tag/v${finalAttrs.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; + maintainers = with lib.maintainers; [ azuwis ]; + license = lib.licenses.mit; }; -} +}) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/update.sh b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/update.sh deleted file mode 100755 index 6370cc85efcc..000000000000 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/update.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/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"