-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
34 lines (32 loc) · 1019 Bytes
/
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
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
fenix.url = "github:nix-community/fenix";
devenv.url = "github:cachix/devenv";
};
outputs = { self, nixpkgs, devenv, fenix, ... } @ inputs: let
systems = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
forAllSystems = f: builtins.listToAttrs (map (name: { inherit name; value = f name; }) systems);
in
{
devShells = forAllSystems
(system: let
pkgs = import nixpkgs { inherit system; };
in {
default = devenv.lib.mkShell {
inherit inputs pkgs;
modules = [{
languages.rust.enable = true;
languages.rust.channel = "nightly";
languages.rust.components = [ "rustc" "cargo" "clippy" "rustfmt" "rust-analyzer" "miri" "llvm-tools" ];
packages = with pkgs; [
gnuplot
perf-tools
linuxKernel.packages.linux_6_6.perf
just
];
}];
};
});
};
}