1
0
Fork 0
nixos/pkgsets/rustpkgs.nix

45 lines
1.1 KiB
Nix

{config, ...}: let
mozRust = with builtins;
(map (p:
import ((fetchTarball {
url = "https://github.com/mozilla/nixpkgs-mozilla/archive/e912ed4.tar.gz";
sha256 = "08fvzb8w80bkkabc1iyhzd15f4sm7ra10jn32kfch5klgl0gj3j3";
})
+ p))) [
(toPath "/lib-overlay.nix")
(toPath "/rust-overlay.nix")
];
stablepkgs = import <nixos-stable> {overlays = mozRust;};
# https://rust-lang.github.io/rustup-components-history
nightly = stablepkgs.rustChannelOf {
date = "2020-06-10";
channel = "nightly";
};
rustNightly = {
rustc =
nightly.rust.override {
extensions = [
"clippy-preview"
"rls-preview"
"rust-analysis"
"rust-src"
"rustfmt-preview"
];
}
// {src = nightly.rust-src;};
inherit (nightly) cargo;
};
rustPNightly = stablepkgs.recurseIntoAttrs (stablepkgs.makeRustPlatform {
inherit (rustNightly) rustc cargo;
});
in {
config.machine.pkgsets.rustpkgs.pkgs =
(with stablepkgs; [
diesel-cli
carnix
rustracer
])
++ (with rustNightly; [rustc cargo]);
}