mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
feat(hass): grocy custom component
This commit is contained in:
parent
cc58ac96e5
commit
c3cb52066c
3 changed files with 68 additions and 0 deletions
|
|
@ -42,6 +42,7 @@ in {
|
|||
// {
|
||||
default = elem "androidtv" cfg.extraComponents;
|
||||
};
|
||||
grocy.enable = mkEnableOption "Grocy custom component";
|
||||
brother.enable =
|
||||
mkEnableOption "brother"
|
||||
// {
|
||||
|
|
@ -251,6 +252,9 @@ in {
|
|||
adb-shell
|
||||
androidtvremote2
|
||||
])
|
||||
(mkIf cfg.grocy.enable [
|
||||
(python3Packages.callPackage ../../packages/grocy/pygrocy.nix { })
|
||||
])
|
||||
];
|
||||
extraComponents = mkMerge [
|
||||
[
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ in {
|
|||
prometheus = {};
|
||||
wake_on_lan = {};
|
||||
};
|
||||
grocy.enable = true;
|
||||
extraComponents = [
|
||||
"zha"
|
||||
"esphome"
|
||||
|
|
|
|||
63
packages/grocy/pygrocy.nix
Normal file
63
packages/grocy/pygrocy.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, backports-zoneinfo
|
||||
, deprecation
|
||||
, pydantic
|
||||
, requests
|
||||
, responses
|
||||
, pre-commit
|
||||
, isort
|
||||
, vcrpy
|
||||
, pytest
|
||||
, pytest-recording
|
||||
, pytest-mock
|
||||
, pythonOlder
|
||||
# requires an instance of grocy api running...
|
||||
, doCheckGrocy ? false
|
||||
}: let
|
||||
inherit (lib.lists) optional optionals;
|
||||
inherit (lib.strings) optionalString;
|
||||
in buildPythonPackage rec {
|
||||
pname = "pygrocy";
|
||||
version = "2.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SebRut";
|
||||
repo = "pygrocy";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ijwcdWMeBnYPhrNYt/IxucPvzc+0InudLxJSMVwulNw=";
|
||||
};
|
||||
|
||||
postPatch = optionalString (!doCheckGrocy) ''
|
||||
rm test/test_grocy.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
deprecation
|
||||
pydantic
|
||||
] ++ optional (pythonOlder "3.9") backports-zoneinfo;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pygrocy"
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
pytest-recording
|
||||
pytest-mock
|
||||
] ++ optionals doCheckGrocy [
|
||||
responses
|
||||
pre-commit
|
||||
isort
|
||||
vcrpy
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/SebRut/pygrocy";
|
||||
license = lib.licenses.mit;
|
||||
broken = pythonOlder "3.8";
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue