{ writeShellScript, lib, curl, jq, git, gnugrep, gnused, nix-update, }: writeShellScript "update-esphome" '' PATH=${ lib.makeBinPath [ curl gnugrep gnused jq git nix-update ] } LATEST=$(curl https://api.github.com/repos/esphome/esphome/releases/latest | jq -r '.name') echo "Latest version: $LATEST" DASHBOARD_VERSION=$(curl https://raw.githubusercontent.com/esphome/esphome/$LATEST/requirements.txt | \ grep "esphome-dashboard==" | sed "s/.*=//") echo "Dashboard version: $DASHBOARD_VERSION" nix-update esphome.dashboard --version $DASHBOARD_VERSION nix-update esphome --version $LATEST ''