]> patrickod personal git archive - keywing-rs.git/blob - flake.nix
2021 nix flake updates & some minor cleanup
[keywing-rs.git] / flake.nix
1 {
2   description = "rust ARM M-0 development";
3   inputs = {
4     nixpkgs.url      = "path:/home/patrickod/code/nixpkgs";
5     rust-overlay.url = "github:oxalica/rust-overlay";
6     flake-utils.url  = "github:numtide/flake-utils";
7   };
8
9   outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }:
10     flake-utils.lib.eachDefaultSystem (system:
11       let
12         overlays = [ (import rust-overlay) ];
13         pkgs = import nixpkgs {
14           inherit system overlays;
15         };
16         rust = pkgs.rust-bin.nightly.latest.default.override {
17           extensions = [
18             "clippy-preview"
19             "rust-src"
20             "rustfmt-preview"
21           ];
22           targets = [
23             "thumbv7em-none-eabihf"
24           ];
25         };
26       in
27       {
28         devShell = pkgs.mkShell {
29           buildInputs = [
30             pkgs.gcc-arm-embedded
31             pkgs.probe-run
32             pkgs.flip-link
33             pkgs.cargo-hf2
34             rust
35           ];
36         };
37       }
38     );
39 }