diff --git a/home/gabriel/features/cli/fish/default.nix b/home/gabriel/features/cli/fish/default.nix index 15619184..ec875ca0 100644 --- a/home/gabriel/features/cli/fish/default.nix +++ b/home/gabriel/features/cli/fish/default.nix @@ -10,7 +10,6 @@ hasEza = hasPackage "eza"; hasSpecialisationCli = hasPackage "specialisation"; hasAwsCli = hasPackage "awscli2"; - hasNeomutt = config.programs.neomutt.enable; in { imports = [ ./tide.nix @@ -30,8 +29,6 @@ in { ls = mkIf hasEza "eza"; exa = ls; - mutt = mkIf hasNeomutt "neomutt"; - m = mutt; aws-switch = mkIf hasAwsCli "export AWS_PROFILE=(aws configure list-profiles | fzf)"; awssw = aws-switch; diff --git a/home/gabriel/features/productivity/accounts/mgc.nix b/home/gabriel/features/productivity/accounts/mgc.nix index 139b621f..40883b95 100644 --- a/home/gabriel/features/productivity/accounts/mgc.nix +++ b/home/gabriel/features/productivity/accounts/mgc.nix @@ -63,17 +63,6 @@ in { extraConfig.auth = "oauthbearer"; enable = true; }; - neomutt = { - enable = true; - mailboxName = "=== MGC ==="; - extraMailboxes = [ - "Archive" - "Drafts" - "Junk" - "Sent" - "Trash" - ]; - }; folders.sent = null; aerc = { enable = true; diff --git a/home/gabriel/features/productivity/accounts/personal.nix b/home/gabriel/features/productivity/accounts/personal.nix index 366a69b5..2bbe97aa 100644 --- a/home/gabriel/features/productivity/accounts/personal.nix +++ b/home/gabriel/features/productivity/accounts/personal.nix @@ -40,17 +40,6 @@ in { msmtp = { enable = true; }; - neomutt = { - enable = true; - mailboxName = "=== Personal ==="; - extraMailboxes = [ - "Archive" - "Drafts" - "Junk" - "Sent" - "Trash" - ]; - }; aerc = { enable = true; # Pinned at the top of the sidebar, in this order; the rest stays diff --git a/home/gabriel/features/productivity/accounts/usp.nix b/home/gabriel/features/productivity/accounts/usp.nix index 0e5fe97b..faa9b965 100644 --- a/home/gabriel/features/productivity/accounts/usp.nix +++ b/home/gabriel/features/productivity/accounts/usp.nix @@ -74,17 +74,6 @@ in { extraConfig.auth = "oauthbearer"; enable = true; }; - neomutt = { - enable = true; - mailboxName = "=== USP ==="; - extraMailboxes = [ - "Archive" - "Drafts" - "Junk" - "Sent" - "Trash" - ]; - }; folders.sent = null; aerc = { enable = true; diff --git a/home/gabriel/features/productivity/default.nix b/home/gabriel/features/productivity/default.nix index 6ca87394..cacfb48b 100644 --- a/home/gabriel/features/productivity/default.nix +++ b/home/gabriel/features/productivity/default.nix @@ -8,7 +8,6 @@ ./mail.nix ./calendar.nix - ./neomutt.nix # Pass feature is required ../pass diff --git a/home/gabriel/features/productivity/neomutt.nix b/home/gabriel/features/productivity/neomutt.nix deleted file mode 100644 index 899b8c06..00000000 --- a/home/gabriel/features/productivity/neomutt.nix +++ /dev/null @@ -1,256 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - xdg = { - desktopEntries = { - neomutt = { - name = "Neomutt"; - genericName = "Email Client"; - comment = "Read and send emails"; - exec = "neomutt %U"; - icon = "mutt"; - terminal = true; - categories = [ - "Network" - "Email" - "ConsoleOnly" - ]; - type = "Application"; - mimeType = ["x-scheme-handler/mailto"]; - }; - }; - mimeApps.defaultApplications = { - "x-scheme-handler/mailto" = "neomutt.desktop"; - }; - }; - - programs.neomutt = { - enable = true; - vimKeys = true; - checkStatsInterval = 60; - sidebar = { - enable = true; - width = 30; - }; - settings = { - mark_old = "no"; - text_flowed = "yes"; - reverse_name = "yes"; - query_command = ''"khard email --parsable '%s'"''; - }; - binds = [ - { - action = "sidebar-toggle-visible"; - key = "\\\\"; - map = [ - "index" - "pager" - ]; - } - { - action = "group-reply"; - key = "L"; - map = [ - "index" - "pager" - ]; - } - { - action = "toggle-new"; - key = "B"; - map = ["index"]; - } - ]; - macros = let - browserpipe = "cat /dev/stdin > /tmp/muttmail.html && xdg-open /tmp/muttmail.html"; - in [ - { - action = ""; - key = "J"; - map = [ - "index" - "pager" - ]; - } - { - action = ""; - key = "K"; - map = [ - "index" - "pager" - ]; - } - { - action = "+Archive"; - key = "A"; - map = [ - "index" - "pager" - ]; - } - { - action = "${browserpipe}"; - key = "V"; - map = ["attach"]; - } - { - action = "${pkgs.urlscan}/bin/urlscan"; - key = "F"; - map = ["pager"]; - } - { - action = "html${browserpipe}"; - key = "V"; - map = [ - "index" - "pager" - ]; - } - ]; - extraConfig = let - # Collect all addresses and aliases - addresses = lib.flatten ( - lib.mapAttrsToList (_: v: [v.address] ++ v.aliases) config.accounts.email.accounts - ); - in - '' - alternates "${lib.concatStringsSep "|" addresses}" - '' - + '' - # From: https://github.com/altercation/mutt-colors-solarized/blob/master/mutt-colors-solarized-dark-16.muttrc - - # basic colors --------------------------------------------------------- - color normal brightyellow default - color error red default - color tilde black default - color message cyan default - color markers red white - color attachment white default - color search brightmagenta default - color status brightyellow black - color indicator brightblack yellow - color tree cyan default # arrow in threads - - # basic monocolor screen - mono bold bold - mono underline underline - mono indicator reverse - mono error bold - - # index ---------------------------------------------------------------- - - color index red default "~A" # all messages - color index blue default "~N" # new messages - color index brightred default "~E" # expired messages - color index blue default "~N" # new messages - color index blue default "~O" # old messages - color index brightmagenta default "~Q" # messages that have been replied to - color index brightgreen default "~R" # read messages - color index blue default "~U" # unread messages - color index blue default "~U~$" # unread, unreferenced messages - color index cyan default "~v" # messages part of a collapsed thread - color index magenta default "~P" # messages from me - color index cyan default "~p!~F" # messages to me - color index cyan default "~N~p!~F" # new messages to me - color index cyan default "~U~p!~F" # unread messages to me - color index brightgreen default "~R~p!~F" # messages to me - color index red default "~F" # flagged messages - color index red default "~F~p" # flagged messages to me - color index red default "~N~F" # new flagged messages - color index red default "~N~F~p" # new flagged messages to me - color index red default "~U~F~p" # new flagged messages to me - color index brightcyan default "~v~(!~N)" # collapsed thread with no unread - color index yellow default "~v~(~N)" # collapsed thread with some unread - color index green default "~N~v~(~N)" # collapsed thread with unread parent - color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread - color index yellow black "~v~(~F~N)" # collapsed thread with some unread & flagged - color index green black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged - color index green black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged - color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly - color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) - color index yellow default "~(~N)" # messages in threads with some unread - color index green default "~S" # superseded messages - color index black red "~D" # deleted messages - color index black red "~N~D" # deleted messages - color index red default "~T" # tagged messages - - # message headers ------------------------------------------------------ - - color hdrdefault brightgreen default - color header brightyellow default "^(From)" - color header blue default "^(Subject)" - - # body ----------------------------------------------------------------- - - color quoted blue default - color quoted1 cyan default - color quoted2 yellow default - color quoted3 red default - color quoted4 brightred default - - color signature brightgreen default - color bold black default - color underline black default - color normal default default - color body brightcyan default "[;:][-o][)/(|]" # emoticons - color body brightcyan default "[;:][)(|]" # emoticons - color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" - color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? - color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? - - ## pgp - - color body red default "(BAD signature)" - color body cyan default "(Good signature)" - color body brightblack default "^gpg: Good signature .*" - color body brightyellow default "^gpg: " - color body brightyellow red "^gpg: BAD signature from.*" - mono body bold "^gpg: Good signature" - mono body bold "^gpg: BAD signature from.*" - - # yes, an insance URL regex - color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" - # and a heavy handed email regex - color body magenta default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - - # Various smilies and the like - color body brightwhite default "<[Gg]>" # - color body brightwhite default "<[Bb][Gg]>" # - color body yellow default " [;:]-*[})>{(<|]" # :-) etc... - # *bold* - color body blue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" - mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" - # _underline_ - color body blue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" - mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" - # /italic/ (Sometimes gets directory names) - color body blue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - - # Border lines. - color body blue default "( *[-+=#*~_]){6,}" - - # From https://github.com/jessfraz/dockerfiles/blob/master/mutt/.mutt/mutt-patch-highlighting.muttrc - color body cyan default ^(Signed-off-by).* - color body cyan default ^(Docker-DCO-1.1-Signed-off-by).* - color body brightwhite default ^(Cc) - color body yellow default "^diff \-.*" - color body brightwhite default "^index [a-f0-9].*" - color body brightblue default "^---$" - color body white default "^\-\-\- .*" - color body white default "^[\+]{3} .*" - color body green default "^[\+][^\+]+.*" - color body red default "^\-[^\-]+.*" - color body brightblue default "^@@ .*" - color body green default "LGTM" - color body brightmagenta default "-- Commit Summary --" - color body brightmagenta default "-- File Changes --" - color body brightmagenta default "-- Patch Links --" - ''; - }; -}