master
Dustin Swan 6 months ago
parent f8e8a8c485
commit 38cc6b48cf

@ -7,7 +7,3 @@ fi
if command -v nix &> /dev/null; then if command -v nix &> /dev/null; then
nix-collect-garbage -d nix-collect-garbage -d
fi fi
if command -v doom &> /dev/null; then
doom purge
fi

@ -1,17 +1,4 @@
#!/bin/sh #!/bin/sh
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Test
# @raycast.mode compact
# Optional parameters:
# @raycast.icon 🤖
# Documentation:
# @raycast.author dustinswan
# @raycast.authorURL https://raycast.com/dustinswan
if if
command -v mbsync >/dev/null command -v mbsync >/dev/null
then then

@ -8,6 +8,5 @@ fi
if command -v nix &> /dev/null; then if command -v nix &> /dev/null; then
nix-channel --update nix-channel --update
nix-env -u
home-manager switch home-manager switch
fi fi

@ -6,37 +6,45 @@ in
{ {
home.stateVersion = "18.09"; home.stateVersion = "18.09";
home.packages = with pkgs; [ home.username = "dustinswan";
# AI home.homeDirectory = "/Users/dustinswan";
aichat
# aider imports = [
mods <catppuccin/modules/home-manager>
shell_gpt ];
fd # catppuccin.enable = true; # TODO
mosh
home.packages = with pkgs; [
fd # `fd PATTERN`; `fd` is like ls-R; `-e ext` searches by extension; `-g` for glob; `-H` searches hidden files; `-u` for unrestricted; `fd -e jpg -x convert {} {.}.png`
mosh # like ssh but better on spotty networks
w3m w3m
nnn
hexyl hexyl
wget wget
httpie httpie
hurl
atac # API client
# bruno
nmap nmap
trippy trippy # sudo trip example.com
ouch ouch # "Painless compression and decompression"; `ouch d a.zip b.tar.gz c.tar -d output_dir`; `ouch c a.txt b.txt archive.zip`; `ouch list archive.zip --tree`
sshs sshs
ngrok
ddev
bitwarden-cli
mkcert
timg timg
sox
restic restic
bitwarden-cli
gnupg gnupg
gpg-tui gpg-tui
rage rage
sd sd
libqalculate kalker
# lnav # lnav
glow glow
spotify-tui spotify-player
spotifyd spotifyd
toot
yt-dlp yt-dlp
youtube-tui youtube-tui
amfora amfora
@ -48,21 +56,26 @@ in
jo jo
fx fx
jc jc
xsv
jless jless
miller miller
visidata # visidata
jwt-cli
mysql mysql
# sc-im # sc-im
cacert cacert
weechat weechat
cointop cointop
tz tz
sttr # string operations. e.g. sttr md5 "Hello World"; sttr snake "ChangeCase"
ddgr ddgr
so so
silicon silicon
imagemagick imagemagick
magic-wormhole magic-wormhole
nixfmt # tunnel # portal send <file1> <file2> <folder1> <folder2> ... # portal receive 1-intertia-elliptical-celestial
termscp # SCP/SFTP/FTP/S3
# nixfmt # deprecated?
shellcheck shellcheck
vale vale
# tectonic # tectonic
@ -73,6 +86,8 @@ in
yarn yarn
flyctl flyctl
lazydocker lazydocker
php83
php83Packages.composer
nodePackages.typescript-language-server nodePackages.typescript-language-server
nodePackages.stylelint nodePackages.stylelint
nodePackages.js-beautify nodePackages.js-beautify
@ -123,10 +138,10 @@ in
"$HOME/.local/bin" "$HOME/.local/bin"
"$HOME/.cargo/bin" "$HOME/.cargo/bin"
"$HOME/.npm-global/bin" "$HOME/.npm-global/bin"
"/opt/homebrew/opt/php@7.4/bin"
"/opt/homebrew/opt/php@7.4/sbin"
]; ];
xdg.enable = true;
programs.home-manager.enable = true; programs.home-manager.enable = true;
programs.tmux = { programs.tmux = {
@ -146,34 +161,20 @@ in
pain-control # prefix |, -, \, _ to split; prefix h, j, k, l to switch; prefix H, J, K, L to resize; prefix <, > to move windows pain-control # prefix |, -, \, _ to split; prefix h, j, k, l to switch; prefix H, J, K, L to resize; prefix <, > to move windows
fzf-tmux-url # prefix u -> fzf urls fzf-tmux-url # prefix u -> fzf urls
yank # prefix y -> copy command line to clipboard; prefix Y -> copy pwd to clipboard; search + y -> copy to clipboard yank # prefix y -> copy command line to clipboard; prefix Y -> copy pwd to clipboard; search + y -> copy to clipboard
open # highlight: o -> open; ctrl-o -> $EDITOR; S -> web search # open # highlight: o -> open; ctrl-o -> $EDITOR; S -> web search
vim-tmux-navigator # ctrl-h, -j, -k, -l -> move between tmux and vim splits vim-tmux-navigator # ctrl-h, -j, -k, -l -> move between tmux and vim splits
extrakto # prefix tab -> fuzzy find text on screen; enter to copy; tab to paste extrakto # prefix tab -> fuzzy find text on screen; enter to copy; tab to paste
fingers # prefix F -> copy/open/edit items on screen by letter
]; ];
extraConfig = '' extraConfig = ''
set -g status-right ""
set -g status-left ""
set -g status-style fg=white
set-window-option -g window-status-format '#[fg=cyan,bright,dim]#I #[fg=white,bright,dim]#W '
set-window-option -g window-status-current-format '#[fg=cyan,bright,nodim]#I #[fg=white,bright,nodim]#W '
set -ag terminal-overrides ",xterm-256color:RGB" set -ag terminal-overrides ",xterm-256color:RGB"
# bind -n C-0 select-window -t0
# bind -n C-1 select-window -t1
# bind -n C-2 select-window -t2
# bind -n C-3 select-window -t3
# bind -n C-4 select-window -t4
# bind -n C-5 select-window -t5
# bind -n C-6 select-window -t6
# bind -n C-7 select-window -t7
# bind -n C-8 select-window -t8
# bind -n C-9 select-window -t9
''; '';
catppuccin.enable = true;
}; };
programs.eza = { programs.eza = {
enable = true; enable = true;
enableAliases = true; enableZshIntegration = true;
git = true; git = true;
}; };
@ -185,12 +186,13 @@ in
programs.zsh = { programs.zsh = {
enable = true; enable = true;
enableAutosuggestions = true; autosuggestion.enable = true;
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
oh-my-zsh = { oh-my-zsh = {
enable = true; enable = true;
plugins = [ "git" "httpie" "aws" "fd" "fzf" "mosh" "npm" "ripgrep" "rsync" "sudo" "yarn" "vi-mode" ]; plugins = [ "git" "httpie" "aws" "fd" "fzf" "mosh" "npm" "ripgrep" "rsync" "sudo" "yarn" "vi-mode" ];
}; };
syntaxHighlighting.catppuccin.enable = true;
}; };
programs.direnv = { programs.direnv = {
@ -201,6 +203,7 @@ in
programs.starship = { programs.starship = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
catppuccin.enable = true;
}; };
programs.fzf = { programs.fzf = {
@ -219,6 +222,7 @@ in
fileWidgetCommand = "fd --type file --color=always"; fileWidgetCommand = "fd --type file --color=always";
fileWidgetOptions = [ "--min-height 30 --preview-window noborder --preview '(bat --style=numbers,changes --wrap never --color always {} || cat {} || tree -C {}) 2> /dev/null'" ]; fileWidgetOptions = [ "--min-height 30 --preview-window noborder --preview '(bat --style=numbers,changes --wrap never --color always {} || cat {} || tree -C {}) 2> /dev/null'" ];
catppuccin.enable = true;
}; };
programs.ssh = { programs.ssh = {
@ -260,7 +264,10 @@ in
# signByDefault = true; # signByDefault = true;
key = "AD11750151C10881970BD943AB49BD6B2B3A6377"; key = "AD11750151C10881970BD943AB49BD6B2B3A6377";
}; };
delta.enable = true; delta = {
enable = true;
catppuccin.enable = true;
};
}; };
# programs.jujutsu = { # programs.jujutsu = {
@ -269,8 +276,14 @@ in
# }; # };
programs.gh.enable = true; programs.gh.enable = true;
programs.lazygit.enable = true; programs.lazygit = {
programs.gitui.enable = true; enable = true;
catppuccin.enable = true;
};
programs.gitui = {
enable = true;
catppuccin.enable = true;
};
programs.neovim = { programs.neovim = {
enable = true; enable = true;
@ -283,17 +296,29 @@ in
}; };
# xdg.configFile."nvim/lua/plugins/lazyvim-plugins.lua".source = ./lazyvim-plugins.lua; # xdg.configFile."nvim/lua/plugins/lazyvim-plugins.lua".source = ./lazyvim-plugins.lua;
programs.helix = {
enable = true;
catppuccin.enable = true;
};
programs.btop = { programs.btop = {
enable = true; enable = true;
settings = { settings = {
color_theme = "tokyo-night"; # color_theme = "tokyo-night";
theme_background = false; theme_background = false;
vim_keys = true; vim_keys = true;
}; };
catppuccin.enable = true;
}; };
programs.bat.enable = true; programs.bat = {
programs.yazi.enable = true; enable = true;
catppuccin.enable = true;
};
programs.yazi = {
enable = true;
catppuccin.enable = true;
};
# programs.bottom.enable = true; # programs.bottom.enable = true;
programs.gpg.enable = true; programs.gpg.enable = true;
programs.mpv.enable = true; programs.mpv.enable = true;

@ -22,5 +22,6 @@
size = 16.0; size = 16.0;
}; };
}; };
catppuccin.enable = true;
}; };
} }

@ -1,7 +1,10 @@
{ pkgs, lib, ... }: { pkgs, ... }:
{ {
home.packages = with pkgs; [ pinentry_mac terminal-notifier ]; home.packages = with pkgs; [
pinentry_mac
terminal-notifier
];
home.file.gpg-agent = { home.file.gpg-agent = {
target = ".gnupg/gpg-agent.conf"; target = ".gnupg/gpg-agent.conf";
@ -11,20 +14,5 @@
''; '';
}; };
# home.file.gitignore = {
# target = ".gitignore";
# text = ''Library'';
# };
launchd.agents.duplicati = {
enable = true;
config = {
ProgramArguments = [ "/Users/dustinswan/.nix-profile/bin/duplicati-server" ];
RunAtLoad = true;
LaunchOnlyOnce = true;
KeepAlive = true;
};
};
imports = [ ./home-cli.nix ./home-gui.nix ./home-mail.nix ]; imports = [ ./home-cli.nix ./home-gui.nix ./home-mail.nix ];
} }

@ -10,7 +10,7 @@ in
programs.msmtp.enable = true; programs.msmtp.enable = true;
# programs.himalaya.enable = true; programs.himalaya.enable = true;
programs.mu.enable = true; programs.mu.enable = true;
@ -52,10 +52,11 @@ in
himalaya = { himalaya = {
enable = true; enable = true;
settings = { settings = {
backend = "maildir"; # backend = "maildir";
message.send.backend = "smtp"; # maildir.root-dir = "";
sent-folder = "INBOX.Sent"; # message.send.backend = "smtp";
draft-folder = "INBOX.Drafts"; # sent-folder = "INBOX.Sent";
# draft-folder = "INBOX.Drafts";
}; };
}; };
signature = { signature = {

@ -1,101 +1,108 @@
return { return {
{ "tpope/vim-sleuth" }, { "tpope/vim-sleuth" },
{ {
"catppuccin/nvim", "catppuccin/nvim",
name = "catppuccin", name = "catppuccin",
config = function() config = function()
require("catppuccin").setup({ require("catppuccin").setup({
transparent_background = true, transparent_background = true,
}) })
end, end,
}, },
-- { -- {
-- "f-person/auto-dark-mode.nvim", -- "f-person/auto-dark-mode.nvim",
-- config = { -- config = {
-- set_dark_mode = function() -- set_dark_mode = function()
-- vim.api.nvim_set_option("background", "dark") -- vim.api.nvim_set_option("background", "dark")
-- vim.cmd("colorscheme catppuccin") -- vim.cmd("colorscheme catppuccin")
-- -- vim.cmd("colorscheme rose-pine") -- -- vim.cmd("colorscheme rose-pine")
-- end, -- end,
-- set_light_mode = function() -- set_light_mode = function()
-- vim.api.nvim_set_option("background", "light") -- vim.api.nvim_set_option("background", "light")
-- vim.cmd("colorscheme catppuccin") -- vim.cmd("colorscheme catppuccin")
-- -- vim.cmd("colorscheme rose-pine") -- -- vim.cmd("colorscheme rose-pine")
-- end, -- end,
-- }, -- },
-- }, -- },
{ {
"LazyVim/LazyVim", "LazyVim/LazyVim",
opts = { opts = {
colorscheme = "catppuccin", colorscheme = "catppuccin",
background_colour = "#000000", background_colour = "#000000",
}, },
}, },
{ {
"nvim-orgmode/orgmode", "nvim-orgmode/orgmode",
config = function() config = function()
require("orgmode").setup_ts_grammar() -- require("orgmode").setup_ts_grammar()
require("nvim-treesitter.configs").setup({ require("nvim-treesitter.configs").setup({
highlight = { highlight = {
enable = true, enable = true,
additional_vim_regex_highlighting = { "org" }, -- Required for spellcheck, some LaTex highlights and code block highlights that do not have ts grammar additional_vim_regex_highlighting = { "org" }, -- Required for spellcheck, some LaTex highlights and code block highlights that do not have ts grammar
}, },
ensure_installed = { "org" }, -- Or run :TSUpdate org ensure_installed = { "org" }, -- Or run :TSUpdate org
}) })
require("orgmode").setup({ require("orgmode").setup({
org_agenda_files = { "~/Sync/Notes/*" }, org_agenda_files = { "~/Sync/Notes/*" },
org_default_notes_file = "~/Sync/Notes/Main.org", org_default_notes_file = "~/Sync/Notes/Main.org",
}) })
end, end,
}, },
{ "dhruvasagar/vim-table-mode" }, { "dhruvasagar/vim-table-mode" },
{ {
"akinsho/toggleterm.nvim", "akinsho/toggleterm.nvim",
version = "*", version = "*",
config = true, config = true,
keys = { keys = {
{ [[<C-\>]] }, { [[<C-\>]] },
{ {
"<leader>TT", "<leader>TT",
"<cmd>ToggleTerm direction=horizontal<cr>", "<cmd>ToggleTerm direction=horizontal<cr>",
desc = "Open a horizontal terminal", desc = "Open a horizontal terminal",
}, },
{ {
"<leader>TV", "<leader>TV",
"<cmd>ToggleTerm size=60 direction=vertical<cr>", "<cmd>ToggleTerm size=60 direction=vertical<cr>",
desc = "Open a vertical terminal", desc = "Open a vertical terminal",
}, },
}, },
}, },
{ {
"christoomey/vim-tmux-navigator", "christoomey/vim-tmux-navigator",
cmd = { cmd = {
"TmuxNavigateLeft", "TmuxNavigateLeft",
"TmuxNavigateDown", "TmuxNavigateDown",
"TmuxNavigateUp", "TmuxNavigateUp",
"TmuxNavigateRight", "TmuxNavigateRight",
"TmuxNavigatePrevious", "TmuxNavigatePrevious",
}, },
keys = { keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" }, { "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" }, { "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" }, { "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" }, { "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" }, { "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
}, },
}, },
-- { { "lukas-reineke/headlines.nvim", opts = { org = { fat_headlines = false } } },
-- "https://git.sr.ht/~soywod/himalaya-vim",
-- }, {
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
vim.list_extend(opts.ensure_installed, {
"php",
})
end,
},
} }

@ -1,315 +0,0 @@
color_schemes:
latte: &latte
# Default colors
primary:
background: '#eff1f5' # base
foreground: '#4c4f69' # text
# Bright and dim foreground colors
dim_foreground: '#4c4f69' # text
bright_foreground: '#4c4f69' # text
# Cursor colors
cursor:
text: '#eff1f5' # base
cursor: '#dc8a78' # rosewater
vi_mode_cursor:
text: '#eff1f5' # base
cursor: '#7287fd' # lavender
# Search colors
search:
matches:
foreground: '#eff1f5' # base
background: '#6c6f85' # subtext0
focused_match:
foreground: '#eff1f5' # base
background: '#40a02b' # green
bar:
foreground: '#eff1f5' # base
background: '#6c6f85' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#eff1f5' # base
background: '#df8e1d' # yellow
end:
foreground: '#eff1f5' # base
background: '#6c6f85' # subtext0
# Selection colors
selection:
text: '#eff1f5' # base
background: '#dc8a78' # rosewater
# Normal colors
normal:
black: '#4C4F69' # text
red: '#D20F39' # red
green: '#40A02B' # green
yellow: '#DF8E1D' # yellow
blue: '#1E66F5' # blue
magenta: '#EA76CB' # pink
cyan: '#179299' # teal
white: '#ACB0BE' # surface2
# Bright colors
bright:
black: '#4C4F69' # text
red: '#D20F39' # red
green: '#40A02B' # green
yellow: '#DF8E1D' # yellow
blue: '#1E66F5' # blue
magenta: '#EA76CB' # pink
cyan: '#179299' # teal
white: '#ACB0BE' # surface2
# Dim colors
dim:
black: '#4C4F69' # text
red: '#D20F39' # red
green: '#40A02B' # green
yellow: '#DF8E1D' # yellow
blue: '#1E66F5' # blue
magenta: '#EA76CB' # pink
cyan: '#179299' # teal
white: '#ACB0BE' # surface2
frappe: &frappe
# Default colors
primary:
background: '#303446' # base
foreground: '#c6d0f5' # text
# Bright and dim foreground colors
dim_foreground: '#c6d0f5' # text
bright_foreground: '#c6d0f5' # text
# Cursor colors
cursor:
text: '#303446' # base
cursor: '#f2d5cf' # rosewater
vi_mode_cursor:
text: '#303446' # base
cursor: '#babbf1' # lavender
# Search colors
search:
matches:
foreground: '#303446' # base
background: '#a5adce' # subtext0
focused_match:
foreground: '#303446' # base
background: '#a6d189' # green
bar:
foreground: '#303446' # base
background: '#a5adce' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#303446' # base
background: '#e5c890' # yellow
end:
foreground: '#303446' # base
background: '#a5adce' # subtext0
# Selection colors
selection:
text: '#303446' # base
background: '#f2d5cf' # rosewater
# Normal colors
normal:
black: '#51576d' # surface1
red: '#e78284' # red
green: '#a6d189' # green
yellow: '#e5c890' # yellow
blue: '#8caaee' # blue
magenta: '#f4b8e4' # pink
cyan: '#81c8be' # teal
white: '#b5bfe2' # subtext1
# Bright colors
bright:
black: '#51576d' # surface1
red: '#e78284' # red
green: '#a6d189' # green
yellow: '#e5c890' # yellow
blue: '#8caaee' # blue
magenta: '#f4b8e4' # pink
cyan: '#81c8be' # teal
white: '#b5bfe2' # subtext1
# Dim colors
dim:
black: '#51576d' # surface1
red: '#e78284' # red
green: '#a6d189' # green
yellow: '#e5c890' # yellow
blue: '#8caaee' # blue
magenta: '#f4b8e4' # pink
cyan: '#81c8be' # teal
white: '#b5bfe2' # subtext1
macchiato: &macchiato
# Default colors
primary:
background: '#24273a' # base
foreground: '#cad3f5' # text
# Bright and dim foreground colors
dim_foreground: '#cad3f5' # text
bright_foreground: '#cad3f5' # text
# Cursor colors
cursor:
text: '#24273a' # base
cursor: '#f4dbd6' # rosewater
vi_mode_cursor:
text: '#24273a' # base
cursor: '#b7bdf8' # lavender
# Search colors
search:
matches:
foreground: '#24273a' # base
background: '#a5adcb' # subtext0
focused_match:
foreground: '#24273a' # base
background: '#a6da95' # green
bar:
foreground: '#24273a' # base
background: '#a5adcb' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#24273a' # base
background: '#eed49f' # yellow
end:
foreground: '#24273a' # base
background: '#a5adcb' # subtext0
# Selection colors
selection:
text: '#24273a' # base
background: '#f4dbd6' # rosewater
# Normal colors
normal:
black: '#494d64' # surface1
red: '#ed8796' # red
green: '#a6da95' # green
yellow: '#eed49f' # yellow
blue: '#8aadf4' # blue
magenta: '#f5bde6' # pink
cyan: '#8bd5ca' # teal
white: '#b8c0e0' # subtext1
# Bright colors
bright:
black: '#494d64' # surface1
red: '#ed8796' # red
green: '#a6da95' # green
yellow: '#eed49f' # yellow
blue: '#8aadf4' # blue
magenta: '#f5bde6' # pink
cyan: '#8bd5ca' # teal
white: '#b8c0e0' # subtext1
# Dim colors
dim:
black: '#494d64' # surface1
red: '#ed8796' # red
green: '#a6da95' # green
yellow: '#eed49f' # yellow
blue: '#8aadf4' # blue
magenta: '#f5bde6' # pink
cyan: '#8bd5ca' # teal
white: '#b8c0e0' # subtext1
mocha: &mocha
# Default colors
primary:
background: '#1e1e2e' # base
foreground: '#cdd6f4' # text
# Bright and dim foreground colors
dim_foreground: '#cdd6f4' # text
bright_foreground: '#cdd6f4' # text
# Cursor colors
cursor:
text: '#1e1e2e' # base
cursor: '#f5e0dc' # rosewater
vi_mode_cursor:
text: '#1e1e2e' # base
cursor: '#b4befe' # lavender
# Search colors
search:
matches:
foreground: '#1e1e2e' # base
background: '#a6adc8' # subtext0
focused_match:
foreground: '#1e1e2e' # base
background: '#a6e3a1' # green
bar:
foreground: '#1e1e2e' # base
background: '#a6adc8' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#1e1e2e' # base
background: '#f9e2af' # yellow
end:
foreground: '#1e1e2e' # base
background: '#a6adc8' # subtext0
# Selection colors
selection:
text: '#1e1e2e' # base
background: '#f5e0dc' # rosewater
# Normal colors
normal:
black: '#45475a' # surface1
red: '#f38ba8' # red
green: '#a6e3a1' # green
yellow: '#f9e2af' # yellow
blue: '#89b4fa' # blue
magenta: '#f5c2e7' # pink
cyan: '#94e2d5' # teal
white: '#bac2de' # subtext1
# Bright colors
bright:
black: '#45475a' # surface1
red: '#f38ba8' # red
green: '#a6e3a1' # green
yellow: '#f9e2af' # yellow
blue: '#89b4fa' # blue
magenta: '#f5c2e7' # pink
cyan: '#94e2d5' # teal
white: '#bac2de' # subtext1
# Dim colors
dim:
black: '#45475a' # surface1
red: '#f38ba8' # red
green: '#a6e3a1' # green
yellow: '#f9e2af' # yellow
blue: '#89b4fa' # blue
magenta: '#f5c2e7' # pink
cyan: '#94e2d5' # teal
white: '#bac2de' # subtext1

@ -1,18 +0,0 @@
color listnormal color15 default
color listnormal_unread color2 default
color listfocus_unread color2 color0
color listfocus default color0
color background default default
color article default default
color end-of-text-marker color8 default
color info color4 color8
color hint-separator default color8
color hint-description default color8
color title color14 color8
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
highlight article "\\((link|image|video)\\)" color8 default
highlight article "https?://[^ ]+" color4 default
highlight article "\[[0-9]+\]" color6 default bold
Loading…
Cancel
Save