summary refs log tree commit diff
path: root/flake.nix
blob: 4c97fc485f44d3cca61448498afaee720f74cd2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
  };

  outputs = { self, nixpkgs }: let
    system = "aarch64-darwin";
    pkgs = nixpkgs.legacyPackages.${system};

    pico1541 = { stdenvNoCC, cmake, ninja, python3, gcc-arm-embedded-13, pico-sdk, picotool }: stdenvNoCC.mkDerivation {
      pname = "pico1541";
      version = "0.1.0";
      src = ./.;

      nativeBuildInputs = [ ninja cmake python3 picotool ];
      buildInputs = [ gcc-arm-embedded-13 ];
      PICO_SDK_PATH = "${pico-sdk.override { withSubmodules = true; }}/lib/pico-sdk";
    };
  in rec {
    packages.${system}.default = pkgs.callPackage pico1541 {};
    devShells.${system}.default = pkgs.mkShell {
      packages = [ pkgs.clang-tools pkgs.openocd ];
      inputsFrom = [ packages.${system}.default ];
      PICO_SDK_PATH = "${pkgs.pico-sdk.override { withSubmodules = true; }}/lib/pico-sdk";
    };
  };
}