aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-04-14 17:11:31 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-04-14 17:11:31 +0200
commit933f62f5a75164044d4f78cd8fb40a2edb1e8ced (patch)
treea7849f07c43ae389e12e8637509e950f90155bd2
parentmodules/disks/hibernate: Migrate to rfc42 settings (diff)
downloadnixos-config-933f62f5a75164044d4f78cd8fb40a2edb1e8ced.zip
modules/cargo: Use one shared cargo `./target` directory
-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;