fix avahi

This commit is contained in:
mjallen18
2026-03-31 13:33:42 -05:00
parent 6ca55504f0
commit bd799661b9
59 changed files with 3758 additions and 3829 deletions

View File

@@ -1,21 +1,26 @@
{
buildHomeAssistantComponent,
fetchFromGitHub,
pkgs,
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
...
}:
buildHomeAssistantComponent rec {
owner = "adamoutler";
domain = "anycubic_wifi";
version = "HACS-10";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "anycubic-homeassistant";
rev = version;
hash = "sha256-TfZadwgdEJR11MaL+nfIgEYld3trWg3v6lOHSoxQ98Q=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.anycubic;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "anycubic_wifi";
inherit version;
src = sources.anycubic;
nativeBuildInputs = [ pkgs.${namespace}.uart-wifi ];

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "HACS-10"
},
"sources": {
"anycubic": {
"fetcher": "github",
"owner": "adamoutler",
"repo": "anycubic-homeassistant",
"tag": "HACS-10",
"hash": "sha256-TfZadwgdEJR11MaL+nfIgEYld3trWg3v6lOHSoxQ98Q="
}
}
}

View File

@@ -1,20 +1,27 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "greghesp";
domain = "bambu_lab";
version = "v2.2.21";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "ha-bambulab";
tag = version;
hash = "sha256-56aAJAsmn+PzLZijFQ9DbTfHSrbeNk+OM/ibu32UHtg=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.bambu_lab;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "bambu_lab";
inherit version;
src = sources.bambu_lab;
nativeBuildInputs = with home-assistant.python.pkgs; [
beautifulsoup4

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "v2.2.21"
},
"sources": {
"bambu_lab": {
"fetcher": "github",
"owner": "greghesp",
"repo": "ha-bambulab",
"tag": "v2.2.21",
"hash": "sha256-56aAJAsmn+PzLZijFQ9DbTfHSrbeNk+OM/ibu32UHtg="
}
}
}

View File

@@ -1,20 +1,27 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "natekspencer";
domain = "bedjet";
version = "2.0.1";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "ha-bedjet";
tag = version;
hash = "sha256-FAuL3A8wtGwt+GM180A7wMlIvJvGoLmxNLCtnomxV3o=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.bedjet;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "bedjet";
inherit version;
src = sources.bedjet;
nativeBuildInputs = with home-assistant.python.pkgs; [
beautifulsoup4

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "2.0.1"
},
"sources": {
"bedjet": {
"fetcher": "github",
"owner": "natekspencer",
"repo": "ha-bedjet",
"tag": "2.0.1",
"hash": "sha256-FAuL3A8wtGwt+GM180A7wMlIvJvGoLmxNLCtnomxV3o="
}
}
}

View File

@@ -1,22 +1,27 @@
{
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
pkgs,
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "simbaja";
domain = "ge_home";
version = "v2026.2.0";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "ha_gehome";
tag = version;
hash = "sha256-7c2GfTagNsIsSiT/sCqSV+BZZJMcvlsecDD+ZDZx9BA=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.ge_home;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "ge_home";
inherit version;
src = sources.ge_home;
# gehomesdk and magicattr must be built against HA's Python
dependencies = with pkgs.${namespace}; [

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "v2026.2.0"
},
"sources": {
"ge_home": {
"fetcher": "github",
"owner": "simbaja",
"repo": "ha_gehome",
"tag": "v2026.2.0",
"hash": "sha256-7c2GfTagNsIsSiT/sCqSV+BZZJMcvlsecDD+ZDZx9BA="
}
}
}

View File

@@ -1,29 +1,36 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "LaggAt";
domain = "govee";
version = "2025.7.1";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "hacs-govee";
rev = version;
hash = "sha256-3SnYjjQU2qRBcKs40bCpN75Ad3HqMcn/hRj1faSSeHw=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.govee;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "govee";
inherit version;
src = sources.govee;
nativeBuildInputs = with home-assistant.python.pkgs; [
dacite
];
meta = {
changelog = "https://github.com/${owner}/hacs-govee/releases/tag/${version}";
changelog = "https://github.com/${src-meta.owner}/hacs-govee/releases/tag/${version}";
description = "The Govee integration allows you to control and monitor lights and switches using the Govee API.";
homepage = "https://github.com/${owner}/hacs-govee";
homepage = "https://github.com/${src-meta.owner}/hacs-govee";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "2025.7.1"
},
"sources": {
"govee": {
"fetcher": "github",
"owner": "LaggAt",
"repo": "hacs-govee",
"tag": "2025.7.1",
"hash": "sha256-3SnYjjQU2qRBcKs40bCpN75Ad3HqMcn/hRj1faSSeHw="
}
}
}

View File

@@ -1,20 +1,27 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "gcobb321";
domain = "icloud3";
version = "v3.3.4.4";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "icloud3";
rev = "${version}";
hash = "sha256-B63iY4OC00PGXx/3aq/rkiO0xK11hXz66KaglwmgxIk=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.icloud3;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "icloud3";
inherit version;
src = sources.icloud3;
nativeBuildInputs = with home-assistant.python.pkgs; [
fido2

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "v3.3.4.4"
},
"sources": {
"icloud3": {
"fetcher": "github",
"owner": "gcobb321",
"repo": "icloud3",
"tag": "v3.3.4.4",
"hash": "sha256-B63iY4OC00PGXx/3aq/rkiO0xK11hXz66KaglwmgxIk="
}
}
}

View File

@@ -1,20 +1,27 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "acon96";
domain = "llama_conversation";
version = "v0.4.6";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "home-llm";
rev = version;
hash = "sha256-QmpyqNRhmnqFNiKPHm8GKuvZhbuYWDLck3eFC9MlIKQ=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.llama_conversation;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "llama_conversation";
inherit version;
src = sources.llama_conversation;
nativeBuildInputs = with home-assistant.python.pkgs; [
anthropic

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "v0.4.6"
},
"sources": {
"llama_conversation": {
"fetcher": "github",
"owner": "acon96",
"repo": "home-llm",
"tag": "v0.4.6",
"hash": "sha256-QmpyqNRhmnqFNiKPHm8GKuvZhbuYWDLck3eFC9MlIKQ="
}
}
}

View File

@@ -1,20 +1,27 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "moralmunky";
domain = "mail_and_packages";
version = "0.5.0";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "Home-Assistant-Mail-And-Packages";
tag = version;
hash = "sha256-Am3EYkSYCQuYJmm6xdUwCa0h/ldk4hwTxRTxc0BU2j8=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.mail_and_packages;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "mail_and_packages";
inherit version;
src = sources.mail_and_packages;
nativeBuildInputs = with home-assistant.python.pkgs; [
aioimaplib

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.5.0"
},
"sources": {
"mail_and_packages": {
"fetcher": "github",
"owner": "moralmunky",
"repo": "Home-Assistant-Mail-And-Packages",
"tag": "0.5.0",
"hash": "sha256-Am3EYkSYCQuYJmm6xdUwCa0h/ldk4hwTxRTxc0BU2j8="
}
}
}

View File

@@ -1,22 +1,38 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.nanokvm;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
# python-nanokvm must be built against HA's Python interpreter.
# Re-use the source from its own version.json to avoid duplication.
nanokvm-ver = importJSON ../../python/python-nanokvm/version.json;
nanokvm-selected = selectVariant nanokvm-ver null null;
nanokvm-sources = mkAllSources pkgs nanokvm-selected;
python3Packages = home-assistant.python.pkgs;
python-nanokvm = python3Packages.buildPythonPackage rec {
python-nanokvm = python3Packages.buildPythonPackage {
pname = "nanokvm";
version = "0.1.0";
version =
if nanokvm-selected.sources."python-nanokvm" ? tag then
nanokvm-selected.sources."python-nanokvm".tag
else
nanokvm-selected.sources."python-nanokvm".rev;
format = "pyproject";
src = fetchFromGitHub {
owner = "puddly";
repo = "python-${pname}";
rev = "v${version}";
sha256 = "sha256-vIxvQtjaInnWQce7syiOWpP2kaw0IVw03HPovnB2J5M=";
};
src = nanokvm-sources."python-nanokvm";
prePatch = ''
rm -f pyproject.toml
@@ -50,9 +66,7 @@ let
EOF
'';
buildInputs = with python3Packages; [
setuptools
];
buildInputs = with python3Packages; [ setuptools ];
propagatedBuildInputs = with python3Packages; [
aiohttp
@@ -66,21 +80,14 @@ let
doCheck = false;
};
in
buildHomeAssistantComponent rec {
owner = "Wouter0100";
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "nanokvm";
version = "v0.0.4";
inherit version;
src = fetchFromGitHub {
owner = owner;
repo = "homeassistant-nanokvm";
rev = "bdd2ca39d8050e4b38bb7917ee4034f2fcd49471";
hash = "sha256-S6g9mfPEixqeGQkXVK8PZJ/dnEC5ThKtbELAIAhCANM=";
};
src = sources.nanokvm;
propagatedBuildInputs = [
python-nanokvm
];
propagatedBuildInputs = [ python-nanokvm ];
postPatch = ''
substituteInPlace custom_components/nanokvm/manifest.json \

View File

@@ -0,0 +1,18 @@
{
"schemaVersion": 1,
"variables": {
"version": "v0.0.4"
},
"sources": {
"nanokvm": {
"fetcher": "github",
"owner": "Wouter0100",
"repo": "homeassistant-nanokvm",
"rev": "bdd2ca39d8050e4b38bb7917ee4034f2fcd49471",
"hash": "sha256-S6g9mfPEixqeGQkXVK8PZJ/dnEC5ThKtbELAIAhCANM="
}
},
"notes": {
"hint": "The nanokvm component embeds a vendored copy of python-nanokvm. The dep is tracked separately in packages/python/python-nanokvm/version.json."
}
}

View File

@@ -1,22 +1,29 @@
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
fetchFromGitHub,
home-assistant,
...
}:
buildHomeAssistantComponent rec {
owner = "HASwitchPlate";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.openhasp;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "openhasp";
version = "0.7.8";
inherit version;
src = fetchFromGitHub {
owner = owner;
repo = "openHASP-custom-component";
rev = version;
hash = "sha256-5h1EqwpnsmWexqB3J/X4OcN9bfBYUxGxLF1Hrmoi5LY=";
};
src = sources.openhasp;
# Use HA's own Python (3.14) packages to satisfy the manifest check for jsonschema
# Use HA's own Python packages to satisfy the manifest check for jsonschema
nativeBuildInputs = [ home-assistant.python.pkgs.jsonschema ];
meta = {

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.7.8"
},
"sources": {
"openhasp": {
"fetcher": "github",
"owner": "HASwitchPlate",
"repo": "openHASP-custom-component",
"tag": "0.7.8",
"hash": "sha256-5h1EqwpnsmWexqB3J/X4OcN9bfBYUxGxLF1Hrmoi5LY="
}
}
}

View File

@@ -1,21 +1,26 @@
{
buildHomeAssistantComponent,
fetchFromGitHub,
pkgs,
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
...
}:
buildHomeAssistantComponent rec {
owner = "vaparr";
domain = "overseerr";
version = "0.1.42";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "ha-overseerr";
rev = version;
hash = "sha256-UvUowCgfay9aRV+iC/AQ9vvJzhGZbH+/1kVjxPFBKcI=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.overseerr;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "overseerr";
inherit version;
src = sources.overseerr;
nativeBuildInputs = [ pkgs.${namespace}.pyoverseerr ];

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.1.42"
},
"sources": {
"overseerr": {
"fetcher": "github",
"owner": "vaparr",
"repo": "ha-overseerr",
"tag": "0.1.42",
"hash": "sha256-UvUowCgfay9aRV+iC/AQ9vvJzhGZbH+/1kVjxPFBKcI="
}
}
}

View File

@@ -1,15 +1,26 @@
{ buildHomeAssistantComponent, fetchFromGitHub, ... }:
buildHomeAssistantComponent rec {
owner = "jjjonesjr33";
domain = "petlibro";
version = "v1.2.30.7";
{
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "petlibro";
rev = version;
hash = "sha256-+zmeUQHRXrBYQ5pEWLAtu9TZ8ELiwCLliRPktKlpI8k=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.petlibro;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "petlibro";
inherit version;
src = sources.petlibro;
meta = {
changelog = "https://github.com/jjjonesjr33/petlibro/releases/tag/${version}";

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "v1.2.30.7"
},
"sources": {
"petlibro": {
"fetcher": "github",
"owner": "jjjonesjr33",
"repo": "petlibro",
"tag": "v1.2.30.7",
"hash": "sha256-+zmeUQHRXrBYQ5pEWLAtu9TZ8ELiwCLliRPktKlpI8k="
}
}
}

View File

@@ -1,21 +1,26 @@
{
buildHomeAssistantComponent,
fetchFromGitHub,
pkgs,
lib,
namespace,
pkgs,
buildHomeAssistantComponent,
...
}:
buildHomeAssistantComponent rec {
owner = "SecKatie";
domain = "wyzeapi";
version = "0.1.36";
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
src = fetchFromGitHub {
owner = owner;
repo = "ha-wyzeapi";
rev = version;
hash = "sha256-4i5Ne3LYV7DXn6F6e5MCVZhIdDYR7fe3tT2GeSmYb/k=";
};
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.wyzeapi;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;
domain = "wyzeapi";
inherit version;
src = sources.wyzeapi;
# wyzeapy must be built against HA's Python; pkgs.mjallen.wyzeapy uses home-assistant.python
dependencies = [ pkgs.${namespace}.wyzeapy ];

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.1.36"
},
"sources": {
"wyzeapi": {
"fetcher": "github",
"owner": "SecKatie",
"repo": "ha-wyzeapi",
"tag": "0.1.36",
"hash": "sha256-4i5Ne3LYV7DXn6F6e5MCVZhIdDYR7fe3tT2GeSmYb/k="
}
}
}

View File

@@ -1,24 +1,38 @@
{ pkgs, fetchPypi, ... }:
pkgs.python3Packages.buildPythonPackage rec {
pname = "homeassistant_api";
version = "5.0.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-UNKTtgInrVJtjHb1WVlUbcbhjBOtTX00eHmm54ww0rY=";
};
{
lib,
namespace,
pkgs,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
version = selected.variables.version;
in
pkgs.python3Packages.buildPythonPackage {
pname = "homeassistant_api";
inherit version;
format = "pyproject";
src = sources.homeassistant_api;
# do not run tests
doCheck = false;
nativeBuildInputs = with pkgs.python3Packages; [
poetry-core
requests-cache
];
dependencies = with pkgs.python3Packages; [
requests-cache
pydantic
websockets
];
propagatedBuildInputs = with pkgs.python3Packages; [
aiohttp
aiohttp-client-cache
@@ -28,11 +42,13 @@ pkgs.python3Packages.buildPythonPackage rec {
simplejson
websockets
];
pythonRelaxDeps = [
"requests-cache"
"pydantic"
"websockets"
];
pythonImportsCheck = [
"homeassistant_api"
];

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"variables": {
"version": "5.0.0"
},
"sources": {
"homeassistant_api": {
"fetcher": "pypi",
"name": "homeassistant_api",
"hash": "sha256-UNKTtgInrVJtjHb1WVlUbcbhjBOtTX00eHmm54ww0rY="
}
}
}

View File

@@ -18,12 +18,12 @@
"cachyos": {
"variables": {
"base": "10.0",
"release": "20260227",
"release": "20260324",
"tarballSuffix": "-x86_64.tar.xz"
},
"sources": {
"proton": {
"hash": "sha256-kayS0zpBIL2jOM7jxkI0LyhYShQFGCKPdRyiJVOxf6c="
"hash": "sha256-vswYkpHuXj/YqfjCj+x779SSOsoOCEeZfr99pi1Mfj0="
}
}
},
@@ -42,24 +42,24 @@
"cachyos-v3": {
"variables": {
"base": "10.0",
"release": "20260227",
"release": "20260324",
"tarballSuffix": "-x86_64_v3.tar.xz"
},
"sources": {
"proton": {
"hash": "sha256-LI3/Hqe7oNYv5dC5jNz7c+HHNzifeON/bnt6jmD2DRA="
"hash": "sha256-158b49/TPuYD4kRC9YCd/obVjv1JUBpDIsjjeUP/RRw="
}
}
},
"cachyos-v4": {
"variables": {
"base": "10.0",
"release": "20260227",
"release": "20260324",
"tarballSuffix": "-x86_64_v4.tar.xz"
},
"sources": {
"proton": {
"hash": "sha256-kcWSmF+qwClI4qUkv3ShVBQ6plQ8q3jyo59o5uN4ueM="
"hash": "sha256-qHNpSh2VneqiwLRYqjR/YRV6HPj1L51u13xNu70tyBw="
}
}
},

View File

@@ -1,15 +1,25 @@
{ python3Packages, fetchFromGitHub, ... }:
python3Packages.buildPythonPackage rec {
{
lib,
namespace,
pkgs,
python3Packages,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources."comfy-aimdo";
in
python3Packages.buildPythonPackage {
pname = "comfy-aimdo";
version = "0.1.7";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "pyproject";
# Comfy-Org/comfy-aimdo/releases/tag/v0.1.7
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "comfy-aimdo";
rev = "v${version}";
sha256 = "sha256-RNORTKtnTHZ4lcEx5gM3jSr+ZffrV8cd+x74NeRhlsM=";
};
src = sources."comfy-aimdo";
buildInputs = with python3Packages; [
setuptools

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.1.7"
},
"sources": {
"comfy-aimdo": {
"fetcher": "github",
"owner": "Comfy-Org",
"repo": "comfy-aimdo",
"tag": "v0.1.7",
"hash": "sha256-RNORTKtnTHZ4lcEx5gM3jSr+ZffrV8cd+x74NeRhlsM="
}
}
}

View File

@@ -1,12 +1,25 @@
{ python3Packages, fetchurl, ... }:
python3Packages.buildPythonPackage rec {
{
lib,
namespace,
pkgs,
python3Packages,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
version = selected.variables.version;
in
python3Packages.buildPythonPackage {
pname = "comfy-kitchen";
version = "0.2.7";
inherit version;
format = "wheel";
# https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl
src = fetchurl {
url = "https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl";
sha256 = "sha256-+PqlebadMx0vHqwJ6WqVWGwqa5WKVLwZ5/HBp3hS3TY=";
};
src = sources."comfy-kitchen";
doCheck = false;
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.2.7"
},
"sources": {
"comfy-kitchen": {
"fetcher": "url",
"url": "https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl",
"hash": "sha256-+PqlebadMx0vHqwJ6WqVWGwqa5WKVLwZ5/HBp3hS3TY="
}
}
}

View File

@@ -1,17 +1,25 @@
{
lib,
namespace,
pkgs,
home-assistant,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
home-assistant.python.pkgs.buildPythonPackage rec {
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
version = selected.variables.version;
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "gehomesdk";
version = "2026.2.0";
inherit version;
pyproject = true;
src = home-assistant.python.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-+BWGkUDKd+9QGbdXuLjmJxLm1xUv0dpIRlPlDkUJ25w=";
};
src = sources.gehomesdk;
build-system = with home-assistant.python.pkgs; [ setuptools ];

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"variables": {
"version": "2026.2.0"
},
"sources": {
"gehomesdk": {
"fetcher": "pypi",
"name": "gehomesdk",
"hash": "sha256-+BWGkUDKd+9QGbdXuLjmJxLm1xUv0dpIRlPlDkUJ25w="
}
}
}

View File

@@ -1,20 +1,25 @@
{
fetchFromGitHub,
lib,
namespace,
pkgs,
home-assistant,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
home-assistant.python.pkgs.buildPythonPackage rec {
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.magicattr;
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "magicattr";
version = "0.1.6";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "setuptools";
src = fetchFromGitHub {
owner = "frmdstryr";
repo = pname;
rev = "master";
sha256 = "sha256-FJtWU5AuunZbdlndGdfD1c9/0s7oRdoTi202pWjuAd8=";
};
src = sources.magicattr;
build-system = [ home-assistant.python.pkgs.setuptools ];
doCheck = false;

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"sources": {
"magicattr": {
"fetcher": "github",
"owner": "frmdstryr",
"repo": "magicattr",
"rev": "master",
"hash": "sha256-FJtWU5AuunZbdlndGdfD1c9/0s7oRdoTi202pWjuAd8="
}
}
}

View File

@@ -1,15 +1,25 @@
{ python3Packages, fetchFromGitHub, ... }:
python3Packages.buildPythonPackage rec {
{
lib,
namespace,
pkgs,
python3Packages,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources."pipewire-python";
in
python3Packages.buildPythonPackage {
pname = "pipewire-python";
version = "0.2.3";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "pyproject";
src = fetchFromGitHub {
owner = "pablodz";
repo = "pipewire_python";
rev = "v${version}";
sha256 = "sha256-6UIu7vke40q+n91gU8YxwMV/tWjLT6iDmHCMVqnXdMY=";
};
src = sources."pipewire-python";
buildInputs = with python3Packages; [ flit-core ];
nativeBuildInputs = with python3Packages; [

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.2.3"
},
"sources": {
"pipewire-python": {
"fetcher": "github",
"owner": "pablodz",
"repo": "pipewire_python",
"tag": "v0.2.3",
"hash": "sha256-6UIu7vke40q+n91gU8YxwMV/tWjLT6iDmHCMVqnXdMY="
}
}
}

View File

@@ -1,15 +1,25 @@
{ fetchFromGitHub, home-assistant, ... }:
home-assistant.python.pkgs.buildPythonPackage rec {
{
lib,
namespace,
pkgs,
home-assistant,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.pyoverseerr;
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "pyoverseerr";
version = "0.1.40";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "setuptools";
src = fetchFromGitHub {
owner = "vaparr";
repo = pname;
rev = "master";
sha256 = "sha256-sWYe6EV/IO/tGGXcnKiebb47eidIj0xnM/aZUfdZXyY=";
};
src = sources.pyoverseerr;
build-system = [ home-assistant.python.pkgs.setuptools ];
doCheck = false; # no tests in the PyPI tarball

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"sources": {
"pyoverseerr": {
"fetcher": "github",
"owner": "vaparr",
"repo": "pyoverseerr",
"rev": "master",
"hash": "sha256-sWYe6EV/IO/tGGXcnKiebb47eidIj0xnM/aZUfdZXyY="
}
}
}

View File

@@ -1,19 +1,25 @@
{
lib,
namespace,
pkgs,
python3Packages,
fetchFromGitHub,
...
}:
python3Packages.buildPythonPackage rec {
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources."python-nanokvm";
in
python3Packages.buildPythonPackage {
pname = "nanokvm";
version = "0.1.0";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "pyproject";
src = fetchFromGitHub {
owner = "puddly";
repo = "python-${pname}";
rev = "v${version}";
sha256 = "sha256-vIxvQtjaInnWQce7syiOWpP2kaw0IVw03HPovnB2J5M=";
};
src = sources."python-nanokvm";
prePatch = ''
rm -f pyproject.toml

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.1.0"
},
"sources": {
"python-nanokvm": {
"fetcher": "github",
"owner": "puddly",
"repo": "python-nanokvm",
"tag": "v0.1.0",
"hash": "sha256-vIxvQtjaInnWQce7syiOWpP2kaw0IVw03HPovnB2J5M="
}
}
}

View File

@@ -1,14 +1,26 @@
{ python3Packages, fetchPypi, ... }:
{
lib,
namespace,
pkgs,
python3Packages,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
python3Packages.buildPythonPackage rec {
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources."python-steam";
version = selected.variables.version;
in
python3Packages.buildPythonPackage {
pname = "steam";
version = "1.4.4";
inherit version;
pyproject = false;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-K1vWkRwNSnMS9EG40WK52NR8i+u478bIhnOTsDI/pS4=";
};
src = sources."python-steam";
buildInputs = with python3Packages; [ setuptools ];

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"variables": {
"version": "1.4.4"
},
"sources": {
"python-steam": {
"fetcher": "pypi",
"name": "steam",
"hash": "sha256-K1vWkRwNSnMS9EG40WK52NR8i+u478bIhnOTsDI/pS4="
}
}
}

View File

@@ -1,22 +1,28 @@
{
lib,
fetchFromGitHub,
namespace,
pkgs,
python3Packages,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
python3Packages.buildPythonPackage rec {
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.pyvesync;
version = selected.variables.version;
in
python3Packages.buildPythonPackage {
pname = "pyvesync";
version = "3.4.1";
inherit version;
pyproject = true;
disabled = python3Packages.pythonOlder "3.11";
src = fetchFromGitHub {
owner = "webdjoe";
repo = "pyvesync";
rev = version;
hash = "sha256-iqOKBpP/TYgbs6Tq+eWhxBCu/bHYRELXY7r4zjEXU3Q=";
};
src = sources.pyvesync;
build-system = with python3Packages; [ setuptools ];
@@ -31,7 +37,7 @@ python3Packages.buildPythonPackage rec {
meta = with lib; {
description = "Python library to manage Etekcity Devices and Levoit Air Purifier";
homepage = "https://github.com/webdjoe/pyvesync";
changelog = "https://github.com/webdjoe/pyvesync/releases/tag/${src.tag}";
changelog = "https://github.com/webdjoe/pyvesync/releases/tag/${src-meta.tag}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "3.4.1"
},
"sources": {
"pyvesync": {
"fetcher": "github",
"owner": "webdjoe",
"repo": "pyvesync",
"tag": "3.4.1",
"hash": "sha256-iqOKBpP/TYgbs6Tq+eWhxBCu/bHYRELXY7r4zjEXU3Q="
}
}
}

View File

@@ -1,15 +1,25 @@
{ fetchFromGitHub, home-assistant, ... }:
home-assistant.python.pkgs.buildPythonPackage rec {
{
lib,
namespace,
pkgs,
home-assistant,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.wyzeapy;
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "wyzeapy";
version = "0.5.31";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "pyproject";
src = fetchFromGitHub {
owner = "SecKatie";
repo = "wyzeapy";
rev = "v${version}";
sha256 = "sha256-KDCd1G5Tj0YWM2WA3DJK9rTf1rMzz4qBSUl8FOUbvdM=";
};
src = sources.wyzeapy;
build-system = with home-assistant.python.pkgs; [
poetry-core

View File

@@ -0,0 +1,15 @@
{
"schemaVersion": 1,
"variables": {
"version": "0.5.31"
},
"sources": {
"wyzeapy": {
"fetcher": "github",
"owner": "SecKatie",
"repo": "wyzeapy",
"tag": "v0.5.31",
"hash": "sha256-KDCd1G5Tj0YWM2WA3DJK9rTf1rMzz4qBSUl8FOUbvdM="
}
}
}