{ config, inputs, lib, osConfig ? null, pkgs, ... }: let hm = inputs.self.lib.hmModule { inherit config inputs osConfig ; optionPath = [ "dev" "rust" ]; }; cfg = config.my.dev.rust; feature = import ./common.nix { inherit pkgs; }; in { options.my.dev.rust.enable = lib.mkEnableOption "Install Rust tooling globally"; config = lib.mkMerge [ { my.dev.rust.enable = lib.mkDefault hm.enabledByDefault; } (lib.mkIf cfg.enable { home = { inherit (feature) packages; sessionVariables.CARGO_HOME = "${config.xdg.dataHome}/cargo"; }; }) ]; }