diff --git a/modules/programs/cargo.nix b/modules/programs/cargo.nix index 3b83b909..0a9f07d1 100644 --- a/modules/programs/cargo.nix +++ b/modules/programs/cargo.nix @@ -5,10 +5,7 @@ ... }: let - inherit (lib) mkEnableOption; - tomlFormat = pkgs.formats.toml { }; - cfg = config.programs.cargo; in { @@ -17,7 +14,9 @@ in options = { programs = { cargo = { - enable = mkEnableOption "management of cargo config"; + enable = lib.mkEnableOption "management of cargo config"; + + package = lib.mkPackageOption pkgs "cargo" { nullable = true; }; settings = lib.mkOption { inherit (tomlFormat) type; @@ -33,6 +32,8 @@ in config = lib.mkIf cfg.enable { home = { + packages = lib.mkIf (cfg.package != null) [ cfg.package ]; + file = { ".cargo/config.toml" = { source = tomlFormat.generate "config.toml" cfg.settings;