{ lib, config, pkgs, ... }: let cfg = config.my.home.rust; ruststable = (pkgs.rust-bin.stable.latest.default.override { extensions = [ "rust-src" "rust-analyzer-preview" "rust-analysis" "rustfmt-preview" ]; }); in { options.my.home.rust = with lib; { enable = mkEnableOption "rust configuration"; }; config = lib.mkIf cfg.enable { home.packages = with pkgs; [ ruststable ]; home.sessionVariables.CARGO_HOME = "${config.xdg.dataHome}/cargo"; home.sessionPath = [ "$CARGO_HOME/bin" ]; }; }