diff --git a/bundles/homeassistant/items.py b/bundles/homeassistant/items.py index 5751178..f7e5ea2 100644 --- a/bundles/homeassistant/items.py +++ b/bundles/homeassistant/items.py @@ -1,3 +1,9 @@ +if node.has_bundle('pyenv'): + python_version = sorted(node.metadata.get('pyenv/python_versions'))[-1] + python_path = f'/opt/pyenv/versions/{python_version}/bin/python' +else: + python_path = '/usr/bin/python3' + users = { 'homeassistant': { 'home': '/var/opt/homeassistant', @@ -32,7 +38,7 @@ files = { actions = { 'homeassistant_create_virtualenv': { - 'command': 'sudo -u homeassistant /usr/bin/python3 -m virtualenv -p python3 /opt/homeassistant/venv/', + 'command': f'sudo -u homeassistant virtualenv -p {python_path} /opt/homeassistant/venv/', 'unless': 'test -d /opt/homeassistant/venv/', 'needs': { 'directory:/opt/homeassistant', diff --git a/nodes/home.hass.toml b/nodes/home.hass.toml index a6dc1d5..8922404 100644 --- a/nodes/home.hass.toml +++ b/nodes/home.hass.toml @@ -1,7 +1,8 @@ hostname = "172.19.138.25" bundles = [ 'homeassistant', - 'nginx' + 'nginx', + 'pyenv', ] groups = ["debian-bookworm"] @@ -26,5 +27,9 @@ restrict-to = [ '172.19.138.0/24', ] +[metadata.pyenv] +version = 'v2.3.36' +python_versions = ["3.12.2"] + [metadata.nginx.vhosts.homeassistant] ssl = '_.home.kunbox.net'