modules/terminal-life: improve neomutt theming
This commit is contained in:
parent
ba78e0baf3
commit
3ed0b291f3
|
@ -1,6 +1,6 @@
|
|||
{ flake, ...}: with flake.self.theme.with0x; {
|
||||
env = {
|
||||
TERM = "xterm-256color";
|
||||
TERM = "xterm-direct";
|
||||
};
|
||||
|
||||
window = {
|
||||
|
@ -210,8 +210,8 @@
|
|||
# Normal colors
|
||||
normal = {
|
||||
black = base00;
|
||||
red = base08;
|
||||
green = base09;
|
||||
red = base09;
|
||||
green = base0B;
|
||||
yellow = base0A;
|
||||
blue = base0D;
|
||||
magenta = base0E;
|
||||
|
@ -222,13 +222,13 @@
|
|||
# Bright colors
|
||||
bright = {
|
||||
black = base00;
|
||||
red = base08;
|
||||
green = base09;
|
||||
red = base0F;
|
||||
green = base0B;
|
||||
yellow = base0A;
|
||||
blue = base0D;
|
||||
magenta = base0E;
|
||||
cyan = base0C;
|
||||
white = base07;
|
||||
white = base05;
|
||||
};
|
||||
|
||||
indexed_colors = [
|
||||
|
|
|
@ -99,13 +99,11 @@ in {
|
|||
vi = "nvim";
|
||||
vim = "nvim";
|
||||
mutt = "neomutt";
|
||||
cat = "bat";
|
||||
ls = "eza";
|
||||
la = "eza --group-directories-first -lag";
|
||||
wget = "wget --hsts-file=$XDG_CACHE_HOME/wget-hsts";
|
||||
irssi = "irssi --config=$XDG_CONFIG_HOME/irssi/config --home=$XDG_DATA_HOME/irssi";
|
||||
drone = "DRONE_TOKEN=$(secret-tool lookup drone token) drone";
|
||||
no = "manix \"\" | grep '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | fzf --preview=\"manix '{}'\" | xargs manix";
|
||||
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
|
||||
nnn = "nnn -d -e -H -r";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ in {
|
|||
screen
|
||||
watson
|
||||
jump
|
||||
bat
|
||||
]
|
||||
++ (
|
||||
if cfg.full
|
||||
|
|
|
@ -69,6 +69,9 @@ in {
|
|||
vim-airline-themes
|
||||
vim-apprentice-nvfetcher
|
||||
|
||||
# Preview colors inline
|
||||
nvim-colorizer-lua
|
||||
|
||||
# Git integrations
|
||||
# A Git wrapper so awesome, it should be illegal
|
||||
fugitive
|
||||
|
|
|
@ -83,4 +83,6 @@ vim.keymap.set('n', '<leader>f?', builtin.builtin, {})
|
|||
vim.keymap.set('n', '<leader>fr', builtin.command_history, {})
|
||||
vim.keymap.set('n', '<leader>fc', builtin.commands, {})
|
||||
vim.keymap.set('n', '<leader>ft', builtin.treesitter, {})
|
||||
|
||||
require'colorizer'.setup()
|
||||
EOF
|
||||
|
|
32
theme.nix
32
theme.nix
|
@ -6,22 +6,22 @@
|
|||
theme = inputs.themes.custom {
|
||||
"name" = "burn";
|
||||
"author" = "b12f";
|
||||
"base00" = "#1a181a";
|
||||
"base01" = "#2d2a2e";
|
||||
"base02" = "#303030";
|
||||
"base03" = "#949494";
|
||||
"base04" = "#d3d1d4";
|
||||
"base05" = "#e3e1e4";
|
||||
"base06" = "#303030";
|
||||
"base07" = "#ff5f5f";
|
||||
"base08" = "#f85e84";
|
||||
"base09" = "#df5923";
|
||||
"base0A" = "#e5c463";
|
||||
"base0B" = "#9ecd6f";
|
||||
"base0C" = "#ef9062";
|
||||
"base0D" = "#7accd7";
|
||||
"base0E" = "#ab9df2";
|
||||
"base0F" = "#d70000";
|
||||
"base00" = "#1a181a"; # black
|
||||
"base01" = "#2d2a2e"; # red
|
||||
"base02" = "#303030"; # green
|
||||
"base03" = "#949494"; # olive
|
||||
"base04" = "#d3d1d4"; # navy
|
||||
"base05" = "#e3e1e4"; # purple
|
||||
"base06" = "#303030"; # teal
|
||||
"base07" = "#ff5f5f"; # silver
|
||||
"base08" = "#f85e84"; # grey
|
||||
"base09" = "#df5923"; # red
|
||||
"base0A" = "#e5c463"; # lime
|
||||
"base0B" = "#9ecd6f"; # yellow
|
||||
"base0C" = "#ef9062"; # blue
|
||||
"base0D" = "#7accd7"; # fuchsia
|
||||
"base0E" = "#ab9df2"; # aqua
|
||||
"base0F" = "#d70000"; # white
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,132 +0,0 @@
|
|||
# base16-mutt: base16-shell support for mutt
|
||||
#
|
||||
# These depend on mutt compiled with s-lang, not ncurses. Check by running `mutt -v`
|
||||
# Details this configuration may be found in the mutt manual:
|
||||
# §3 Patterns <http://www.mutt.org/doc/manual/#patterns>
|
||||
# §9 Using color and mono video attributes <http://www.mutt.org/doc/manual/#color>
|
||||
|
||||
# https://www.neomutt.org/guide/configuration.html#color
|
||||
# base00 : color00 - Default Background
|
||||
# base01 : color18 - Lighter Background (Used for status bars)
|
||||
# base02 : color19 - Selection Background
|
||||
# base03 : color08 - Comments, Invisibles, Line Highlighting
|
||||
|
||||
# base04 : color20 - Dark Foreground (Used for status bars)
|
||||
# base05 : color07 - Default Foreground, Caret, Delimiters, Operators
|
||||
# base06 : color21 - Light Foreground (Not often used)
|
||||
# base07 : color15 - Light Background (Not often used)
|
||||
|
||||
# base08 : color01 - Index Item: Deleted.
|
||||
# base09 : color16 - Message: URL.
|
||||
# base0A : color03 - Search Text Background. Message: Bold.
|
||||
# base0B : color02 - Message: Code. Index Item: Tagged.
|
||||
# base0C : color06 - Message: Subject, Quotes. Index Item: Trusted.
|
||||
# base0D : color04 - Message: Headings.
|
||||
# base0E : color05 - Message: Italic, Underline. Index Item: Flagged.
|
||||
# base0F : color17 - Deprecated, Opening/Closing Embedded Language Tags e.g.
|
||||
|
||||
## Base
|
||||
color normal color07 color00 # softer, bold
|
||||
|
||||
## Weak
|
||||
color tilde color08 color00 # `~` padding at the end of pager
|
||||
color attachment color08 color00
|
||||
color tree color08 color00 # arrow in threads
|
||||
color signature color08 color00
|
||||
color markers color08 color00 # `+` wrap indicator in pager
|
||||
|
||||
## Strong
|
||||
color bold color21 color00
|
||||
color underline color21 color00
|
||||
|
||||
## Highlight
|
||||
color error color01 color00
|
||||
color message color02 color00 # informational messages
|
||||
color search color00 color01
|
||||
color status color01 color18
|
||||
color indicator color03 color19 # inverse, brighter
|
||||
|
||||
|
||||
# Message Index ----------------------------------------------------------------
|
||||
|
||||
## Weak
|
||||
color index color08 color00 "~R" # read messages
|
||||
color index color08 color00 "~d >45d" # older than 45 days
|
||||
color index color08 color00 "~v~(!~N)" # collapsed thread with no unread
|
||||
color index color08 color00 "~Q" # messages that have been replied to
|
||||
|
||||
## Strong
|
||||
color index color01 color00 "(~U|~N|~O)" # unread, new, old messages
|
||||
color index color01 color00 "~v~(~U|~N|~O)" # collapsed thread with unread
|
||||
|
||||
## Highlight
|
||||
### Trusted
|
||||
color index color06 color00 "~g" # PGP signed messages
|
||||
color index color06 color00 "~G" # PGP encrypted messages
|
||||
### Odd
|
||||
color index color01 color00 "~E" # past Expires: header date
|
||||
color index color01 color00 "~=" # duplicated
|
||||
color index color01 color00 "~S" # marked by Supersedes: header
|
||||
### Flagged
|
||||
color index color05 color00 "~F" # flagged messages
|
||||
color index color02 color00 "~v~(~F)" # collapsed thread with flagged inside
|
||||
|
||||
# Selection
|
||||
color index color02 color18 "~T" # tagged messages
|
||||
color index color01 color18 "~D" # deleted messages
|
||||
|
||||
### Message Headers ----------------------------------------------------
|
||||
|
||||
# Base
|
||||
color hdrdefault color07 color00
|
||||
color header color07 color00 "^"
|
||||
# Strong
|
||||
color header color21 color00 "^(From)"
|
||||
# Highlight
|
||||
color header color04 color00 "^(Subject)"
|
||||
|
||||
### Message Body -------------------------------------------------------
|
||||
# When possible, these regular expressions attempt to match http://spec.commonmark.org/
|
||||
## Weak
|
||||
# ~~~ Horizontal rules ~~~
|
||||
color body color08 color00 "([[:space:]]*[-+=#*~_]){3,}[[:space:]]*"
|
||||
## Strong
|
||||
# *Bold* span
|
||||
color body color03 color00 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
|
||||
# _Underline_ span
|
||||
color body color05 color00 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
|
||||
# /Italic/ span (Sometimes gets directory names)
|
||||
color body color05 color00 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
|
||||
# ATX headers
|
||||
color body color04 color00 "^[[:space:]]{0,3}#+[[:space:]].*$"
|
||||
## Highlight
|
||||
# `Code` span
|
||||
color body color02 color00 "(^|[[:space:][:punct:]])\`[^\`]+\`([[:space:][:punct:]]|$)"
|
||||
# Indented code block
|
||||
color body color02 color00 "^[[:space:]]{4,}.*$"
|
||||
# URLs
|
||||
color body color16 color00 "([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<>\"]"
|
||||
# Email addresses
|
||||
color body color16 color00 "((@(([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]\\])"
|
||||
# Emoticons ;-P
|
||||
color body black yellow "[;:][-o]?[})>{(<|P]"
|
||||
|
||||
# PGP
|
||||
color body color21 color01 "(BAD signature)"
|
||||
color body color21 color01 "^gpg: BAD signature from.*"
|
||||
color body color21 color04 "(Good signature)"
|
||||
color body color21 color04 "^gpg: Good signature .*"
|
||||
color body color04 color00 "^gpg: "
|
||||
|
||||
|
||||
## Quotation blocks
|
||||
color quoted color06 color00
|
||||
color quoted1 color02 color00
|
||||
color quoted2 color03 color00
|
||||
color quoted3 color16 color00
|
||||
color quoted4 color01 color00
|
||||
color quoted5 color17 color00
|
||||
color quoted6 color05 color00
|
||||
color quoted7 color04 color00
|
||||
|
||||
# vi: ft=muttrc
|
107
users/b12f/.config/neomutt/base16.muttrc.nix
Normal file
107
users/b12f/.config/neomutt/base16.muttrc.nix
Normal file
|
@ -0,0 +1,107 @@
|
|||
{ flake, ...}: with flake.self.theme.with0x; ''
|
||||
## Base
|
||||
color normal "${base05}" "${base00}" # softer, bold
|
||||
|
||||
## Weak
|
||||
color tilde "${base0A}" "${base00}" # `~` padding at the end of pager
|
||||
color attachment "${base0A}" "${base00}"
|
||||
color tree "${base0A}" "${base00}" # arrow in threads
|
||||
color signature "${base0A}" "${base00}"
|
||||
color markers "${base0A}" "${base00}" # `+` wrap indicator in pager
|
||||
|
||||
## Strong
|
||||
color bold "${base0C}" "${base00}"
|
||||
color underline "${base09}" "${base00}"
|
||||
|
||||
## Highlight
|
||||
color error "${base05}" "${base0F}"
|
||||
color message "${base00}" "${base0D}" # informational messages
|
||||
color search "${base07}" "${base06}"
|
||||
color status "${base07}" "${base06}"
|
||||
color indicator "${base0A}" "${base06}" # inverse, brighter
|
||||
|
||||
# Message Index ----------------------------------------------------------------
|
||||
|
||||
## Weak
|
||||
color index "${base03}" "${base00}" "~R" # read messages
|
||||
color index "${base03}" "${base00}" "~d >45d" # older than 45 days
|
||||
color index "${base03}" "${base00}" "~v~(!~N)" # collapsed thread with no unread
|
||||
color index "${base03}" "${base00}" "~Q" # messages that have been replied to
|
||||
|
||||
## Strong
|
||||
color index "${base05}" "${base00}" "(~U|~N|~O)" # unread, new, old messages
|
||||
color index "${base05}" "${base00}" "~v~(~U|~N|~O)" # collapsed thread with unread
|
||||
|
||||
## Highlight
|
||||
### Trusted
|
||||
color index "${base0B}" "${base00}" "~g" # PGP signed messages
|
||||
color index "${base0D}" "${base00}" "~G" # PGP encrypted messages
|
||||
### Untrusted
|
||||
# color index "${base03}" "${base00}" "~s" # PGP signed unverified
|
||||
### Odd
|
||||
color index "${base01}" "${base00}" "~E" # past Expires: header date
|
||||
color index "${base01}" "${base00}" "~=" # duplicated
|
||||
color index "${base01}" "${base00}" "~S" # marked by Supersedes: header
|
||||
### Flagged
|
||||
color index "${base05}" "${base00}" "~F" # flagged messages
|
||||
color index "${base02}" "${base00}" "~v~(~F)" # collapsed thread with flagged inside
|
||||
|
||||
# Selection
|
||||
color index "${base09}" "${base02}" "~T" # tagged messages
|
||||
color index "${base0F}" "${base02}" "~D" # deleted messages
|
||||
|
||||
### Message Headers ----------------------------------------------------
|
||||
|
||||
# Base
|
||||
color hdrdefault "${base03}" "${base00}"
|
||||
color header "${base03}" "${base00}" "^"
|
||||
# Strong
|
||||
color header "${base04}" "${base00}" "^(From)"
|
||||
# Highlight
|
||||
color header "${base05}" "${base00}" "^(Subject)"
|
||||
|
||||
### Message Body -------------------------------------------------------
|
||||
# When possible, these regular expressions attempt to match http://spec.commonmark.org/
|
||||
color body "${base05}" "${base00}" "^"
|
||||
## Weak
|
||||
# ~~~ Horizontal rules ~~~
|
||||
color body "${base08}" "${base00}" "([[:space:]]*[-+=#*~_]){3,}[[:space:]]*"
|
||||
## Strong
|
||||
# *Bold* span
|
||||
color body "${base03}" "${base00}" "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
|
||||
# _Underline_ span
|
||||
color body "${base05}" "${base00}" "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
|
||||
# /Italic/ span (Sometimes gets directory names)
|
||||
color body "${base05}" "${base00}" "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
|
||||
# ATX headers
|
||||
color body "${base04}" "${base00}" "^[[:space:]]{0,3}#+[[:space:]].*$"
|
||||
## Highlight
|
||||
# `Code` span
|
||||
color body "${base05}" "${base01}" "(^|[[:space:][:punct:]])\`[^\`]+\`([[:space:][:punct:]]|$)"
|
||||
# Indented code block
|
||||
color body "${base05}" "${base00}" "^[[:space:]]{4,}.*$"
|
||||
# URLs
|
||||
color body "${base0D}" "${base00}" "([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<>\"]"
|
||||
# Email addresses
|
||||
color body "${base0E}" "${base00}" "((@(([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]\\])"
|
||||
# Emoticons ;-P
|
||||
color body "${base00}" "${base0A}" "[;:][-o]?[})>{(<|P]"
|
||||
|
||||
# PGP
|
||||
color body "${base05}" "${base0F}" "(BAD signature)"
|
||||
color body "${base05}" "${base0F}" "^gpg: BAD signature from.*"
|
||||
color body "${base00}" "${base0B}" "(Good signature)"
|
||||
color body "${base00}" "${base0B}" "^gpg: Good signature .*"
|
||||
color body "${base04}" "${base00}" "^gpg: "
|
||||
|
||||
|
||||
## Quotation blocks
|
||||
color quoted "${base06}" "${base00}"
|
||||
color quoted1 "${base02}" "${base00}"
|
||||
color quoted2 "${base03}" "${base00}"
|
||||
color quoted3 color16 "${base00}"
|
||||
color quoted4 "${base01}" "${base00}"
|
||||
color quoted5 color17 "${base00}"
|
||||
color quoted6 "${base05}" "${base00}"
|
||||
color quoted7 "${base04}" "${base00}"
|
||||
''
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
args@{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
|
@ -83,7 +83,6 @@ in {
|
|||
];
|
||||
|
||||
home-manager.users."${psCfg.user.name}" = rec {
|
||||
xdg.configFile."neomutt/base16.muttrc".source = ./.config/neomutt/base16.muttrc;
|
||||
xdg.configFile."neomutt/mailcap".source = ./.config/neomutt/mailcap;
|
||||
xdg.configFile."urlscan/config.json".text = builtins.toJSON {
|
||||
keys = {
|
||||
|
@ -338,9 +337,7 @@ in {
|
|||
}) (builtins.attrNames accounts.email.accounts);
|
||||
|
||||
# unmailboxes = true;
|
||||
extraConfig = ''
|
||||
source ${configHome}/neomutt/base16.muttrc
|
||||
|
||||
extraConfig = (import ./.config/neomutt/base16.muttrc.nix args) + ''
|
||||
# HTML emails
|
||||
auto_view text/html # view html automatically
|
||||
alternative_order text/plain text/enriched text/html # save html for last
|
||||
|
|
Loading…
Reference in a new issue