This commit is contained in:
Rasyidan Akbar F. 2025-10-01 13:39:17 +07:00
commit ce6632d57f
2 changed files with 28 additions and 0 deletions

View file

@ -187,6 +187,22 @@
echo "Bun/Node web shell ready" echo "Bun/Node web shell ready"
''; '';
}; };
rust = pkgs.mkShell {
name = "rust";
packages = with pkgs; [
cargo
rustc
rust-analyzer
rustfmt
clippy
];
shellHook = ''
mkdir -p "$PWD/.cache/cargo"
export CARGO_HOME="$PWD/.cache/cargo"
echo "Rust toolchain shell ready"
'';
};
}; };
in baseShells // zigShell); in baseShells // zigShell);

View file

@ -47,6 +47,7 @@ let
pkgs.nodejs_20 pkgs.nodejs_20
else else
getPkg "nodejs"; getPkg "nodejs";
cargoPackage = getPkg "cargo";
toolSpecs = [ toolSpecs = [
{ {
@ -64,6 +65,11 @@ let
cfg = cfg.node; cfg = cfg.node;
defaultPackage = nodePackage; defaultPackage = nodePackage;
} }
{
name = "cargo";
cfg = cfg.cargo;
defaultPackage = cargoPackage;
}
]; ];
languagePackages = mkToolPackages toolSpecs; languagePackages = mkToolPackages toolSpecs;
@ -90,6 +96,12 @@ in {
description = "Node.js runtime for CLI tooling."; description = "Node.js runtime for CLI tooling.";
}; };
cargo = mkToolOption {
name = "Cargo";
defaultPackage = cargoPackage;
description = "Rust package manager and toolchain.";
};
extraPackages = mkOption { extraPackages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];