diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/by-name/ca/cargo/module.nix | 19 |
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/"; + }; }; }; }; |
