summary refs log tree commit diff
path: root/flake.nix
diff options
context:
space:
mode:
authorMaxwell Beck <max@rastertail.net>2024-12-24 10:54:02 -0600
committerMaxwell Beck <max@rastertail.net>2024-12-24 10:54:02 -0600
commitc684c194bccdb08df75423680ba334739a945fe5 (patch)
treeea052b7f413936629421fbb784aaea1dedb8133c /flake.nix
Initial commit
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..4c97fc4
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,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";
+    };
+  };
+}