mirror of
https://codeberg.org/privacy1st/nix-git
synced 2024-12-23 02:36:05 +01:00
50 lines
1.5 KiB
Nix
50 lines
1.5 KiB
Nix
# We use the unofficial overlay oxalica/rust-overlay
|
|
# https://nixos.wiki/wiki/Rust#Unofficial_overlays
|
|
|
|
# Example for oxalica/rust-overlay
|
|
# https://nixos.wiki/wiki/Rust#Custom_Rust_version
|
|
|
|
# rust-analyzer
|
|
# https://rust-analyzer.github.io/
|
|
# rust-analyzer is an implementation of Language Server Protocol for the Rust programming language. It provides features like completion and goto definition for many code editors, including VS Code, Emacs and Vim.
|
|
|
|
# pkg-config
|
|
# Used in these two examples
|
|
# https://nixos.wiki/wiki/Rust#Custom_Rust_version
|
|
# https://github.com/oxalica/rust-overlay/blob/master/examples/cross-aarch64/shell.nix
|
|
# Explanation:
|
|
# https://nixos.wiki/wiki/Rust#Building_Rust_crates_that_require_external_system_libraries
|
|
# Rust crates using external system libraries often depend on pkg.config
|
|
# While we could add it system wide, it is probably best to use a shell.nix file in some code project.
|
|
|
|
{ config, pkgs, ... }:
|
|
let
|
|
#rustVersion = pkgs.rust-bin.stable."1.81.0".default.override {
|
|
rustVersion = pkgs.rust-bin.stable.latest.default.override {
|
|
extensions = [
|
|
"rust-src"
|
|
"rust-analyzer"
|
|
];
|
|
#targets = [
|
|
# "x86_64-unknown-linux-musl"
|
|
# #"arm-unknown-linux-gnueabihf"
|
|
# #"wasm32-wasi"
|
|
# #"wasm32-unknown-unknown"
|
|
#];
|
|
};
|
|
|
|
# This is depreciated.
|
|
#rustPlatform = pkgs.makeRustPlatform {
|
|
# cargo = rustVersion;
|
|
# rustc = rustVersion;
|
|
#};
|
|
in
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
# This is depreciated.
|
|
#rustPlatform.rust.cargo
|
|
|
|
rustVersion
|
|
];
|
|
}
|