48 lines
1.6 KiB
Nix
48 lines
1.6 KiB
Nix
{
|
|
inputs = {
|
|
# Pin this to 23.11 to provide py3.8 needed for the sdk-ng without building it ourselves
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
|
|
|
# Zephyr version determining which requirements.txt to use to install python dependencies
|
|
zephyr.url = "github:zephyrproject-rtos/zephyr/v3.5.0";
|
|
zephyr.flake = false;
|
|
|
|
# Zephyr sdk and host tools
|
|
zephyr-nix.url = "github:urob/zephyr-nix/testing";
|
|
# zephyr-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
zephyr-nix.inputs.zephyr.follows = "zephyr";
|
|
};
|
|
|
|
outputs = { nixpkgs, zephyr-nix, ... }: let
|
|
forAllSystems = nixpkgs.lib.genAttrs ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
|
in {
|
|
devShells = forAllSystems (system: let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
zephyr = zephyr-nix.packages.${system};
|
|
keymap_drawer = pkgs.python3Packages.callPackage ./draw { };
|
|
|
|
in {
|
|
default = pkgs.mkShell {
|
|
packages = [
|
|
keymap_drawer
|
|
|
|
zephyr.hosttools-nix
|
|
zephyr.pythonEnv
|
|
(zephyr.sdk.override { targets = [ "arm-zephyr-eabi" ]; })
|
|
|
|
pkgs.cmake
|
|
pkgs.ninja
|
|
|
|
# Uncomment these if you don't have system-wide versions:
|
|
# pkgs.gawk # awk
|
|
# pkgs.unixtools.column # column
|
|
# pkgs.coreutils # cp, cut, echo, mkdir, sort, tail, uniq etc.
|
|
# pkgs.gnugrep # grep
|
|
pkgs.just # just
|
|
# pkgs.gnused # sed
|
|
pkgs.yq # yq
|
|
];
|
|
};
|
|
});
|
|
};
|
|
}
|