nixos/pkgsets/rustpkgs.nix

59 lines
1.2 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
]);
}