summaryrefslogtreecommitdiff
path: root/shell.nix
AgeCommit message (Collapse)Author
2022-08-23Nix shell updates for `develop` (#18131)Sergey Vlasov
* shell.nix: Update `tomlkit` to 0.11.4 using a Nixpkgs overlay The used Nixpkgs snapshot contains `tomlkit` version 0.7.0, which is affected by https://www.github.com/sdispater/tomlkit/issues/148; that bug is triggered by `pyproject.toml` from `jsonschema` >= 4.11.0, preventing the build of that module. Just adding `tomlkit = "*"` to the `[tool.poetry.dev-dependencies]` section of `nix/pyproject.toml` does not fix the `jsonschema` build, because `makeRemoveSpecialDependenciesHook` inside `poetry2nix` is not affected by `nix/pyproject.toml`. Add a Nixpkgs overlay which updates the `tomlkit` Python module globally, so that `poetry2nix` would also use the updated version internally. * shell.nix: Bump `poetry2nix` to the most recent version The new `poetry2nix` version includes overrides which are required for recent versions of some Python packages (in particular, `jsonschema` and `dotty-dict`). * shell.nix: Bump QMK CLI to 1.1.1; update other Python deps Update `pyproject.toml` to match `requirements*.txt`: - add `pyserial = "*"` - replace `qmk-dotty-dict = "*"` with `dotty-dict = "*"` (#18117, also required for compatibility with `qmk` 1.1.1, where this replacement had already been performed) Add build dependencies of various Python modules to `pyproject.toml`: - `hatchling`, `hatch-vcs`, `hatch-fancy-pypi-readme` (required by `jsonschema` >= 4.11.0) - `pytest` (a newer version is required to solve the dependency conflict with the `hatchling` module due to the upper bound on `pluggy`) - `flit-core` (a more recent version is required to build `tomli`) - `poetry-core` (required for `dotty-dict` >= 1.3.1, and the version from Nixpkgs does not build on Darwin due to NixOS/nix#4758) Update `poetry.lock` to use the most recent versions of Python modules. The complete list of Python module updates as listed in `poetry.lock` (note that other modules might be present in the Python environment, e.g., if they come from Nixpkgs): - `atomicwrites`: none -> 1.4.1 (but this module is not actually used, because the corresponding dependency of `pytest` is win32-only) - `attrs`: 21.4.0 -> 22.1.0 - `colorama`: 0.4.4 -> 0.4.5 - `coverage`: 6.4 -> none - `dotty-dict`: none -> 1.3.1 (used instead of `qmk-dotty-dict`) - `editables`: none -> 0.3 - `flake8`: 4.0.1 -> 5.0.4 - `flake8-polyfill`: 1.0.2 -> none - `flit-core`: none -> 3.7.1 - `hatch-fancy-pypi-readme`: none -> 22.3.0 - `hatch-vcs`: none -> 0.2.0 - `hatchling`: none -> 1.8.0 - `hjson`: 3.0.2 -> 3.1.0 - `importlib-resources`: 5.7.1 -> 5.9.0 - `iniconfig`: none -> 1.1.1 - `jsonschema`: 4.5.1 -> 4.14.0 - `mccabe`: 0.6.1 -> 0.7.0 - `nose2`: 0.11.0 -> 0.12.0 - `packaging`: none -> 21.3 - `pathspec`: none -> 0.9.0 - `pep8-naming`: 0.12.1 -> 0.13.2 - `pillow`: 9.1.1 -> 9.2.0 - `pkgutil-resolve-name`: none -> 1.3.10 - `pluggy`: none -> 1.0.0 - `poetry-core`: none -> 1.0.8 - `py`: none -> 1.11.0 - `pycodestyle`: 2.8.0 -> 2.9.1 - `pyflakes`: 2.4.0 -> 2.5.0 - `pygments`: 2.12.0 -> 2.13.0 - `pyparsing`: none -> 3.0.9 - `pyserial`: none -> 3.5 - `pytest`: none -> 7.1.2 - `qmk`: 1.1.0 -> 1.1.1 - `qmk-dotty-dict`: 1.3.0.post1 -> none (replaced by `dotty-dict`) - `setuptools-scm`: none -> 7.0.5 - `tomli`: none -> 2.0.1 - `typing-extensions`: none -> 4.3.0 - `zipp`: 3.8.0 -> 3.8.1
2022-07-18Remove Nixpkgs-provided `poetry` from the environment (#17673)Sergey Vlasov
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
2022-05-31Nix shell updates (#17243)Sergey Vlasov
2022-05-12Allow overriding Niv inputs in shell.nix (#16602)Astrid Yu
2021-08-29Remove bin/qmk (#14231)Zach White
* Remove the bin/qmk script * remove bin/qmk from workflows
2021-08-29Update the nix-shell environment (#13316)Sergey Vlasov
* Nix: Allow calls to `bin/qmk` even when the build was started by `qmk` The `$PATH` modifications performed by the Nix wrapper for the `qmk` executable prevent `bin/qmk` from working properly (the changed `$PATH` contains a wrong `python3` executable which does not have the needed Python modules in its module path). As a workaround, disable the generation of that wrapper for the `qmk` Python package (there is yet another wrapper generated while building the Python environment, which would still set the Python module path properly when running `qmk`). Although `bin/qmk` is officially deprecated, QMK CLI still invokes it in some cases (at least `qmk doctor` and `qmk pytest`), therefore keeping these invocations working is useful. * Nix: Update `util/nix/pyproject.toml` to match `requirements*.txt` Update the Python dependency information used by Poetry to match the current state of the qmk_firmware code. * Nix: Bump QMK CLI dependency to 1.0.0; bump other Python deps Update Python dependencies for nix-shell to the most recent releases: - dotty-dict: 1.3.0 -> no longer used - milc: 1.4.2 -> 1.6.2 - pep8-naming: 0.11.1 -> 0.12.1 - pygments: 2.9.0 -> 2.10.0 - pyrsistent: 0.17.3 -> 0.18.0 - pyusb: 1.1.1 -> 1.2.1 - setuptools-scm: 6.0.1 -> no longer used - qmk: 0.1.0 -> 1.0.0 - qmk-dotty-dict: not used -> 1.3.0.post1 - yapf: 0.30.0 -> 0.31.0 Note to self: The command to update Python dependencies changed to: ( cd util/nix && nix run 'nixpkgs#poetry' -- update --lock )
2021-08-25Move nix folder alongside vagrant (#14132)Joel Challis
2021-06-20Update Python dependencies for Nix (#12855)Sergey Vlasov
Co-authored-by: Steve Purcell <steve@sanityinc.com>
2021-04-03[nix] Use niv and poetry2nix to more easily manage dependencies (#11181)Steve Purcell
* [nix] Update nixpkgs to avoid issues with Big Sur The older nixpkgs snapshot did not contain nix changes to the compiler/linker hooks that are necessary for compatibility with MacOS Big Sur. The fix is simply to update to a newer snapshot. * [nix] Add a poetry manifest and use poetry to build the Python env * [nix] Use niv to manage upstream sources like nixpkgs * [nix] Update to newer nixpkgs snapshot * [nix] Bump python package versions
2021-03-25update shell.nix (#12295)André Silva
2021-01-14allow customizing decrease delay of rgb heatmap (#11322)André Silva
* allow customizing decrease delay of rgb heatmap * rename rgb typing heatmap decrease delay variable * address review comments * nix-shell: add clang-tools required for formatting the C code * heatmap: use real timer to track decrement rate * heatmap: fix ifndef var name typo * heatmap: add docs * Update docs/feature_rgb_matrix.md Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-11Fix macOS buildSergey Shulepov
2020-11-30nix-shell: add milc dependency (#11086)André Silva
2020-10-23Update shell.nix (#10712)André Silva
* nix-shell: update nixpkgs reference * nix-shell: add missing python dependency
2020-07-08shell.nix improvements, and fix problems on Darwin (#9551)Steve Purcell
2020-06-20update shell.nix (#8910)Thorsten
* now uses gcc 8.4 * fixes building boards with adafruit feather (in my case pancake)
2020-03-07Fix up Arm builds with nix-shell. (#8312)Nick Brassel
2019-11-14Fix shell.nix by pinning nixpkgs (#6213)Jake Waksbaum
2019-09-21add python3 to shell.nix (#6774)Francis St-Amour
2019-07-16shell.nix: Downgrade gcc-arm-embedded (#5913)Roman Volosatovs
Temporary fix for https://github.com/qmk/qmk_firmware/issues/5868
2018-12-22shell.nix: Packages relocated in upstream cleanupMichishige Kaito
2018-09-25Pin avr-gcc in shell.nix pending release of 8.3.0 (#3922)Jack Henahan
* Pin avr-gcc in shell.nix pending release of 8.3.0 There's apparently a critical bug in 8.2.0, which is now the nixpkgs default. This change overrides that default in favor of the known good version. Once 8.3.0 is the default, the override can be dropped. * Arch/Manjaro fix
2018-07-15allow building with nix on darwinJon Allen
add avrdude do dependency list
2017-11-26shell.nix: add teensy loaderRoman Volosatovs
2017-09-25Add shell.nix for NixOS usersLukas Werling