{"id":14968025,"url":"https://github.com/mirrexagon/nixpkgs-esp-dev","last_synced_at":"2025-05-16T15:09:31.370Z","repository":{"id":37654845,"uuid":"189688299","full_name":"mirrexagon/nixpkgs-esp-dev","owner":"mirrexagon","description":"Nix flake and overlay for ESP8266 and ESP32 development.","archived":false,"fork":false,"pushed_at":"2025-05-08T07:57:19.000Z","size":139,"stargazers_count":191,"open_issues_count":16,"forks_count":90,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-08T08:39:09.041Z","etag":null,"topics":["esp-idf","esp32","esp8266","nix","nixpkgs"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mirrexagon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-01T04:00:43.000Z","updated_at":"2025-05-08T07:57:22.000Z","dependencies_parsed_at":"2023-12-10T00:20:58.155Z","dependency_job_id":"76c19a5e-387e-4145-8385-ac2ff39ff73c","html_url":"https://github.com/mirrexagon/nixpkgs-esp-dev","commit_stats":{"total_commits":93,"total_committers":19,"mean_commits":4.894736842105263,"dds":0.5376344086021505,"last_synced_commit":"e740e017122636ac1dbce9c0e3d867b9947a1687"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrexagon%2Fnixpkgs-esp-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrexagon%2Fnixpkgs-esp-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrexagon%2Fnixpkgs-esp-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirrexagon%2Fnixpkgs-esp-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mirrexagon","download_url":"https://codeload.github.com/mirrexagon/nixpkgs-esp-dev/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp-idf","esp32","esp8266","nix","nixpkgs"],"created_at":"2024-09-24T13:39:07.696Z","updated_at":"2025-05-16T15:09:26.361Z","avatar_url":"https://github.com/mirrexagon.png","language":"Nix","funding_links":[],"categories":["Overlays"],"sub_categories":[],"readme":"# nixpkgs-esp-dev\nESP8266 and ESP32(-C2, -C3, -S2, -S3, -C6, -H2) packages and development environments for Nix.\n\nThis repo contains derivations for ESP-IDF, and most of the toolchains and tools it depends on (compilers for all supported targets, custom OpenOCD for Espressif chips, etc.).\n\nReleased into the public domain via CC0 (see `COPYING`).\n\n\n## Getting started\n### `nix develop`\nThe easiest way to get started is to run one of these commands to get a development shell, without even needing to download the repository (requires Nix 2.4 or later):\n\n- `nix --experimental-features 'nix-command flakes' develop github:mirrexagon/nixpkgs-esp-dev#esp32-idf`: for ESP32 development with [esp-idf](https://github.com/espressif/esp-idf).\n    - Includes the ESP32 toolchain, and downloads and sets up ESP-IDF with everything ready to use `idf.py`.\n- `nix --experimental-features 'nix-command flakes' develop github:mirrexagon/nixpkgs-esp-dev#esp8266-rtos-sdk`: for ESP8266 development with [ESP8266_RTOS_SDK](https://github.com/espressif/ESP8266_RTOS_SDK).\n    - Includes the ESP8266 toolchain, ESP8266_RTOS_SDK, and esptool.\n- `nix --experimental-features 'nix-command flakes' develop github:mirrexagon/nixpkgs-esp-dev#esp8266-nonos-sdk`: for ESP8266 development with [ESP8266_NONOS_SDK](https://github.com/espressif/ESP8266_NONOS_SDK).\n    - Includes the ESP8266 toolchain, ESP8266_NONOS_SDK, and esptool.\n\nThe list of available shells (to go after the `#` in the command) are:\n\n- `esp-idf-full`: Includes toolchains for _all_ supported ESP32 chips (no ESP8266).\n- `esp32-idf`: Includes toolchain for the ESP32.\n- `esp32c2-idf`: Includes toolchain for the ESP32-C2.\n- `esp32c3-idf`: Includes toolchain for the ESP32-C3.\n- `esp32s2-idf`: Includes toolchain for the ESP32-S2.\n- `esp32s3-idf`: Includes toolchain for the ESP32-S3.\n- `esp32c6-idf`: Includes toolchain for the ESP32-C6.\n- `esp32h2-idf`: Includes toolchain for the ESP32-H2.\n- `esp8266-rtos-sdk`: Includes RTOS SDK toolchain for ESP8266 and esptool.\n- `esp8266-nonos-sdk`: Includes NONOS SDK toolchain for ESP8266 and esptool.\n\n### `nix-shell`\nIf you're not using Nix 2.4+ or prefer not to need to enable flakes, you can clone the repo and use one of:\n\n- `nix-shell shells/esp32-idf-full.nix`\n- `nix-shell shells/esp32-idf.nix`\n- `nix-shell shells/esp32c2-idf.nix`\n- `nix-shell shells/esp32c3-idf.nix`\n- `nix-shell shells/esp32s2-idf.nix`\n- `nix-shell shells/esp32s3-idf.nix`\n- `nix-shell shells/esp32c6-idf.nix`\n- `nix-shell shells/esp32h2-idf.nix`\n- `nix-shell shells/esp8266-rtos-sdk.nix`\n- `nix-shell shells/esp8266-nonos-sdk.nix`\n\nto get the same shells as with `nix develop`.\n\nNote: `nix develop` will use the nixpkgs revision specified in `flake.nix`/`flake.lock`, while using `nix-shell` will use your system nixpkgs by default.\n\n\n## Creating a custom shell environment\nYou can create a standalone `shell.nix` for your project that downloads `nixpkgs-esp-dev` automatically and creates a shell with the necessary packages and environment setup to use ESP-IDF.\n\nSee `examples/shell-standalone.nix` for an example.\n\n\n## Overriding ESP-IDF and ESP32 toolchain versions\nThere is a default version of ESP-IDF specified in `pkgs/esp-idf/default.nix`. To use a different version of ESP-IDF or to pin the version, override a `esp-idf-*` derivations with the desired version and the hash for it. The correct version of the tools will be downloaded automatically.\n\nNOTE: This doesn't quite work as it should - Python packages won't be adapted for the version you override to. See https://github.com/mirrexagon/nixpkgs-esp-dev/issues/25\n\nSee `examples/shell-override-versions.nix` for an example.\n\n### Note about `IDF_VER`\n\nThis is a macro describing the version used while building provided by the ESP-IDF toolchain. It is normally generated using `git describe`, but for underlying reasons the build environment can't have access to this git metadata. Fortunately, this repo can emulate this by overriding it to equal the `rev` argument given to `pkgs/esp-idf/default.nix`. This is however not perfect as the output would differ from `git describe` when `rev` is set to a commit hash instead of a tag.\n\n## Overlay\nThis repo contains an overlay in `overlay.nix` containing all the packages defined by this repo. If you clone the repo into `~/.config/nixpkgs/overlays/`, nixpkgs will automatically pick up the overlay and effectively add the packages to your system nixpkgs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirrexagon%2Fnixpkgs-esp-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirrexagon%2Fnixpkgs-esp-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirrexagon%2Fnixpkgs-esp-dev/lists"}