summaryrefslogtreecommitdiff
path: root/.envrc
blob: eb8dfa41414f602eae8888f9a8234c14fe1bea52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env bash

export DIRENV_WARN_TIMEOUT=10s

case "$(uname -s)" in
*BSD)
  # mise v # TODO: wait to re-appear on ports
  ;;
*)
  eval "$(devenv direnvrc)"
  export DEVENV_TUI=false
  use devenv

  export CONFIG_MQTT_DEFAULT_HOST="10.0.0.198"
  export LIKEC4_WORKSPACE="${PWD}/docs"

  PULUMI_CONFIG_PASSPHRASE="$(sops -d --extract '["PULUMI_CONFIG_PASSPHRASE"]' secrets.yaml)"
  CONFIG_MQTT_DEFAULT_USERNAME="$(sops -d --extract '["CONFIG_MQTT_DEFAULT_USERNAME"]' secrets.yaml)"
  CONFIG_MQTT_DEFAULT_PASSWORD="$(sops -d --extract '["CONFIG_MQTT_DEFAULT_PASSWORD"]' secrets.yaml)"
  CONFIG_WIFI_CREDENTIALS_STATIC_SSID="$(sops -d --extract '["CONFIG_WIFI_CREDENTIALS_STATIC_SSID"]' secrets.yaml)"
  CONFIG_WIFI_CREDENTIALS_STATIC_PASSWORD="$(sops -d --extract '["CONFIG_WIFI_CREDENTIALS_STATIC_PASSWORD"]' secrets.yaml)"

  export PULUMI_CONFIG_PASSPHRASE
  export CONFIG_MQTT_DEFAULT_USERNAME
  export CONFIG_MQTT_DEFAULT_PASSWORD
  export CONFIG_WIFI_CREDENTIALS_STATIC_SSID
  export CONFIG_WIFI_CREDENTIALS_STATIC_PASSWORD

  # Nix python.withPackages on macOS does not propagate the wrapped env's
  # site-packages to subprocess Python invocations. Twister hits this when
  # spawning `west flash`, causing "Missing jsonschema dependency" exits.
  # Force the wrapped env's site-packages onto PYTHONPATH so subprocess
  # imports resolve. Derived from `west` so it survives Nix store rehashes.
  WEST_PYTHON_PREFIX="$(dirname "$(dirname "$(readlink -f "$(command -v west)")")")"
  export PYTHONPATH="${WEST_PYTHON_PREFIX}/lib/python3.14/site-packages"
  ;;
esac