]> patrickod personal git archive - keywing-rs.git/blobdiff - flake.nix
2021 nix flake updates & some minor cleanup
[keywing-rs.git] / flake.nix
diff --git a/flake.nix b/flake.nix
new file mode 100644 (file)
index 0000000..20b8f1a
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,39 @@
+{
+  description = "rust ARM M-0 development";
+  inputs = {
+    nixpkgs.url      = "path:/home/patrickod/code/nixpkgs";
+    rust-overlay.url = "github:oxalica/rust-overlay";
+    flake-utils.url  = "github:numtide/flake-utils";
+  };
+
+  outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }:
+    flake-utils.lib.eachDefaultSystem (system:
+      let
+        overlays = [ (import rust-overlay) ];
+        pkgs = import nixpkgs {
+          inherit system overlays;
+        };
+        rust = pkgs.rust-bin.nightly.latest.default.override {
+          extensions = [
+            "clippy-preview"
+            "rust-src"
+            "rustfmt-preview"
+          ];
+          targets = [
+            "thumbv7em-none-eabihf"
+          ];
+        };
+      in
+      {
+        devShell = pkgs.mkShell {
+          buildInputs = [
+            pkgs.gcc-arm-embedded
+            pkgs.probe-run
+            pkgs.flip-link
+            pkgs.cargo-hf2
+            rust
+          ];
+        };
+      }
+    );
+}