summary refs log tree commit diff
path: root/pkgs/tools/misc/esphome/update.nix
blob: 6b05162f3955f548497b6ed7316de820532735c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{ 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
''