summaryrefslogtreecommitdiff
path: root/aerc.nix
diff options
context:
space:
mode:
Diffstat (limited to 'aerc.nix')
-rw-r--r--aerc.nix199
1 files changed, 199 insertions, 0 deletions
diff --git a/aerc.nix b/aerc.nix
new file mode 100644
index 0000000..1d3b1e2
--- /dev/null
+++ b/aerc.nix
@@ -0,0 +1,199 @@
+{
+ pkgs,
+ inputs,
+ ...
+}: {
+ xdg.configFile."aerc/map.conf".text = ''
+ 1.Open=tag:github and not tag:checked
+ 2.Jira=tag:jira and not tag:checked
+ 2.Confluence=tag:confluence and not tag:checked
+ 4.Inbox=tag:inbox and not tag:archived and not tag:deleted and not tag:github
+ 5.Done=tag:github and tag:checked
+ '';
+
+ xdg.configFile."aerc/aerc.conf".text = ''
+ [general]
+
+ [statusline]
+
+ [viewer]
+
+ [compose]
+
+ [multipart-converters]
+
+ [filters]
+ text/plain=colorize
+ text/calendar=calendar
+ text/html=pandoc -f html -t plain
+ message/delivery-status=colorize
+ message/rfc822=colorize
+ .headers=colorize
+
+ [openers]
+
+ [hooks]
+ mail-received=notify-send "Mail from $AERC_FROM_NAME" "$AERC_FOLDER/$AERC_SUBJECT"
+
+ [templates]
+
+ [ui]
+ threading-enabled=true
+ fuzzy-complete=true
+ icon-attachment=📎
+ column-labels = {{map .Labels \
+ (exclude "read") \
+ (exclude "sent") \
+ (exclude "github") \
+ (exclude "unread") \
+ (case "open" "O") \
+ (case "jira" "J") \
+ (case "confluence" "W") \
+ (case "merged" "M") \
+ (case "closed" "C") \
+ (case "approved" "A") \
+ (case "checked" "X") \
+ | join ""}}
+ index-columns = date<=,name<10,flags>=,labels>5,subject<*
+ '';
+
+ xdg.configFile."aerc/binds.conf".text = ''
+ # Binds are of the form <key sequence> = <command to run>
+ # To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
+ # If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
+ <C-p> = :prev-tab<Enter>
+ <C-n> = :next-tab<Enter>
+ <C-t> = :term<Enter>
+ ? = :help keys<Enter>
+
+ [messages]
+ q = :quit<Enter>
+
+ j = :next<Enter>
+ <Down> = :next<Enter>
+ <C-d> = :next 50%<Enter>
+ <C-f> = :next 100%<Enter>
+ <PgDn> = :next 100%<Enter>
+
+ k = :prev<Enter>
+ <Up> = :prev<Enter>
+ <C-u> = :prev 50%<Enter>
+ <C-b> = :prev 100%<Enter>
+ <PgUp> = :prev 100%<Enter>
+ g = :select 0<Enter>
+ G = :select -1<Enter>
+
+ J = :next-folder<Enter>
+ K = :prev-folder<Enter>
+ H = :collapse-folder<Enter>
+ L = :expand-folder<Enter>
+
+ v = :mark -t<Enter>
+ V = :mark -v<Enter>
+
+ T = :toggle-threads<Enter>
+
+ <Enter> = :view<Enter>
+ d = :prompt 'Really delete this message?' 'delete-message'<Enter>
+ D = :delete<Enter>
+ A = :archive flat<Enter>
+
+ C = :compose<Enter>
+
+ rr = :reply -a<Enter>
+ rq = :reply -aq<Enter>
+ Rr = :reply<Enter>
+ Rq = :reply -q<Enter>
+ RR = :read<Enter>
+ RC = :tag +checked<Enter>
+
+ c = :cf<space>
+ $ = :term<space>
+ ! = :term<space>
+ | = :pipe<space>
+
+ / = :search<space>
+ \ = :filter<space>
+ n = :next-result<Enter>
+ N = :prev-result<Enter>
+ <Esc> = :clear<Enter>
+
+ z = :pipe -b workctl open<Enter>
+ Z = :pipe workctl edit<Enter>
+ PA = :pipe -b workctl approve<Enter>
+ PM = :pipe -b workctl merge<Enter>
+ PD = :pipe -b workctl dependabot<Enter>
+
+ [messages:folder=Drafts]
+ <Enter> = :recall<Enter>
+
+ [view]
+ / = :toggle-key-passthrough<Enter>/
+ q = :close<Enter>
+ O = :open<Enter>
+ S = :save<space>
+ | = :pipe<space>
+ D = :delete<Enter>
+ A = :archive flat<Enter>
+
+ <C-l> = :open-link <space>
+
+ f = :forward<Enter>
+ rr = :reply -a<Enter>
+ rq = :reply -aq<Enter>
+ Rr = :reply<Enter>
+ Rq = :reply -q<Enter>
+
+ H = :toggle-headers<Enter>
+ <C-k> = :prev-part<Enter>
+ <C-j> = :next-part<Enter>
+ J = :next<Enter>
+ K = :prev<Enter>
+
+ [view::passthrough]
+ $noinherit = true
+ $ex = <C-x>
+ <Esc> = :toggle-key-passthrough<Enter>
+
+ [compose]
+ # Keybindings used when the embedded terminal is not selected in the compose
+ # view
+ $noinherit = true
+ $ex = <C-x>
+ <C-k> = :prev-field<Enter>
+ <C-j> = :next-field<Enter>
+ <A-p> = :switch-account -p<Enter>
+ <A-n> = :switch-account -n<Enter>
+ <tab> = :next-field<Enter>
+ <backtab> = :prev-field<Enter>
+ <C-p> = :prev-tab<Enter>
+ <C-n> = :next-tab<Enter>
+
+ [compose::editor]
+ # Keybindings used when the embedded terminal is selected in the compose view
+ $noinherit = true
+ $ex = <C-x>
+ <C-k> = :prev-field<Enter>
+ <C-j> = :next-field<Enter>
+ <C-p> = :prev-tab<Enter>
+ <C-n> = :next-tab<Enter>
+
+ [compose::review]
+ # Keybindings used when reviewing a message to be sent
+ y = :send<Enter>
+ n = :abort<Enter>
+ v = :preview<Enter>
+ p = :postpone<Enter>
+ q = :choose -o d discard abort -o p postpone postpone<Enter>
+ e = :edit<Enter>
+ a = :attach<space>
+ d = :detach<space>
+
+ [terminal]
+ $noinherit = true
+ $ex = <C-x>
+
+ <C-p> = :prev-tab<Enter>
+ <C-n> = :next-tab<Enter>
+ '';
+}