From 0454b989b5707d3de41c749dcac4830aa9df2712 Mon Sep 17 00:00:00 2001 From: Artemis Tosini Date: Sun, 12 Nov 2023 19:10:00 +0000 Subject: [PATCH] devShells.zephyr: allow disabling west, adding zephyr source --- shells/zephyr/default.nix | 42 ++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/shells/zephyr/default.nix b/shells/zephyr/default.nix index b5aa6b3..ef45d96 100644 --- a/shells/zephyr/default.nix +++ b/shells/zephyr/default.nix @@ -1,24 +1,30 @@ -{ mkShell, zephyr, cmake, ninja, gnumake, python3 -, toolchains ? with zephyr.toolchains; [ arm-zephyr-eabi ] }: +{ lib, mkShell, zephyr, cmake, ninja, gnumake, python3 +, toolchains ? with zephyr.toolchains; [ arm-zephyr-eabi ], enableWest ? false +, zephyrSrc ? null }: let zephyr-sdk = zephyr.sdk.override { inherit toolchains; }; in mkShell { - packages = [ cmake ninja gnumake python3 ] ++ (with python3.pkgs; [ - # requirements-base.txt - pyelftools - pyyaml - pykwalify - canopen - packaging - progress - psutil - pylink-square - pyserial - requests - anytree - intelhex - west - ]); + packages = [ cmake ninja gnumake python3 ] ++ (with python3.pkgs; + [ + # requirements-base.txt + pyelftools + pyyaml + pykwalify + canopen + packaging + progress + psutil + pylink-square + pyserial + requests + anytree + intelhex + ] ++ lib.optional enableWest python3.pkgs.west); ZEPHYR_TOOLCHAIN_VARIANT = "zephyr"; ZEPHYR_SDK_INSTALL_DIR = "${zephyr-sdk}"; +} // lib.optionalAttrs (zephyrSrc != null) { + ZEPHYR_BASE = "${zephyrSrc}"; + shellHook = '' + PATH="${zephyrSrc}/scripts:$PATH" + ''; }