44 lines
1.1 KiB
Nix
44 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;};
|
|
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]);
|
|
}
|