Configuration for my NixOS based systems and Home Manager
at master 600 lines 19 kB view raw
1# 2# aerc main configuration 3 4[general] 5# 6# Used as a default path for save operations if no other path is specified. 7# ~ is expanded to the current user home dir. 8# 9#default-save-path= 10 11# If set to "gpg", aerc will use system gpg binary and keystore for all crypto 12# operations. If set to "internal", the internal openpgp keyring will be used. 13# If set to "auto", the system gpg will be preferred unless the internal 14# keyring already exists, in which case the latter will be used. 15# 16# Default: auto 17#pgp-provider=auto 18 19# By default, the file permissions of accounts.conf must be restrictive and 20# only allow reading by the file owner (0600). Set this option to true to 21# ignore this permission check. Use this with care as it may expose your 22# credentials. 23# 24# Default: false 25#unsafe-accounts-conf=false 26 27# Output log messages to specified file. A path starting with ~/ is expanded to 28# the user home dir. When redirecting aerc's output to a file using > shell 29# redirection, this setting is ignored and log messages are printed to stdout. 30# 31#log-file= 32 33# Only log messages above the specified level to log-file. Supported levels 34# are: trace, debug, info, warn and error. When redirecting aerc's output to 35# a file using > shell redirection, this setting is ignored and the log level 36# is forced to trace. 37# 38# Default: info 39#log-level=info 40 41# Set the $TERM environment variable used for the embedded terminal. 42# 43# Default: xterm-256color 44#term=xterm-256color 45 46# Display OSC8 strings in the embedded terminal 47# 48# Default: false 49#enable-osc8=false 50 51[ui] 52# 53# Describes the format for each row in a mailbox view. This is a comma 54# separated list of column names with an optional align and width suffix. After 55# the column name, one of the '<' (left), ':' (center) or '>' (right) alignment 56# characters can be added (by default, left) followed by an optional width 57# specifier. The width is either an integer representing a fixed number of 58# characters, or a percentage between 1% and 99% representing a fraction of the 59# terminal width. It can also be one of the '*' (auto) or '=' (fit) special 60# width specifiers. Auto width columns will be equally attributed the remaining 61# terminal width. Fit width columns take the width of their contents. If no 62# width specifier is set, '*' is used by default. 63# 64# Default: date<20,name<17,flags>4,subject<* 65#index-columns=date<20,name<17,flags>4,subject<* 66 67# 68# Each name in index-columns must have a corresponding column-$name setting. 69# All column-$name settings accept golang text/template syntax. See 70# aerc-templates(7) for available template attributes and functions. 71# 72# Default settings 73#column-date={{.DateAutoFormat .Date.Local}} 74#column-name={{index (.From | names) 0}} 75#column-flags={{.Flags | join ""}} 76#column-subject={{.ThreadPrefix}}{{if .ThreadFolded}}{{printf "{%d}" .ThreadCount}}{{end}}{{.Subject}} 77 78# 79# String separator inserted between columns. When the column width specifier is 80# an exact number of characters, the separator is added to it (i.e. the exact 81# width will be fully available for the column contents). 82# 83# Default: " " 84#column-separator=" " 85 86# 87# See time.Time#Format at https://godoc.org/time#Time.Format 88# 89# Default: 2006-01-02 03:04 PM (ISO 8601 + 12 hour time) 90#timestamp-format=2006-01-02 03:04 PM 91 92# 93# Index-only time format for messages that were received/sent today. 94# If this is not specified, timestamp-format is used instead. 95# 96#this-day-time-format= 97 98# 99# Index-only time format for messages that were received/sent within the last 100# 7 days. If this is not specified, timestamp-format is used instead. 101# 102#this-week-time-format= 103 104# 105# Index-only time format for messages that were received/sent this year. 106# If this is not specified, timestamp-format is used instead. 107# 108#this-year-time-format= 109 110# 111# Width of the sidebar, including the border. 112# 113# Default: 20 114#sidebar-width=20 115 116# 117# Message to display when viewing an empty folder. 118# 119# Default: (no messages) 120#empty-message=(no messages) 121 122# Message to display when no folders exists or are all filtered 123# 124# Default: (no folders) 125#empty-dirlist=(no folders) 126 127# Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel 128# 129# Default: false 130#mouse-enabled=false 131 132# 133# Ring the bell when new messages are received 134# 135# Default: true 136#new-message-bell=true 137 138# 139# Template to use for Account tab titles 140# 141# Default: {{.Account}} 142#tab-title-account={{.Account}} 143 144# Marker to show before a pinned tab's name. 145# 146# Default: ` 147#pinned-tab-marker='`' 148 149# Template for the left side of the directory list. 150# See aerc-templates(7) for all available fields and functions. 151# 152# Default: {{.Folder}} 153#dirlist-left={{.Folder}} 154 155# Template for the right side of the directory list. 156# See aerc-templates(7) for all available fields and functions. 157# 158# Default: {{if .Unread}}{{humanReadable .Unread}}/{{end}}{{if .Exists}}{{humanReadable .Exists}}{{end}} 159#dirlist-right={{if .Unread}}{{humanReadable .Unread}}/{{end}}{{if .Exists}}{{humanReadable .Exists}}{{end}} 160 161# Delay after which the messages are actually listed when entering a directory. 162# This avoids loading messages when skipping over folders and makes the UI more 163# responsive. If you do not want that, set it to 0s. 164# 165# Default: 200ms 166#dirlist-delay=200ms 167 168# Display the directory list as a foldable tree that allows to collapse and 169# expand the folders. 170# 171# Default: false 172#dirlist-tree=false 173 174# If dirlist-tree is enabled, set level at which folders are collapsed by 175# default. Set to 0 to disable. 176# 177# Default: 0 178#dirlist-collapse=0 179 180# List of space-separated criteria to sort the messages by, see *sort* 181# command in *aerc*(1) for reference. Prefixing a criterion with "-r " 182# reverses that criterion. 183# 184# Example: "from -r date" 185# 186#sort= 187 188# Moves to next message when the current message is deleted 189# 190# Default: true 191#next-message-on-delete=true 192 193# Automatically set the "seen" flag when a message is opened in the message 194# viewer. 195# 196# Default: true 197#auto-mark-read=true 198 199# The directories where the stylesets are stored. It takes a colon-separated 200# list of directories. If this is unset or if a styleset cannot be found, the 201# following paths will be used as a fallback in that order: 202# 203# ${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets 204# ${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets 205# /nix/store/bk6874radkd8h2y75rgg8hd267pwhdkl-aerc-0.16.0/share/aerc/stylesets 206# 207#stylesets-dirs= 208 209# Uncomment to use box-drawing characters for vertical and horizontal borders. 210# 211# Default: " " 212#border-char-vertical=" " 213#border-char-horizontal=" " 214 215# Sets the styleset to use for the aerc ui elements. 216# 217# Default: default 218#styleset-name=default 219 220# Activates fuzzy search in commands and their arguments: the typed string is 221# searched in the command or option in any position, and need not be 222# consecutive characters in the command or option. 223# 224# Default: false 225#fuzzy-complete=false 226 227# How long to wait after the last input before auto-completion is triggered. 228# 229# Default: 250ms 230#completion-delay=250ms 231 232# The minimum required characters to allow auto-completion to be triggered after 233# completion-delay. 234# 235# Default: 1 236#completion-min-chars=1 237 238# 239# Global switch for completion popovers 240# 241# Default: true 242#completion-popovers=true 243 244# Uncomment to use UTF-8 symbols to indicate PGP status of messages 245# 246# Default: ASCII 247#icon-unencrypted= 248#icon-encrypted=✔ 249#icon-signed=✔ 250#icon-signed-encrypted=✔ 251#icon-unknown=✘ 252#icon-invalid=⚠ 253 254# Reverses the order of the message list. By default, the message list is 255# ordered with the newest (highest UID) message on top. Reversing the order 256# will put the oldest (lowest UID) message on top. This can be useful in cases 257# where the backend does not support sorting. 258# 259# Default: false 260#reverse-msglist-order = false 261 262# Reverse display of the mesage threads. Default order is the the intial 263# message is on the top with all the replies being displayed below. The 264# reverse option will put the initial message at the bottom with the 265# replies on top. 266# 267# Default: false 268#reverse-thread-order=false 269 270# Sort the thread siblings according to the sort criteria for the messages. If 271# sort-thread-siblings is false, the thread siblings will be sorted based on 272# the message UID in ascending order. This option is only applicable for 273# client-side threading with a backend that enables sorting. Note that there's 274# a performance impact when sorting is activated. 275# 276# Default: false 277#sort-thread-siblings=false 278 279#[ui:account=foo] 280# 281# Enable a threaded view of messages. If this is not supported by the backend 282# (IMAP server or notmuch), threads will be built by the client. 283# 284# Default: false 285#threading-enabled=false 286 287# Force client-side thread building 288# 289# Default: false 290#force-client-threads=false 291 292# Show thread context enables messages which do not match the current query (or 293# belong to the current mailbox) to be shown for context. These messages can be 294# styled separately using "msglist_thread_context" in a styleset. This feature 295# is not supported by all backends 296# 297# Default: false 298#show-thread-context=false 299 300# Debounce client-side thread building 301# 302# Default: 50ms 303#client-threads-delay=50ms 304 305[statusline] 306# 307# Describes the format for the status line. This is a comma separated list of 308# column names with an optional align and width suffix. See [ui].index-columns 309# for more details. To completely mute the status line except for push 310# notifications, explicitly set status-columns to an empty string. 311# 312# Default: left<*,center:=,right>* 313#status-columns=left<*,center:=,right>* 314 315# 316# Each name in status-columns must have a corresponding column-$name setting. 317# All column-$name settings accept golang text/template syntax. See 318# aerc-templates(7) for available template attributes and functions. 319# 320# Default settings 321#column-left=[{{.Account}}] {{.StatusInfo}} 322#column-center={{.PendingKeys}} 323#column-right={{.TrayInfo}} 324 325# 326# String separator inserted between columns. 327# See [ui].column-separator for more details. 328# 329#column-separator=" " 330 331# Specifies the separator between grouped statusline elements. 332# 333# Default: " | " 334#separator=" | " 335 336# Defines the mode for displaying the status elements. 337# Options: text, icon 338# 339# Default: text 340#display-mode=text 341 342[viewer] 343# 344# Specifies the pager to use when displaying emails. Note that some filters 345# may add ANSI codes to add color to rendered emails, so you may want to use a 346# pager which supports ANSI codes. 347# 348# Default: less -Rc 349#pager=less -Rc 350 351# 352# If an email offers several versions (multipart), you can configure which 353# mimetype to prefer. For example, this can be used to prefer plaintext over 354# html emails. 355# 356# Default: text/plain,text/html 357#alternatives=text/plain,text/html 358 359# 360# Default setting to determine whether to show full headers or only parsed 361# ones in message viewer. 362# 363# Default: false 364#show-headers=false 365 366# 367# Layout of headers when viewing a message. To display multiple headers in the 368# same row, separate them with a pipe, e.g. "From|To". Rows will be hidden if 369# none of their specified headers are present in the message. 370# 371# Default: From|To,Cc|Bcc,Date,Subject 372#header-layout=From|To,Cc|Bcc,Date,Subject 373 374# Whether to always show the mimetype of an email, even when it is just a single part 375# 376# Default: false 377#always-show-mime=false 378 379# Parses and extracts http links when viewing a message. Links can then be 380# accessed with the open-link command. 381# 382# Default: true 383#parse-http-links=true 384 385[compose] 386# 387# Specifies the command to run the editor with. It will be shown in an embedded 388# terminal, though it may also launch a graphical window if the environment 389# supports it. Defaults to $EDITOR, or vi. 390#editor= 391 392# 393# When set, aerc will create and read .eml files for composing that have 394# non-standard \n linebreaks. This is only relevant if the used editor does not 395# support CRLF linebreaks. 396# 397#lf-editor=false 398 399# 400# Default header fields to display when composing a message. To display 401# multiple headers in the same row, separate them with a pipe, e.g. "To|From". 402# 403# Default: To|From,Subject 404#header-layout=To|From,Subject 405 406# 407# Edit headers into the text editor instead than separate fields. 408# 409# When this is true, address-book-cmd is not supported and address completion 410# is left to the editor itself. Also, displaying multiple headers on the same 411# line is not possible. 412# 413# Default: false 414#edit-headers=false 415 416# 417# Specifies the command to be used to tab-complete email addresses. Any 418# occurrence of "%s" in the address-book-cmd will be replaced with what the 419# user has typed so far. 420# 421# The command must output the completions to standard output, one completion 422# per line. Each line must be tab-delimited, with an email address occurring as 423# the first field. Only the email address field is required. The second field, 424# if present, will be treated as the contact name. Additional fields are 425# ignored. 426# 427# This parameter can also be set per account in accounts.conf. 428#address-book-cmd= 429 430# Specifies the command to be used to select attachments. Any occurrence of 431# '%s' in the file-picker-cmd will be replaced with the argument <arg> 432# to :attach -m <arg>. Any occurence of '%f' will be replaced by the 433# location of a temporary file, from which aerc will read the selected files. 434# 435# If '%f' is not present, the command must output the selected files to 436# standard output, one file per line. If it is present, then aerc does not 437# capture the standard output and instead reads the files from the temporary 438# file which should have the same format. 439#file-picker-cmd= 440 441# 442# Allow to address yourself when replying 443# 444# Default: true 445#reply-to-self=true 446 447# Warn before sending an email with an empty subject. 448# 449# Default: false 450#empty-subject-warning=false 451 452# 453# Warn before sending an email that matches the specified regexp but does not 454# have any attachments. Leave empty to disable this feature. 455# 456# Uses Go's regexp syntax, documented at https://golang.org/s/re2syntax. The 457# "(?im)" flags are set by default (case-insensitive and multi-line). 458# 459# Example: 460# no-attachment-warning=^[^>]*attach(ed|ment) 461# 462#no-attachment-warning= 463 464# 465# When set, aerc will generate "format=flowed" bodies with a content type of 466# "text/plain; format=flowed" as described in RFC3676. This format is easier to 467# handle for some mailing software, and generally just looks like ordinary 468# text. To actually make use of this format's features, you'll need support in 469# your editor. 470# 471#format-flowed=false 472 473[multipart-converters] 474# 475# Converters allow to generate multipart/alternative messages by converting the 476# main text/plain part into any other MIME type. Only exact MIME types are 477# accepted. The commands are invoked with sh -c and are expected to output 478# valid UTF-8 text. 479# 480# Example (obviously, this requires that you write your main text/plain body 481# using the markdown syntax): 482#text/html=pandoc -f markdown -t html --standalone 483 484[filters] 485# 486# Filters allow you to pipe an email body through a shell command to render 487# certain emails differently, e.g. highlighting them with ANSI escape codes. 488# 489# The commands are invoked with sh -c. The following folders are prepended to 490# the system $PATH to allow referencing filters from their name only: 491# 492# ${XDG_CONFIG_HOME:-~/.config}/aerc/filters 493# ~/.local/libexec/aerc/filters 494# ${XDG_DATA_HOME:-~/.local/share}/aerc/filters 495# $PREFIX/libexec/aerc/filters 496# $PREFIX/share/aerc/filters 497# /usr/libexec/aerc/filters 498# /usr/share/aerc/filters 499# 500# If you want to run a program in your default $PATH which has the same name 501# as a builtin filter (e.g. /usr/bin/colorize), use its absolute path. 502# 503# The following variables are defined in the filter command environment: 504# 505# AERC_MIME_TYPE the part MIME type/subtype 506# AERC_FORMAT the part content type format= parameter 507# AERC_FILENAME the attachment filename (if any) 508# AERC_SUBJECT the message Subject header value 509# AERC_FROM the message From header value 510# 511# The first filter which matches the email's mimetype will be used, so order 512# them from most to least specific. 513# 514# You can also match on non-mimetypes, by prefixing with the header to match 515# against (non-case-sensitive) and a comma, e.g. subject,text will match a 516# subject which contains "text". Use header,~regex to match against a regex. 517# 518text/plain=colorize 519text/calendar=calendar 520message/delivery-status=colorize 521message/rfc822=colorize 522#text/html=pandoc -f html -t plain | colorize 523#text/html=html | colorize 524#text/*=bat -fP --file-name="$AERC_FILENAME" 525#application/x-sh=bat -fP -l sh 526#image/*=catimg -w $(tput cols) - 527#subject,~Git(hub|lab)=lolcat -f 528#from,thatguywhodoesnothardwraphismessages=wrap -w 100 | colorize 529 530# This special filter is only used to post-process email headers when 531# [viewer].show-headers=true 532# By default, headers are piped directly into the pager. 533# 534.headers=colorize 535 536[openers] 537# 538# Openers allow you to specify the command to use for the :open and :open-link 539# actions on a per-MIME-type basis. The :open-link URL scheme is used to 540# determine the MIME type as follows: x-scheme-handler/<scheme>. 541# 542# {} is expanded as the temporary filename to be opened. If it is not 543# encountered in the command, the temporary filename will be appened to the end 544# of the command. 545# 546# Like [filters], openers support basic shell globbing. The first opener which 547# matches the part's MIME type (or URL scheme handler MIME type) will be used, 548# so order them from most to least specific. 549# 550# Examples: 551# x-scheme-handler/irc=hexchat 552# x-scheme-handler/http*=firefox 553# text/html=surf -dfgms 554# text/plain=gvim {} +125 555# message/rfc822=thunderbird 556 557[hooks] 558# 559# Hooks are triggered whenever the associated event occurs. 560 561# 562# Executed when a new email arrives in the selected folder 563#mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT" 564 565# 566# Executed when aerc starts 567#aerc-startup=aerc :terminal calcurse && aerc :next-tab 568 569# 570# Executed when aerc shuts down. 571#aerc-shutdown= 572 573[templates] 574# Templates are used to populate email bodies automatically. 575# 576 577# The directories where the templates are stored. It takes a colon-separated 578# list of directories. If this is unset or if a template cannot be found, the 579# following paths will be used as a fallback in that order: 580# 581# ${XDG_CONFIG_HOME:-~/.config}/aerc/templates 582# ${XDG_DATA_HOME:-~/.local/share}/aerc/templates 583# /nix/store/bk6874radkd8h2y75rgg8hd267pwhdkl-aerc-0.16.0/share/aerc/templates 584# 585#template-dirs= 586 587# The default template to be used for new messages. 588# 589# default: new_message 590#new-message=new_message 591 592# The default template to be used for quoted replies. 593# 594# default: quoted_reply 595#quoted-reply=quoted_reply 596 597# The default template to be used for forward as body. 598# 599# default: forward_as_body 600#forwards=forward_as_body