about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/ca/cargo/module.nix15
-rw-r--r--modules/common/default.nix1
2 files changed, 12 insertions, 4 deletions
diff --git a/modules/by-name/ca/cargo/module.nix b/modules/by-name/ca/cargo/module.nix
index 980ebcba..d36a11e5 100644
--- a/modules/by-name/ca/cargo/module.nix
+++ b/modules/by-name/ca/cargo/module.nix
@@ -10,17 +10,26 @@
 {
   config,
   lib,
+  libraries,
   ...
 }: let
   cfg = config.soispha.programs.cargo;
 in {
   options.soispha.programs.cargo = {
-    enable = lib.mkEnableOption "cargo";
+    enable = libraries.base.options.mkEnable "cargo";
   };
+
   config = lib.mkIf cfg.enable {
     home-manager.users.soispha = {
-      home.sessionVariables = {
-        CARGO_HOME = "${config.home-manager.users.soispha.xdg.dataHome}/cargo";
+      programs.cargo = {
+        enable = true;
+        package = null;
+        cargoHome = "${config.home-manager.users.soispha.xdg.dataHome}/cargo";
+
+        settings = {
+          # {cargo-cache-home} means $CARGO_HOME
+          build.build-dir = "{cargo-cache-home}/shared-target/";
+        };
       };
     };
   };
diff --git a/modules/common/default.nix b/modules/common/default.nix
index 5b9b83ac..40c08378 100644
--- a/modules/common/default.nix
+++ b/modules/common/default.nix
@@ -144,7 +144,6 @@
         enable = true;
         enableAge = lib.mkDefault true;
       };
-      cargo.enable = true;
       direnv.enable = true;
       git.enable = true;
       imv.enable = true;