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