-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathflake.nix
49 lines (47 loc) · 1.25 KB
/
flake.nix
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{
description = "A simple flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
fenix.url = "github:nix-community/fenix";
fenix.inputs.nixpkgs.follows = "nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
self,
nixpkgs,
fenix,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system: let
pkgs = import nixpkgs {
inherit system;
overlays = [fenix.overlays.default];
};
in {
devShells.default = pkgs.mkShell {
packages = let
arm-gcc =
if system == "aarch64-darwin"
then (pkgs // {system = "x86_64-darwin";}).gcc-arm-embedded
else pkgs.gcc-arm-embedded;
rust-toolchain = fenix.packages.${system}.combine (with fenix.packages.${system}; [
latest.toolchain
targets.thumbv7em-none-eabihf.latest.rust-std
]);
in
with pkgs; [
arm-gcc
cargo-binutils
cargo-embed
cargo-flash
cargo-make
dfu-util
probe-run
rust-toolchain
stlink-gui
];
};
}
);
}