{
    programs.element-desktop = {
        enable = true;

        # The `settings` attribute is turned into the JSON file that Element reads.
        # We therefore write it as a normal Nix attribute set; the module will
        # serialise it to JSON for us.
        settings = {
            # --------------------------------------------------------------------
            # Feature toggles
            # --------------------------------------------------------------------
            features = {
                feature_latex_maths                     = true;
                feature_pinning                         = true;
                feature_jump_to_date                    = true;
                feature_custom_themes                   = true;
                feature_location_share_live             = false;
                feature_video_rooms                     = true;
                feature_element_call_video_rooms        = false;
                feature_group_calls                     = false;
                feature_disable_call_per_sender_encryption = false;
                feature_notifications                   = true;
                feature_ask_to_join                     = true;
                feature_new_room_list                   = true;
                feature_share_history_on_invite         = true;
            };

            # --------------------------------------------------------------------
            # Room directory / server list
            # --------------------------------------------------------------------
            room_directory = {
                servers = [
                    "darksteveneq.nonamesoft.xyz"
                    "hashtags.nonamesoft.xyz"
                    "youmatrix.nonamesoft.xyz"
                    "matrix.org"
                ];
            };

            # --------------------------------------------------------------------
            # Miscellaneous defaults
            # --------------------------------------------------------------------
            default_country_code = "PL";
            default_theme        = "Catppuccin Mocha (Mauve)";
            permalink_prefix     = "https://darksteveneq.nonamesoft.xyz/element";
            disable_guests       = true;

            # --------------------------------------------------------------------
            # Custom theme definition (the Catppuccin Mocha theme you supplied)
            # --------------------------------------------------------------------
            setting_defaults = {
                custom_themes = [
                    {
                        name   = "Catppuccin Mocha (Mauve)";
                        is_dark = true;
                        colors = {
                            "accent-color"                       = "#cba6f7";
                            "primary-color"                      = "#cba6f7";
                            "warning-color"                      = "#f38ba8";
                            "alert"                              = "#f9e2af";
                            "sidebar-color"                      = "#11111b";
                            "roomlist-background-color"          = "#181825";
                            "roomlist-text-color"                = "#cdd6f4";
                            "roomlist-text-secondary-color"      = "#9399b2";
                            "roomlist-highlights-color"          = "#45475a";
                            "roomlist-separator-color"           = "#7f849c";
                            "timeline-background-color"          = "#1e1e2e";
                            "timeline-text-color"                = "#cdd6f4";
                            "secondary-content"                  = "#cdd6f4";
                            "tertiary-content"                   = "#cdd6f4";
                            "timeline-text-secondary-color"      = "#a6adc8";
                            "timeline-highlights-color"          = "#181825";
                            "reaction-row-button-selected-bg-color" = "#45475a";
                            "menu-selected-color"                = "#45475a";
                            "focus-bg-color"                     = "#585b70";
                            "room-highlight-color"               = "#89dceb";
                            "togglesw-off-color"                 = "#9399b2";
                            "other-user-pill-bg-color"           = "#89dceb";
                            "username-colors" = [
                                "#cba6f7"
                                "#eba0ac"
                                "#fab387"
                                "#a6e3a1"
                                "#94e2d5"
                                "#89dceb"
                                "#74c7ec"
                                "#b4befe"
                            ];
                            "avatar-background-colors" = [
                                "#89b4fa"
                                "#cba6f7"
                                "#a6e3a1"
                            ];
                        };
                    }
                ];
            };
        };
    };
}