diff --git a/.dotter/global.toml b/.dotter/global.toml index e695c82..69d2ab9 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -4,7 +4,6 @@ default_target_type = "symbolic" [helpers] -with_default = ".dotter/helpers/var_with_default.rhai" # BASE: A base system. Sets up a nice xdg (zsh) shell environment, utility scripts and # a development environment based on git and nvim. @@ -29,6 +28,8 @@ sh = "~" vcs = "~" [nvim.files] +"nvim/.config/nvim/spell/de.utf-8.add.spl" = { target = "~/.config/nvim/spell/de.utf-8.add.spl", type = "symbolic" } +"nvim/.config/nvim/spell/en.utf-8.add.spl" = { target = "~/.config/nvim/spell/en.utf-8.add.spl", type = "symbolic" } nvim = "~" [scripts.files] @@ -56,12 +57,10 @@ pass = "~" [office.files] "office/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } +"office/.config/glow/email.json" = { target = "~/.config/glow/email.json", type = "symbolic" } "office/.config/goimapnotify/goimapnotify.yaml" = { target = "~/.config/goimapnotify/goimapnotify.yaml", type = "template" } "office/.config/isync/mbsyncrc" = { target = "~/.config/isync/mbsyncrc", type = "template" } "office/.config/msmtp/config" = { target = "~/.config/msmtp/config", type = "template" } -"office/.config/aerc/accounts.conf" = { target = "~/.config/aerc/accounts.conf", type = "template" } -"office/.config/aerc/Personal.qmap" = { target = "~/.config/aerc/Personal.qmap", type = "template" } -"office/.config/notmuch/default/hooks/post-new" = { target = "~/.config/notmuch/default/hooks/post-new", type = "template" } "office/.config/neomutt/account" = { target = "~/.config/neomutt/account", type = "template" } "office/.config/neomutt/profile.gmail" = { target = "~/.config/neomutt/profile.gmail", type = "template" } "office/.config/neomutt/profile.private" = { target = "~/.config/neomutt/profile.private", type = "template" } @@ -93,11 +92,18 @@ writing = "~" depends = ["linux", "desktop", "multimedia", "qutebrowser"] [desktop.files] +"desktop/.config/flavours/templates" = { target = "~/.config/flavours/templates", type = "symbolic" } +"desktop/.config/waybar/config" = { target = "~/.config/waybar/config", type = "symbolic" } +"desktop/.config/mako/config" = { target = "~/.config/mako/config", type = "template", prepend = "# TEMPLATED BY DOTTER\n" } "desktop/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } desktop = "~" [multimedia.files] "multimedia/README.md" = { target = "~/NOWHERE", type = "symbolic", if = "false" } +"multimedia/.config/mpv/scripts" = { target = "~/.config/mpv/scripts", type = "symbolic" } +"multimedia/.config/ncmpcpp/config" = { target = "~/.config/ncmpcpp/config", type = "symbolic" } +"multimedia/.config/mpv/fonts/uosc_icons.otf" = { target = "~/.config/mpv/fonts/uosc_icons.otf", type = "symbolic" } +"multimedia/.config/mpv/fonts/uosc_textures.ttf" = { target = "~/.config/mpv/fonts/uosc_textures.ttf", type = "symbolic" } "multimedia/.config/vimiv/styles/base16" = { target = "~/.config/vimiv/styles/base16", type = "template" } multimedia = "~" diff --git a/.dotter/helpers/var_with_default.rhai b/.dotter/helpers/var_with_default.rhai deleted file mode 100644 index 1d4858b..0000000 --- a/.dotter/helpers/var_with_default.rhai +++ /dev/null @@ -1,12 +0,0 @@ -// tests the type of variable passed in -// if 'no' type (does not exist or cant be parsed) -// we return the second, 'default' variable - -fn choose(a, b) { - if type_of(a) != "()" { - return a; - } - return b; -} - -choose(params[0], params[1]) diff --git a/.dotter/sample.toml b/.dotter/sample.toml deleted file mode 100644 index 869f496..0000000 --- a/.dotter/sample.toml +++ /dev/null @@ -1,32 +0,0 @@ -includes = [] -packages = ["workstation"] - -[files] - -[variables] - -multimedia_beets_musicbrainz_user = "" -multimedia_beets_musicbrainz_pass = "" -multimedia_mopidy_subidy_url = "" -multimedia_mopidy_subidy_user = "" -multimedia_mopidy_subidy_pass = "" - -cred_llm_groq_api_key = "" -cred_llm_gh_copilot_token = "" -cred_llm_anthropic_api_key = "" -cred_llm_gemini_api_key = "" - -mail_personal_host = "" -mail_personal_username_cmd = "" -mail_personal_password_cmd = "" - -mail_notmuch_name = "" -mail_notmuch_primary_email = "" -mail_notmuch_other_email = "" -mail_notmuch_hook_labels = [ - "+list -- from:notifications@github.com" -] - -mail_aerc_from_email = "" -mail_aerc_aliases_email = "" -mail_aerc_notmuch_label_map = ["list = tag:list and not tag:trash"] diff --git a/desktop/.config/flavours/config.toml b/desktop/.config/flavours/config.toml index 1780d13..517afc6 100644 --- a/desktop/.config/flavours/config.toml +++ b/desktop/.config/flavours/config.toml @@ -73,9 +73,13 @@ start = "/* Start flavours */" end = "/* End flavours */" [[items]] +# MAKO DOES NOT SUPPORT INCLUDES YET template = "mako" -file = "~/.local/state/mako/style" -rewrite = true +file = "~/.config/mako/config" +light = false +rewrite = false +start = "# Start flavours" +end = "# End flavours" hook = "killall mako" [[items]] diff --git a/desktop/.config/mako/config b/desktop/.config/mako/config index 0b23b51..1b053df 100644 --- a/desktop/.config/mako/config +++ b/desktop/.config/mako/config @@ -9,9 +9,11 @@ default-timeout=5000 ignore-timeout=1 font=monospace 14 -# this requires the file to exist -# or mako will not start -include=~/.local/state/mako/style +# Intentionally left empty, automatically filled by flavours +# on switching theme. +# Start flavours + +# End flavours [urgency=critical] #on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga diff --git a/desktop/.config/sh/env.d/mako-create-style-dir.sh b/desktop/.config/sh/env.d/mako-create-style-dir.sh deleted file mode 100644 index 2c1e6e7..0000000 --- a/desktop/.config/sh/env.d/mako-create-style-dir.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh -# Ensure the directory and file for mako style exists or it errors out on startup - -[ -e "${XDG_STATE_HOME:-$HOME/.local/state}/mako" ] || mkdir -p "${XDG_STATE_HOME:-$HOME/.local/state}/mako" -[ -f "${XDG_STATE_HOME:-$HOME/.local/state}/mako/style" ] || touch "${XDG_STATE_HOME:-$HOME/.local/state}/mako/style" diff --git a/office/.config/aerc/Personal.qmap b/office/.config/aerc/Personal.qmap deleted file mode 100644 index 0053a53..0000000 --- a/office/.config/aerc/Personal.qmap +++ /dev/null @@ -1,16 +0,0 @@ -Inbox = tag:inbox AND not tag:list -Archive = tag:archive AND not tag:junk AND not tag:spam -All = '*' -Drafts = tag:draft -Sent = tag:sent -Trash = tag:trash - -# tags -label/unread = tag:unread and not tag:trash -label/replied = tag:replied and not tag:trash -label/important = tag:flagged or tag:important and not tag:trash -label/junk = tag:junk and not tag:trash - -{{#each mail_aerc_notmuch_label_map}} -{{this}} -{{/each}} diff --git a/office/.config/aerc/accounts.conf b/office/.config/aerc/accounts.conf deleted file mode 100644 index 1e68aa4..0000000 --- a/office/.config/aerc/accounts.conf +++ /dev/null @@ -1,21 +0,0 @@ -[Personal] -source = notmuch://~/documents/mail -maildir-store = ~/documents/mail -query-map = ~/.config/aerc/Personal.qmap -default = Inbox -folders-sort = Inbox,Drafts,Sent -check-mail-cmd = neomutt-syncmail -exclude-tags = spam -multi-file-strategy = act-dir-delete-rest -restrict-delete = true - -outgoing = msmtp -from = {{with_default mail_aerc_from_email "Jane Doe "}} -{{#if mail_aerc_aliases_email}} -aliases = {{mail_aerc_aliases_email}} -{{/if}} -use-envelope-from = true -copy-to = Sent -pgp-opportunistic-encrypt = true - -address-book-cmd = khard email --parsable --remove-first-line %s diff --git a/office/.config/aerc/aerc.conf b/office/.config/aerc/aerc.conf deleted file mode 100644 index 0cc2fce..0000000 --- a/office/.config/aerc/aerc.conf +++ /dev/null @@ -1,107 +0,0 @@ -[general] -enable-osc8 = true - -[ui] -dirlist-tree = true -fuzzy-complete = true -dialog-position = bottom - -styleset-name = simple - -index-columns = flags>6,name<20%,subject,date>= -this-week-time-format = Mon 02 -sidebar-width = 15 - -# column-separator = "│" -column-flags = {{.Flags | join ""}} \ - {{map .Labels (exclude .Folder) \ - (case `^new$` (.Style "" "attention")) \ - (case `^unread$` (.Style "" "accent")) \ - (case `^attachment$` (.Style "󰁦" "subdued")) \ - (case `^replied$` (.Style "↻" "subdued")) \ - (case `^forwarded$` (.Style "f" "")) \ - (case `^flagged$` (.Style "!" "highlight")) \ - (case `^important$` (.Style "" "highlight")) \ - (case `^list$` "") \ - (default "") \ - | join "" }} \ - {{if contains .AccountFrom.Address (.From | emails | join ", ")}}{{end}}\ - {{if contains .AccountFrom.Address (.Cc | emails | join ", ")}}{{end}}\ - {{if contains .AccountFrom.Address (.Bcc | emails | join ", ")}}{{end}} - -column-subject = {{(.Style .ThreadPrefix "subdued")}}{{if .ThreadFolded}}{{printf (.Style "%d " "subdued") .ThreadCount}}{{end}}{{.Subject}} - -icon-new = "" -icon-old = "" -icon-attachment = "" -icon-replied = "" -icon-forwarded = "" -icon-deleted = "" -icon-flagged = "" -icon-marked = "" -icon-signed = "" -icon-encrypted = "" -icon-unknown = "" -icon-invalid = "" - -threading-enabled = true -reverse-thread-order = true -show-thread-context = true -thread-prefix-folded = "+ " -thread-prefix-tip = "" -thread-prefix-indent = "" -thread-prefix-stem = "│" -thread-prefix-limb = "─" -thread-prefix-folded = "+" -thread-prefix-unfolded = "" -thread-prefix-first-child = "┬" -thread-prefix-has-siblings = "├" -thread-prefix-orphan = "┌" -thread-prefix-dummy = "┬" -thread-prefix-lone = " " -thread-prefix-last-sibling = "╰" - -[statusline] -column-left = {{.Account}}>{{compactDir .Folder}} {{.ContentInfo}} -column-center = {{.PendingKeys}} # RUE shows 'recent&unread/existing' -column-right = {{.RUE}} | {{.TrayInfo}} | {{cwd}} | {{dateFormat now "Mon Jan 2 15:04:05 2006"}} - -[viewer] - -[compose] -file-picker-cmd = vifm --choose-files - -reply-to-self = false -empty-subject-warning = true -no-attachment-warning = ^[^>]*(attach(ed|ment)|an(ge)?hang) - -[multipart-converters] -text/html=pandoc -f commonmark_x -t html --standalone --embed-resources --template email -# TODO: change to djot when new pandoc version in repos - -[filters] -.filename,~.*.ics = calendar -text/plain = wrap -w 100 | colorize -text/calendar = calendar -message/delivery-status = colorize -message/rfc822 = colorize -text/html = pandoc -f html -t plain -application/pdf = pdftotext - -l 10 -nopgbrk -q - | wrap -w 100 -application/msword = pandoc -f docx -t plain -application/vnd.openxmlformats-officedocument.wordprocessingml.document = pandoc -f docx -t plain -application/vnd.oasis.opendocument.text = pandoc -f odt -t plain -.headers = colorize -# text/html = ! html # ! for interactive applications - -[openers] -# does not have filename checking for openers? -.filename,~.*.ics = wezterm -e nvim - - -[hooks] -mail-deleted = notmuch new -mail-added = notmuch new -mail-sent = notmuch new -flag-changed = notmuch new -tag-modified = notmuch new -aerc-shutdown = notmuch new - -[templates] diff --git a/office/.config/aerc/binds.conf b/office/.config/aerc/binds.conf deleted file mode 100644 index a33819f..0000000 --- a/office/.config/aerc/binds.conf +++ /dev/null @@ -1,218 +0,0 @@ -# Binds are of the form = -# To use '=' in a key sequence, substitute it with "Eq": "" -# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit -gT = :prev-tab -gt = :next-tab - = :prev-tab - = :next-tab -\[t = :prev-tab -\]t = :next-tab - = :term -? = :help keys - = :prompt 'Quit?' quit - = :prompt 'Quit?' quit - = :suspend - -[messages] -q = :quit # quick quitting - -j = :next -\]m = :next - = :next - = :next 50% - = :next 100% - -k = :prev -\[m = :prev - = :prev - = :prev 50% - = :prev 100% -gg = :select 0 -G = :select -1 - -\]e = :next-folder -\[e = :prev-folder -\}e = :next-folder -u -\{e = :prev-folder -u - = :next-folder - = :prev-folder -H = :collapse-folder -L = :expand-folder - = :collapse-folder - = :expand-folder - -gi = :cf Inbox -gs = :cf Sent -gd = :cf Drafts -ga = :cf Archive -gA = :cf All -gr = :cf Trash - -v = :mark -t -V = :mark -V -J = :mark -t:next -K = :mark -t:prev -T = :prompt "Mark filter: " :mark - -zt = :toggle-threads -zc = :fold -zC = :fold -a -zo = :unfold -zO = :unfold -a -za = :fold -t -zA = :fold -t -a - -zz = :align center -zt = :align top -zb = :align bottom - - = :view -l = :view - -# remove filters -/ = :filter -\ = :filter -,F = :tag -,s = :tag !unread -,u = :tag !urgent -,d = :tag !todo -,i = :tag !important -,f = :tag !flagged -,w = :tag !wait -,l = :tag !delegated -,j = :tag !junk -,J = :tag !junk:archive flat # archive message as junk -s = :filter tag:unread -u = :filter tag:urgent -d = :filter tag:todo -i = :filter tag:important or tag:flagged -f = :filter tag:flagged -w = :filter tag:wait -l = :filter tag:delegated - -d = :move Trash -D = :choose -o y 'Really delete this message' :delete -a = :archive flat # archive message -A = :unmark -a:mark -T:archive flat # archive thread -M = :menu -d :move # move mail - -m = :compose -f = :forward -F = :bounce -rr = :reply -a -rq = :reply -aq -rR = :reply -rQ = :reply -q - -c = :cf -! = :term -| = :pipe - -/ = :search -\ = :filter -n = :next-result -N = :prev-result - = :clear - -s = :split -S = :vsplit - -# send mails to taskwarrior -,t = :pipe -s -m neomutt-2task -c -d -t -,T = :pipe -s -m neomutt-2task -c - -# # TODO: Investigate use -# pl = :patch list -# pa = :patch apply -# pd = :patch drop -# pb = :patch rebase -# pt = :patch term -# ps = :patch switch - -[messages:folder=Drafts] -m = :recall -[messages:folder=Trash] -d = :choose -o y 'Really delete this message' :delete -D = :delete - -[view] -/ = :toggle-key-passthrough/ -q = :close -h = :close -O = :open -o = :open -S = :menu -c 'vifm --choose-dir - --on-choose exit' :save # save current with -| = :pipe - -d = :move Trash -D = :choose -o y 'Really delete this message' :delete -a = :archive flat # archive message -A = :unmark -a:mark -T:archive flat # archive thread -M = :menu -d :move # move mail - - = :copy-link - = :open-link - -m = :compose -f = :forward -F = :bounce -rr = :reply -a -rq = :reply -aq -rR = :reply -rQ = :reply -q - -H = :toggle-headers -J = :next-part -K = :prev-part - = :prev-part - = :next-part - = :next - = :prev - = :next - = :prev - -tr = :pipe trans -show-original n -b -no-autocorrect # translate message - -[view::passthrough] -$noinherit = true -$ex = - = :toggle-key-passthrough - -[compose] -# Keybindings used when the embedded terminal is not selected in the compose view -$noinherit = true -$ex = -$complete = - = :prev-field - = :next-field - = :prev-field - = :next-field - = :next-field - = :prev-field - = :switch-account -p - = :switch-account -n - = :switch-account -p - = :switch-account -n - -[compose::editor] -# Keybindings used when the embedded terminal is selected in the compose view -$noinherit = true -$ex = - -[compose::review] -# Keybindings used when reviewing a message to be sent -# Inline comments are used as descriptions on the review screen -y = :send # Send -n = :abort # Abort (discard message, no confirmation) -s = :sign # Toggle signing -x = :encrypt # Toggle encryption to all recipients -v = :preview # Preview message -p = :postpone # Postpone -q = :choose -o d discard abort -o p postpone postpone # Abort or postpone -e = :edit # Edit (body and headers) -a = :attach -m # Add attachment -d = :detach # Remove attachment - -[terminal] -$noinherit = true -$ex = diff --git a/office/.config/aerc/stylesets/simple b/office/.config/aerc/stylesets/simple deleted file mode 100644 index 66e8165..0000000 --- a/office/.config/aerc/stylesets/simple +++ /dev/null @@ -1,14 +0,0 @@ -# vim: ft=dosini -# -# aerc default styleset -# -# This styleset uses the terminal defaults as its base, by not setting anything. -# For more details see the 'default' styleset in aerc, or the -# aerc-stylesets(7) manpage. - -[user] -attention.fg = 1 -accent.fg = 4 -highlight.fg = 3 -subdued.fg = 2 -subdued.dim = true diff --git a/office/.config/neomutt/colors b/office/.config/neomutt/colors index 9d0fd4c..bd7d123 100644 --- a/office/.config/neomutt/colors +++ b/office/.config/neomutt/colors @@ -48,13 +48,13 @@ color progress black cyan # Formatting ---------------------------------------------------------------------- set date_format = "%a %d %h %H:%M" -set index_format=" %zc %zs %zt | %-20.20L %?X?& ? %M %-30.100s %> %?Y?%Y ? %(!%a %d %h %H:%M) %B" +set index_format=" %zc %zs %zt | %-35.35L %?X?& ? %M %-30.100s %> %?Y?%Y ? %(!%a %d %h %H:%M) " set pager_format="%n %T %s%*  %{!%d %b · %H:%M} %?X? %X?%P" set status_format = " %D %?u? %u ?%?R? %R ?%?d? %d ?%?t? %t ?%?F? %F ?%?p? %p? \n \n" set compose_format="-- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>-" # set vfolder_format = "%N %?n?%3n& ? %8m  · %f" set attach_format = "%u%D  %T %-75.20d %T  %5s %m/%M" -set sidebar_format = '%D%%* %%S' +set sidebar_format = '%B%%* %%S' index-format-hook attachment_info '=B text/calendar ~X 1' ' ' index-format-hook attachment_info '=B text/calendar' " " index-format-hook attachment_info '~X 1' " " diff --git a/office/.config/neomutt/keys/bind b/office/.config/neomutt/keys/bind index a4ffd65..29f5712 100644 --- a/office/.config/neomutt/keys/bind +++ b/office/.config/neomutt/keys/bind @@ -42,31 +42,27 @@ macro index K ":set resolve=no:set resolv macro index t ":set resolve=no:set resolve=yes" "tag current thread" macro index T ":set resolve=no:set resolve=yes" "tag current entry" -# # flagging -# bind index,pager ,F modify-labels -# bind index,pager ,fc clear-flag -# bind index,pager ,\cf clear-flag -# bind index,pager ,ff flag-message -# bind index ,fs toggle-new # can't toggle new WHILE reading a msg -# macro index ,S "T~UN." "mark all messages as read" -# bind index,pager ,fl edit-label # set X-Label Header -# # Saner copy/move dialogs -# macro index,pager ,c "?" "copy a message to a mailbox" -# macro index,pager ,m "?" "move thread to a mailbox" -# macro index,pager ,M "?" "move a message to a mailbox" +# flagging +bind index,pager ,F set-flag +bind index,pager ,fc clear-flag +bind index,pager ,\cf clear-flag +bind index,pager ,ff flag-message +bind index ,fs toggle-new # can't toggle new WHILE reading a msg +macro index ,S "T~UN." "mark all messages as read" +bind index,pager ,fl edit-label # set X-Label Header # sorting bind index s sort-mailbox bind index S sort-reverse # threads -macro index l "" "display message" -macro index "" "display message" +bind index l display-message +bind index display-message bind index h collapse-thread bind index collapse-thread # TODO: Remove in favor of learning za? bind pager,index + link-threads bind pager,index - break-thread -bind pager,index gt next-thread # TODO: overwritten by go to trash +bind pager,index gt next-thread bind pager,index gT previous-thread bind pager,index za collapse-thread bind pager,index zA collapse-all @@ -80,8 +76,13 @@ bind index,pager dt delete-subthread bind index,pager u undelete-thread bind index,pager U undelete-message # TODO: Figure out -# macro index D ";:set resolve=no!=Archiveecho 'Message deleted':set resolve=yes" "Quick Delete" -# macro index A ";:set resolve=no!=Archiveecho 'Message archived':set resolve=yes" "Quick Archive" +macro index D ";:set resolve=no!=Archiveecho 'Message deleted':set resolve=yes" "Quick Delete" +macro index A ";:set resolve=no!=Archiveecho 'Message archived':set resolve=yes" "Quick Archive" + +# Saner copy/move dialogs +macro index,pager ,c "?" "copy a message to a mailbox" +macro index,pager ,m "?" "move thread to a mailbox" +macro index,pager ,M "?" "move a message to a mailbox" # search navigation bind generic,index,attach,browser,pager n search-next # next result @@ -175,28 +176,16 @@ bind compose gr group-related bind compose gl group-multilingual bind compose gu ungroup-attachment -# manage attachments macro attach s 'source "neomutt-filer saveto ~/downloads"|' "Save attachment to dir" bind attach view-mailcap bind attach l view-mailcap -# mailbox navigation -macro index,pager gi "Inbox" "go to inbox" -macro index,pager gs "Sent" "go to sent" -macro index,pager gd "Drafts" "go to drafts" -macro index,pager gt "Trash" "go to trash" -macro index,pager ga "Archive" "go to archive" -macro index,pager gr "Receipts" "go to receipts" -macro index,pager gj "Jobs" "go to jobs" - -#### Misc functions and macros - -# Refresh far imap email -macro index,pager O "export MBSYNC_PRE=true; neomutt-syncmail" "refresh all e-mail" - -# Send mail to taskwarrior -macro index,pager ,t "neomutt-2task -c -d -t" "add mail to taskwarrior" -macro index,pager ,T "neomutt-2task -c" "quickadd mail to taskwarrior" +# questions +# https://github.com/ceuk/mutt_dotfiles/blob/master/.config/mutt/keys/binds.muttrc +# macro index \# "\n" "Mark as Complete" +# macro index "\n\n" +# macro index x "all\n" "show all messages (undo limit)" +# macro index \ci "~F\n" "Limit by flagged" # Write (djot-flavored) markdown and instantly transform it into a TXT/HTML result # HTML-enabled email readers display that and others can still enjoy a txt representation @@ -210,5 +199,38 @@ macro compose ,m \ " \ "Convert markdown to HTML5 and plaintext alternative content types" +# +# +# # mailbox navigation +macro index,pager gi "=Inbox" "go to inbox" +# macro index,pager gs "=Sent" "go to sent" +# macro index,pager gd "=Drafts" "go to drafts" +# macro index,pager gt "=Trash" "go to trash" +# macro index,pager ga "=Archive" "go to archive" +# macro index,pager gj "=Junk" "go to junk" +# # pager navigation +# bind pager,attach h exit +# bind pager l view-attachments +# bind pager k previous-line +# bind pager j next-line +# bind pager gg top +# bind pager G bottom +# +# # markdown to html for composition +# # TODO: Check if this is working - F is a spelling mistake no? +# macro compose ,m "F pandoc -s -f markdown -t html \ny^T^Utext/html; charset=UTF-8\n" "Convert from MD to HTML" +# +# +# # since we unbound the original g +# bind index,pager r noop # to avoid accidentally sending replies +# bind index,pager rr group-reply +# bind index,pager ro reply # # open urls found in the e-mail # macro index,pager \CU " unset pipe_decodeextract_url | fzf | clip" "get URLs" +# +# # Refresh far imap email +# macro index O "export MBSYNC_PRE=true; neomutt-syncmail" "refresh all e-mail" +# +# # Send mail to taskwarrior +# macro index,pager ,T "neomutt-2task -c -d -t" "add mail as task to taskwarrior with custom description and tags" +# macro index,pager ,t "neomutt-2task -c" "add mail as task to taskwarrior" diff --git a/office/.config/neomutt/mailcap b/office/.config/neomutt/mailcap index 123dda9..1f634ff 100644 --- a/office/.config/neomutt/mailcap +++ b/office/.config/neomutt/mailcap @@ -19,15 +19,10 @@ video/*; setsid mpv --quiet %s &; copiousoutput # open spreadsheets in sc-im application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; sc-im %s; needsterminal -# documents -application/pdf; pdftotext -layout %s -; copiousoutput; print=open %s -application/msword; pandoc --from docx --to plain %s; copiousoutput -application/vnd.openxmlformats-officedocument.wordprocessingml.document; pandoc --from odt --to plain %s; copiousoutput -application/rtf; pandoc --from rtf --to plain %s; copiousoutput - +# open anything else externally +application/pdf; open %s; +application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; open /tmp/mutt/$(basename %s) & application/pgp-encrypted; gpg -d '%s'; copiousoutput; application/pgp-keys; gpg --import '%s'; copiousoutput; -# open anything else externally -application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; open /tmp/mutt/$(basename %s) & diff --git a/office/.config/neomutt/neomuttrc b/office/.config/neomutt/neomuttrc index 202bfc0..e768713 100644 --- a/office/.config/neomutt/neomuttrc +++ b/office/.config/neomutt/neomuttrc @@ -5,67 +5,3 @@ source keys/unbind source keys/bind source account - -################## notmuch settings -# index notmuch on start and exit -startup-hook "`command -v notmuch && notmuch new 2>/dev/null`" -shutdown-hook "`command -v notmuch && notmuch new 2>/dev/null`" -# whenever changing directory fetch changes -folder-hook notmuch:// "push 'notmuch new >/dev/null'" - -set nm_query_type = "threads" -set nm_exclude_tags = "spam" -set nm_record = yes -set nm_record_tags = "-inbox,archive" -virtual-mailboxes "Inbox" "notmuch://?query=folder:Inbox" \ - "Unread" "notmuch://?query=tag:unread" \ - "Archive" "notmuch://?query=folder:Archive" \ - "Drafts" "notmuch://?query=folder:Drafts" \ - "Sent" "notmuch://?query=folder:Sent" \ - "Jobs" "notmuch://Jobs?query=folder:Jobs" \ - "Receipts" "notmuch://?query=folder:Receipts" \ - "Junk" "notmuch://?query=folder:Junk" \ - "github" "notmuch://?query=tag:github" \ - "bemoji" "notmuch://?query=tag:bemoji"\ - "All" "notmuch://?query=*"\ - "Trash" "notmuch://?query=folder:Trash" \ - -push 'Inbox' - -virtual-mailboxes "date/" "notmuch://?query=date:today.."\ - " this week" "notmuch://?query=date:week.."\ - " this month" "notmuch://?query=date:month.." - -virtual-mailboxes "attach/" "notmuch://?query=attachment:\.%20not%20attachment:\.pdf"\ - " with PDF" "notmuch://?query=attachment:\.pdf"\ - " with JPG" "notmuch://?query=attachment:\.jpg%20or%20attachment:\.png" - -# bind index,pager S modify-labels # allow +adding -removing !toggling any notmuch tags -# macro index,pager f "+flagged" "Toggle flagged tag" -# -# macro index,pager ,ff "!flaggednotmuch new" "toggle flag" -macro index,pager ,ff "!flagged" "toggle flag" -macro index,pager ,fi "+inbox" "send to inbox" -macro index,pager R " '+trashnotmuch new'" "send to trash" - - -bind index,pager w modify-labels -# macro index A "+archive -unread -inbox" -# macro index I "-inbox -unread" -# macro index S "" - -tag-transforms "unread" "U" -tag-formats "inbox" "GI" \ - "flagged" "GF" \ - "unread" "GU" \ - "test" "Gt" \ - -color index_tags red black -set index_format="%zc %zs %zt | %-20.20L %?X?& ? %M %-30.100s %* %?GF?%GF ? %(!%a %d %h %H:%M)" - -# conditional dates, showing "09:48" for today's msg, "Mon 27 Aug" for this year's msg, -# "22 Dec '24" for previous years -# set index_format="%-30.100s %* %<[y?%<[d?%[%H:%M]&%[%a %d %h]>&%[%d %h \'%y]>" - - -# - [ ] show 'Inbox' etc in index IF we are in query results diff --git a/office/.config/notmuch/config b/office/.config/notmuch/config index 860e3c0..fe92f8b 100644 --- a/office/.config/notmuch/config +++ b/office/.config/notmuch/config @@ -48,8 +48,8 @@ other_email=mo82rimu@studserv.uni-leipzig.de;moehme@ruc.dk; # in the mail store. # [new] -tags=unread;inbox; -ignore=.uidvalidity;.mbsyncstate; +tags=unread;inbox +ignore=.uidvalidity;.mbsyncstate;Trash;Junk # Search configuration # diff --git a/office/.config/notmuch/default/hooks/post-new b/office/.config/notmuch/default/hooks/post-new deleted file mode 100755 index 656e744..0000000 --- a/office/.config/notmuch/default/hooks/post-new +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env sh - -echo " - --unread -- folder:Trash OR folder:Archive --unread -flagged -todo -- folder:Trash - -{{#each mail_notmuch_hook_labels}} -{{this}} -{{/each}} -" | - notmuch tag --batch diff --git a/office/.local/bin/aerc-in-terminal b/office/.local/bin/aerc-in-terminal deleted file mode 100755 index 8a714bd..0000000 --- a/office/.local/bin/aerc-in-terminal +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# If the user has set $TERMINAL, use it, otherwise fall back to foot. -exec "${TERMINAL:-foot}" -e --class float aerc "$@" diff --git a/office/.local/share/applications/aerc.desktop b/office/.local/share/applications/aerc.desktop deleted file mode 100644 index 2921b65..0000000 --- a/office/.local/share/applications/aerc.desktop +++ /dev/null @@ -1,16 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=aerc - -GenericName=Mail Client -GenericName[de]=Email Client -Comment=Launches the aerc email client -Comment[de]=Startet den aerc Email-Client -Keywords=Email,Mail,IMAP,SMTP -Categories=Office;Network;Email;ConsoleOnly - -Type=Application -Icon=utilities-terminal -Terminal=false -Exec=aerc-in-terminal %u -MimeType=x-scheme-handler/mailto diff --git a/services/sv/waybar/run b/services/sv/waybar/run index 3e61f01..31b6db6 100755 --- a/services/sv/waybar/run +++ b/services/sv/waybar/run @@ -1,9 +1,6 @@ #!/bin/sh -#shellcheck disable=SC1091 [ -r ./conf ] && . ./conf -pgrep -x waybar && pkill -x waybar - exec 2>&1 exec chpst -e "$TURNSTILE_ENV_DIR" waybar diff --git a/sh/.config/sh/env.d/llm-api.sh b/sh/.config/sh/env.d/llm-api.sh index 2a61a34..63f8784 100644 --- a/sh/.config/sh/env.d/llm-api.sh +++ b/sh/.config/sh/env.d/llm-api.sh @@ -3,7 +3,15 @@ # # Received from dotter variables -export GROQ_API_KEY="{{with_default cred_llm_groq_api_key ''}}" -export GH_COPILOT_TOKEN="{{with_default cred_llm_gh_copilot_token ''}}" -export ANTHROPIC_API_KEY="{{with_default cred_llm_anthropic_api_key ''}}" -export GEMINI_API_KEY="{{with_default cred_llm_gemini_api_key ''}}" +{{#if cred_llm_groq_api_key}} +export GROQ_API_KEY="{{cred_llm_groq_api_key}}" +{{/if}} +{{#if cred_llm_groq_api_key}} +export GH_COPILOT_TOKEN="{{cred_llm_gh_copilot_token}}" +{{/if}} +{{#if cred_llm_groq_api_key}} +export ANTHROPIC_API_KEY="{{cred_llm_anthropic_api_key}}" +{{/if}} +{{#if cred_llm_groq_api_key}} +export GEMINI_API_KEY="{{cred_llm_gemini_api_key}}" +{{/if}} diff --git a/terminal/.config/wezterm/maps.lua b/terminal/.config/wezterm/maps.lua index 57d0740..12e7848 100644 --- a/terminal/.config/wezterm/maps.lua +++ b/terminal/.config/wezterm/maps.lua @@ -3,7 +3,6 @@ local act = wezterm.action local keys = { { key = "L", mods = "CTRL|SHIFT", action = "DisableDefaultAssignment" }, - { key = "U", mods = "CTRL|SHIFT", action = "DisableDefaultAssignment" }, { key = "[", mods = "CTRL", action = act.ScrollToPrompt(-1) }, { key = "]", mods = "CTRL", action = act.ScrollToPrompt(1) },