{pkgs, ...}: let configFile = "discordo/config.toml"; toTOML = (pkgs.formats.toml {}).generate; in { users.users.someone.packages = with pkgs; [ discordo ]; xdg.configFile."${configFile}".source = toTOML "config.toml" { mouse = false; editor = "default"; markdown = true; hide_blocked_users = true; show_attachment_links = true; autocomplete_limit = 20; messages_limit = 50; timestamps = { enabled = true; format = "15:04"; }; notifications = { enabled = true; duration = 0; sound = { enabled = true; only_on_ping = true; }; }; identify = { status = "dnd"; browser = "default"; browser_version = "default"; user_agent = "default"; }; keys = { focus_guilds_tree = "Ctrl+G"; focus_messages_list = "Ctrl+T"; focus_message_input = "Ctrl+P"; toggle_guilds_tree = "Ctrl+B"; quit = "Ctrl+C"; logout = "Ctrl+D"; guilds_tree = { select_previous = "Rune[k]"; select_next = "Rune[j]"; select_first = "Rune[g]"; select_last = "Rune[G]"; select_current = "Enter"; yank_id = "Rune[i]"; collapse_parent_node = "Rune[-]"; move_to_parent_node = "Rune[p]"; }; messages_list = { select_previous = "Rune[k]"; select_next = "Rune[j]"; select_first = "Rune[g]"; select_last = "Rune[G]"; select_reply = "Rune[s]"; reply = "Rune[r]"; reply_mention = "Rune[R]"; cancel = "Esc"; delete = "Rune[d]"; open = "Rune[o]"; yank_content = "Rune[y]"; yank_url = "Rune[u]"; yank_id = "Rune[i]"; }; message_input = { send = "Enter"; cancel = "Esc"; tab_complete = "Tab"; open_editor = "Ctrl+E"; open_file_picker = "Ctrl+P"; }; mentions_list = { up = "Up"; down = "Down"; }; }; theme = { title = { alignment = "left"; normal_style = {attributes = "dim";}; active_style = { foreground = "purple"; attributes = "bold"; }; }; border = { enabled = true; padding = [0 0 1 1]; normal_style = {attributes = "dim";}; active_style = { foreground = "purple"; attributes = "bold"; }; normal_set = "plain"; active_set = "plain"; }; guilds_tree = { auto_expand_folders = false; graphics = true; graphics_color = "default"; }; messages_list = { reply_indicator = ">"; forwarded_indicator = "<"; mention_style = {foreground = "blue";}; emoji_style = {foreground = "green";}; url_style = {foreground = "blue";}; attachment_style = {foreground = "yellow";}; }; mentions_list = { min_width = 20; max_height = 0; }; }; }; }