diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/by-name/ca/calibre/module.nix | 38 | ||||
| -rw-r--r-- | modules/by-name/ca/cargo/module.nix | 19 |
2 files changed, 54 insertions, 3 deletions
diff --git a/modules/by-name/ca/calibre/module.nix b/modules/by-name/ca/calibre/module.nix new file mode 100644 index 00000000..4188e360 --- /dev/null +++ b/modules/by-name/ca/calibre/module.nix @@ -0,0 +1,38 @@ +# nixos-config - My current NixOS configuration +# +# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This file is part of my nixos-config. +# +# You should have received a copy of the License along with this program. +# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. +{ + config, + lib, + libraries, + ... +}: let + cfg = config.soispha.programs.calibre; +in { + options.soispha.programs.calibre = { + enable = libraries.base.options.mkEnable "calibre"; + }; + + config = lib.mkIf cfg.enable { + soispha.impermanence.userDirectories = [ + ".config/calibre" + ]; + soispha.services.unison.pathsToSync = [ + "~/.config/calibre" + ]; + + # Calibre depends on multiple “AI” slop stuff, which I don't really want to have in my + # closure. + # Considering, that calibre is probably also LLM friendly (and maybe contains + # vibe-coded stuff), I should probably replace it, but currently I'll keep it. + home-manager.users.soispha.programs.calibre = { + enable = false; + }; + }; +} 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/"; + }; }; }; }; |
