nixdots/home/programs/terminal/tools/iamb.nix

49 lines
1.1 KiB
Nix

{
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}/";
};
};
};
}