From 67f879cfc14631a03198b02b699d755d5c038757 Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Thu, 10 Nov 2022 19:17:20 +0530 Subject: [PATCH] home/natto: email config and misc shit Signed-off-by: Amneesh Singh --- home/natto/config/bspwm/bspwmrc | 1 - home/natto/config/mailcap | 10 ++++ home/natto/config/neomutt/neomuttrc | 36 ++++++++++++++ home/natto/config/neomutt/theme | 73 +++++++++++++++++++++++++++++ home/natto/default.nix | 1 + home/natto/email.nix | 69 +++++++++++++++++++++++++++ home/natto/pkgs.nix | 2 +- home/natto/programs.nix | 1 + home/natto/services.nix | 13 ++++- home/natto/stuff.nix | 46 +++++++++--------- 10 files changed, 224 insertions(+), 28 deletions(-) create mode 100644 home/natto/config/mailcap create mode 100644 home/natto/config/neomutt/neomuttrc create mode 100644 home/natto/config/neomutt/theme create mode 100644 home/natto/email.nix diff --git a/home/natto/config/bspwm/bspwmrc b/home/natto/config/bspwm/bspwmrc index af76916..a62abb6 100755 --- a/home/natto/config/bspwm/bspwmrc +++ b/home/natto/config/bspwm/bspwmrc @@ -7,7 +7,6 @@ feh --bg-scale ~/Downloads/gruvbox.jpg & killall "polybar" polybar main & killall node -node /mnt/Stuff/code/muhbot diff --git a/home/natto/config/mailcap b/home/natto/config/mailcap new file mode 100644 index 0000000..18a965d --- /dev/null +++ b/home/natto/config/mailcap @@ -0,0 +1,10 @@ +text/plain; $EDITOR %s ; +text/html; $BROWSER %s; test=test -n "$DISPLAY" +text/html; w3m %s; nametemplate=%s.html; needsterminal +text/html; w3m -v -F -T text/html -dump %s; copiousoutput +image/*; sxiv %s ; +video/*; setsid mpv --quiet %s &; copiousoutput +audio/*; mpv %s ; +application/pdf; zathura %s ; +application/pgp-encrypted; gpg -d '%s'; copiousoutput; +application/pgp-keys; gpg --import '%s'; copiousoutput; diff --git a/home/natto/config/neomutt/neomuttrc b/home/natto/config/neomutt/neomuttrc new file mode 100644 index 0000000..a8bfc7a --- /dev/null +++ b/home/natto/config/neomutt/neomuttrc @@ -0,0 +1,36 @@ +set editor="nvim" +#set index_format="%4C %Z %{%b %d %R} %-15.15L (%?l?%4l&%4c?) %s" +set sidebar_visible +#set sidebar_format="%B%?F? [%F]?%* %?N?%N/?%S" +set mail_check_stats +bind attach,index,pager \CU next-page +bind attach,index,pager \CD previous-page +bind attach,index,pager n next-entry +bind attach,index,pager e previous-entry +bind attach,index,pager 9 group-reply +bind pager g top +bind pager G bottom +bind pager n next-line +bind pager e previous-line +bind pager i view-attachments +bind attach,index g first-entry +bind attach,index G last-entry +bind index,pager \CE sidebar-prev +bind index,pager \CN sidebar-next +bind index,pager \CI sidebar-open +bind index,pager \CB sidebar-toggle-visible +set sleep_time = 0 +set markers = no +set mark_old = no +set mime_forward = yes +set wait_key = no +set fast_reply +set fcc_attach +set forward_format = "Fwd: %s" +set forward_quote +set reverse_name +set include +set mail_check=60 +auto_view text/html +alternative_order text/enriched text/plain text/html text +macro index,pager U "mbsync -a" "run mbsync to sync all emails" diff --git a/home/natto/config/neomutt/theme b/home/natto/config/neomutt/theme new file mode 100644 index 0000000..2d20e14 --- /dev/null +++ b/home/natto/config/neomutt/theme @@ -0,0 +1,73 @@ + +# A convenient colorscheme(r) I got from somewhere but forgot from where + +color index yellow default '.*' +color index_author red default '.*' +color index_number blue default +color index_subject cyan default '.*' + +# New mail is boldened: +color index brightyellow black "~N" +color index_author brightred black "~N" +color index_subject brightcyan black "~N" + +# Tagged mail is highlighted: +color index brightyellow blue "~T" +color index_author brightred blue "~T" +color index_subject brightcyan blue "~T" + +# Other colors and aesthetic settings: +mono bold bold +mono underline underline +mono indicator reverse +mono error bold +color normal default default +color indicator brightblack white +color sidebar_highlight red default +color sidebar_divider brightblack black +color sidebar_flagged red black +color sidebar_new green black +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 hdrdefault brightgreen default +color quoted green default +color quoted1 blue default +color quoted2 cyan default +color quoted3 yellow default +color quoted4 red default +color quoted5 brightred default +color signature brightgreen default +color bold black default +color underline black default +color normal default default + +# Regex highlighting: +color header blue default ".*" +color header brightmagenta default "^(From)" +color header brightcyan default "^(Subject)" +color header brightwhite default "^(CC|BCC)" +color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses +color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL +color body green default "\`[^\`]*\`" # Green text between ` and ` +color body brightblue default "^# \.*" # Headings as bold blue +color body brightcyan default "^## \.*" # Subheadings as bold cyan +color body brightgreen default "^### \.*" # Subsubheadings as bold green +color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow +color body brightcyan default "[;:][-o][)/(|]" # emoticons +color body brightcyan default "[;:][)(|]" # emoticons +color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? +color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? +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.*" +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<>\"]" diff --git a/home/natto/default.nix b/home/natto/default.nix index 560d33d..b453131 100644 --- a/home/natto/default.nix +++ b/home/natto/default.nix @@ -3,6 +3,7 @@ let in { imports = [ + ./email.nix ./secrets ./programs.nix ./xsession.nix diff --git a/home/natto/email.nix b/home/natto/email.nix new file mode 100644 index 0000000..fd97773 --- /dev/null +++ b/home/natto/email.nix @@ -0,0 +1,69 @@ +{ config, lib, pkgs, ... }: +let + key = "53EC089EF230E47A83BA8F8195949BD4B853F559"; + host = "mail.weirdnatto.in"; +in +{ + accounts.email = { + accounts = { + natto = rec { + realName = "Amneesh Singh"; + primary = true; + address = "natto@weirdnatto.in"; + userName = address; + gpg = { + inherit key; + signByDefault = true; + }; + imap = { + inherit host; + tls.enable = true; + }; + imapnotify.enable = true; + smtp = { + inherit host; + tls.enable = true; + }; + mbsync = { + enable = true; + create = "both"; + }; + passwordCommand = "pass show email/${address}"; + neomutt = { + enable = true; + extraMailboxes = [ + "Sent" + "Drafts" + "Trash" + "Junk" + ]; + }; + }; + }; + }; + programs = { + mbsync.enable = true; + neomutt = rec { + enable = true; + package = pkgs.neomutt; + sort = "reverse-date"; + extraConfig = + lib.concatMapStringsSep + "\n" + builtins.readFile + [ + ./config/neomutt/neomuttrc + ./config/neomutt/theme + ]; + }; + }; + home = { + packages = with pkgs; [ mailcap ]; + file = { + mailcap = { + source = ./config/mailcap; + target = "${config.home.homeDirectory}/.mailcap"; + }; + }; + }; +} diff --git a/home/natto/pkgs.nix b/home/natto/pkgs.nix index f22d100..72f7f86 100644 --- a/home/natto/pkgs.nix +++ b/home/natto/pkgs.nix @@ -72,6 +72,7 @@ })) tlauncher lutris + citra # Dev shit rust-analyzer @@ -99,7 +100,6 @@ teams anki-bin tor-browser-bundle-bin - neomutt mailcap (ncmpcpp.override { visualizerSupport = true; diff --git a/home/natto/programs.nix b/home/natto/programs.nix index fb15bdf..6ba7ba3 100644 --- a/home/natto/programs.nix +++ b/home/natto/programs.nix @@ -24,5 +24,6 @@ }; }; go.enable = true; + password-store.enable = true; }; } diff --git a/home/natto/services.nix b/home/natto/services.nix index 0b67658..44d6be0 100644 --- a/home/natto/services.nix +++ b/home/natto/services.nix @@ -37,6 +37,17 @@ in }; extraConfig = builtins.readFile ./config/mpd/mpd.conf; }; - mpd-discord-rpc.enable = true; + mpd-discord-rpc = { + enable = true; + settings = { + id = 1039532008424099850; # dont really care + format = { + large_image = "koishi"; + small_image = ""; + large_text = "real"; + small_text = "the"; + }; + }; + }; }; } diff --git a/home/natto/stuff.nix b/home/natto/stuff.nix index 770e697..0c041a4 100644 --- a/home/natto/stuff.nix +++ b/home/natto/stuff.nix @@ -1,30 +1,26 @@ { config, lib, pkgs, ... }: { - home = - let - home = config.home.homeDirectory; - in - { - sessionVariables = { - LV2_PATH = lib.makeSearchPath "lib/lv2" (with pkgs; [ calf ]); - TERM = "st-24bits"; + home = { + sessionVariables = { + LV2_PATH = lib.makeSearchPath "lib/lv2" (with pkgs; [ calf ]); + TERM = "st-24bits"; + }; + file = with config; { + dunstrc = { + source = ./config/dunst/dunstrc; + target = "${xdg.configHome}/dunst/dunstrc"; }; - file = { - dunstrc = { - source = ./config/dunst/dunstrc; - target = "${home}/.config/dunst/dunstrc"; - }; - stalonetray = { - source = ./config/stalonetrayrc; - target = "${home}/.stalonetrayrc"; - }; - ncmpcpp = { - source = ./config/ncmpcpp/config; - target = "${home}/.config/ncmpcpp/config"; - }; - mpv = { - source = ./config/mpv/mpv.conf; - target = "${home}/.config/mpv/mpv.conf"; - }; + stalonetray = { + source = ./config/stalonetrayrc; + target = "${home.homeDirectory}/.stalonetrayrc"; + }; + ncmpcpp = { + source = ./config/ncmpcpp/config; + target = "${xdg.configHome}/ncmpcpp/config"; + }; + mpv = { + source = ./config/mpv/mpv.conf; + target = "${xdg.configHome}/mpv/mpv.conf"; }; }; + }; }