{ lib, pkgs, config, osConfig, ... }: let inherit (lib) mkIf; cfg = osConfig.myOptions.home-manager.programs.applications.iamb; in { config = mkIf cfg.enable { home.packages = with pkgs; [ iamb ]; xdg.configFile."iamb/config.json".text = builtins.toJSON { settings = { log_level = "warn"; reaction_display = true; reaction_shortcode_display = false; read_receipt_send = false; read_receipt_display = true; request_timeout = 15000; typing_notice_send = true; typing_notice_display = true; image_preview = { protocol.type = "kitty"; size = { width = 80; height = 24; }; }; }; default_profile = cfg.defaultProfile; profiles = lib.mapAttrs (name: profile: { user_id = profile.userId; url = profile.homeServer; }) cfg.profiles; dirs = { cache = "${config.xdg.cacheHome}/iamb/"; logs = "${config.xdg.dataHome}/iamb/logs/"; downloads = "${config.xdg.userDirs.download}/"; }; }; }; }