nixos/pkgsets/rustpkgs.nix

39 lines
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; };
cargo = 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]);
}