{ config, lib, ... }: let cfg = config.dot.pi; piPath = "${config.dot.dotfilesPath}/modules/pi/agent"; piWorkMode = config.dot.llm.pi.workMode or false; in { options.dot.pi = { enable = lib.mkEnableOption "managed pi coding agent configuration" // { default = true; }; }; config = lib.mkIf cfg.enable { home.file = { ".pi/agent/settings.json".source = config.lib.file.mkOutOfStoreSymlink "${piPath}/${if piWorkMode then "settings.work" else "settings.home"}.json"; ".pi/agent/extensions".source = config.lib.file.mkOutOfStoreSymlink "${piPath}/extensions-common"; } // lib.optionalAttrs piWorkMode { ".pi/agent/extensions-work".source = config.lib.file.mkOutOfStoreSymlink "${piPath}/extensions-work"; }; }; }