aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ca/cargo
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/ca/cargo/module.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/modules/by-name/ca/cargo/module.nix b/modules/by-name/ca/cargo/module.nix
index 980ebcba..6b675a03 100644
--- a/modules/by-name/ca/cargo/module.nix
+++ b/modules/by-name/ca/cargo/module.nix
@@ -10,17 +10,30 @@
{
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 = {
+ # NOTE: Don't directly use the `shared-target` path, so we can allow this
+ # directory in the landrun-fish script and don't get issues because `cargo
+ # clean` removes it. Otherwise, a `cargo clean` means, that all currently
+ # running sandboxed shells need to be re-loaded to give them access to the than
+ # newly created `shared-target` <2026-10-06>
+ build.build-dir = "${config.home-manager.users.soispha.xdg.cacheHome}/cargo/shared-target/inner/";
+ };
};
};
};