home/natto: email config and misc shit
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
		@@ -7,7 +7,6 @@ feh --bg-scale ~/Downloads/gruvbox.jpg &
 | 
			
		||||
killall "polybar"
 | 
			
		||||
polybar main &
 | 
			
		||||
killall node
 | 
			
		||||
node /mnt/Stuff/code/muhbot
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								home/natto/config/mailcap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								home/natto/config/mailcap
									
									
									
									
									
										Normal file
									
								
							@@ -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;
 | 
			
		||||
							
								
								
									
										36
									
								
								home/natto/config/neomutt/neomuttrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								home/natto/config/neomutt/neomuttrc
									
									
									
									
									
										Normal file
									
								
							@@ -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 "<shell-escape>mbsync -a<enter>" "run mbsync to sync all emails"
 | 
			
		||||
							
								
								
									
										73
									
								
								home/natto/config/neomutt/theme
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								home/natto/config/neomutt/theme
									
									
									
									
									
										Normal file
									
								
							@@ -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<>\"]"
 | 
			
		||||
@@ -3,6 +3,7 @@ let
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./email.nix
 | 
			
		||||
    ./secrets
 | 
			
		||||
    ./programs.nix
 | 
			
		||||
    ./xsession.nix
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										69
									
								
								home/natto/email.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								home/natto/email.nix
									
									
									
									
									
										Normal file
									
								
							@@ -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";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -24,5 +24,6 @@
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    go.enable = true;
 | 
			
		||||
    password-store.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user