full refactoring re mothership to endos
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
[hjarl]
|
||||
source = imaps://henrik%40hjarl.com@imap.purelymail.com
|
||||
outgoing = smtps://henrik%40hjarl.com@smtp.purelymail.com
|
||||
default = INBOX
|
||||
from = Henrik Bakken <henrik@hjarl.com>
|
||||
copy-to = Sent
|
||||
cache-headers = true
|
||||
source-cred-cmd = pass show henrik@hjarl.com
|
||||
outgoing-cred-cmd = pass show henrik@hjarl.com
|
||||
folders-sort = INBOX, Drafts, Sent, Trash, Junk
|
||||
folder-map = ~/.config/aerc/henrik@hjarl.com.map
|
||||
|
||||
[gmail]
|
||||
source = imaps://bakken.henrik@imap.gmail.com:993
|
||||
outgoing = smtps+plain://bakken.henrik@smtp.gmail.com:465
|
||||
default = INBOX
|
||||
from = Henrik Bakken <bakken.henrik@gmail.com>
|
||||
copy-to = Sent
|
||||
cache-headers = true
|
||||
source-cred-cmd = pass show bakken.henrik@gmail.com
|
||||
outgoing-cred-cmd = pass show bakken.henrik@gmail.com
|
||||
folders-sort = INBOX, Drafts, Starred, All Mail, Sent Mail, Important, Trash
|
||||
folder-map = ~/.config/aerc/bakken.henrik@gmail.com.map
|
||||
@@ -0,0 +1,79 @@
|
||||
[general]
|
||||
enable-osc8=true
|
||||
log-file=~/aerc.log
|
||||
|
||||
[ui]
|
||||
border-char-vertical="│"
|
||||
border-char-horizontal="─"
|
||||
styleset-name=catppuccin.frappe
|
||||
sidebar-width=25
|
||||
fuzzy-complete=true
|
||||
timestamp-format=Mon 2006-01-02 15:04
|
||||
this-day-time-format=15:04
|
||||
this-week-time-format=
|
||||
this-year-time-format=
|
||||
mouse-enabled=true
|
||||
tab-title-account= {{.Account}} {{if .Unread "INBOX"}}({{.Unread "INBOX"}}){{end}}
|
||||
dirlist-left= {{.Folder}}
|
||||
dirlist-right={{if .Unread}}{{humanReadable .Unread}}{{end}}
|
||||
next-message-on-delete=false
|
||||
dirlist-tree=true
|
||||
dirlist-collapse=1
|
||||
icon-unencrypted=
|
||||
icon-encrypted=✔
|
||||
icon-signed=✔
|
||||
icon-signed-encrypted=✔
|
||||
icon-unknown=✘
|
||||
icon-invalid=⚠
|
||||
reverse-thread-order=true
|
||||
threading-enabled=true
|
||||
|
||||
[viewer]
|
||||
always-show-mime=true
|
||||
completion-delay=100ms
|
||||
pager=bat --plain --tabs 4 --paging always --color always
|
||||
sort=unread
|
||||
|
||||
[compose]
|
||||
address-book-cmd=khard email --parsable --remove-first-line %s
|
||||
header-layout=To|From,Cc|Bcc,Subject
|
||||
reply-to-self=false
|
||||
|
||||
[multipart-converters]
|
||||
text/html=pandoc -f markdown+lists_without_preceding_blankline -t html
|
||||
|
||||
[filters]
|
||||
text/plain=colorize
|
||||
text/calendar=calendar
|
||||
text/html=w3m -T text/html -I UTF-8 -cols $(tput cols) -dump -o display_image=false -o display_link_number=true
|
||||
#text/html=pandoc -f html -t plain | colorize
|
||||
#text/html=! html
|
||||
#text/*=bat -fP --file-name="$AERC_FILENAME"
|
||||
message/delivery-status=colorize
|
||||
message/rfc822=colorize
|
||||
application/pdf=pdftotext - -l 10 -nopgbrk -q - | fmt -w $(tput cols)
|
||||
#application/x-sh=bat -fP -l sh
|
||||
image/*=img2sixel
|
||||
#image/*=catimg -w $(tput cols) -
|
||||
#subject,~Git(hub|lab)=lolcat -f
|
||||
#from,thatguywhodoesnothardwraphismessages=wrap -w 100 | colorize
|
||||
.headers=colorize
|
||||
|
||||
[openers]
|
||||
text/html=qutebrowser
|
||||
application/x-pdf=zathura
|
||||
application/pdf=zathura
|
||||
application/octet-stream=zathura
|
||||
image/*=qimgv
|
||||
image/png=qimgv
|
||||
image/jpg=qimgv
|
||||
video/*=mpv
|
||||
audio/*=mpv --no-video
|
||||
text/calendar=footclient --app-id floating_shell --window-size-chars 80x45 khal import {}
|
||||
text/*=footclient --app-id floating_shell --window-size-chars 80x45 nvim {}
|
||||
|
||||
[hooks]
|
||||
aerc-startup=aerc :terminal khal interactive \
|
||||
&& aerc :pin-tab \
|
||||
&& aerc :change-tab hjarl
|
||||
mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"
|
||||
@@ -0,0 +1,2 @@
|
||||
Trash = [Google Mail]/Bin
|
||||
* = [Google Mail]/*
|
||||
@@ -0,0 +1,151 @@
|
||||
<C-t> = :term<Enter>
|
||||
? = :help keys<Enter>
|
||||
|
||||
[messages]
|
||||
! = :term<space>
|
||||
$ = :term<space>
|
||||
/ = :search<space>
|
||||
| = :pipe<space>
|
||||
<C-b> = :prev 100%<Enter>
|
||||
<C-d> = :next 50%<Enter>
|
||||
<C-f> = :next 100%<Enter>
|
||||
<C-u> = :prev 50%<Enter>
|
||||
<Enter> = :view<Enter>
|
||||
<Esc> = :clear<Enter>
|
||||
<Space> = :mark -t<Enter>
|
||||
\ = :filter<space>
|
||||
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
|
||||
aa = :archive flat<Enter>
|
||||
b = :bounce<space>
|
||||
c = :compose<Enter>
|
||||
D = :delete-message<Enter>
|
||||
dd = :mv Trash<Enter>
|
||||
f = :forward -A<Enter>
|
||||
G = :select -1<Enter>
|
||||
gf = :cf<space>
|
||||
gg = :select 0<Enter>
|
||||
gi = :cf INBOX<Enter>
|
||||
gt = :cf Trash<Enter>
|
||||
H = :collapse-folder<Enter>
|
||||
<C-o> = :prev-message<Enter>
|
||||
<backtab> = :prev-message<Enter>
|
||||
k = :prev-message<Enter>
|
||||
<C-i> = :next-message<Enter>
|
||||
<tab> = :next-message<Enter>
|
||||
j = :next-message<Enter>
|
||||
<C-p> = :prev-tab<Enter>
|
||||
<C-n> = :next-tab<Enter>
|
||||
J = :next-folder<Enter>
|
||||
K = :prev-folder<Enter>
|
||||
L = :expand-folder<Enter>
|
||||
m = :move<space>
|
||||
n = :next-result<Enter>
|
||||
N = :prev-result<Enter>
|
||||
q = :quit<Enter>
|
||||
r = :reply -aq<Enter>
|
||||
R = :reply -q<Enter>
|
||||
s = :split<Enter>
|
||||
S = :vsplit<Enter>
|
||||
T = :toggle-threads<Enter>
|
||||
v = :mark -t<Enter>
|
||||
V = :mark -v<Enter>
|
||||
zb = :align bottom<Enter>
|
||||
zt = :align top<Enter>
|
||||
zz = :align center<Enter>
|
||||
|
||||
[messages:folder=Drafts]
|
||||
<Enter> = :recall<Enter>
|
||||
|
||||
[messages:folder=Trash]
|
||||
dd = :delete-message<Enter>
|
||||
D = :delete-message<Enter>
|
||||
|
||||
[messages:folder=Spam]
|
||||
dd = :delete-message<Enter>
|
||||
D = :delete-message<Enter>
|
||||
|
||||
[view]
|
||||
/ = :toggle-key-passthrough<Enter>/
|
||||
| = :pipe<space>
|
||||
<C-p> = :prev-tab<Enter>
|
||||
<C-n> = :next-tab<Enter>
|
||||
<C-i> = :next-part<Enter>
|
||||
<tab> = :next-part<Enter>
|
||||
<C-o> = :prev-part<Enter>
|
||||
<backtab> = :prev-part<Enter>
|
||||
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
|
||||
aa = :archive flat<Enter>
|
||||
D = :delete-message<Enter>
|
||||
dd = :mv Trash<Enter>
|
||||
f = :open-link <space>
|
||||
<C-f> = :forward -A<Enter>
|
||||
H = :toggle-headers<Enter>
|
||||
J = :next-message<Enter>
|
||||
K = :prev-message<Enter>
|
||||
m = :move<space>
|
||||
O = :open<Enter>
|
||||
o = :open<Enter>
|
||||
q = :close<Enter>
|
||||
r = :reply -aq<Enter>
|
||||
R = :reply -q<Enter>
|
||||
S = :save<space>
|
||||
|
||||
[view:folder=Trash]
|
||||
dd = :delete-message<Enter>
|
||||
D = :delete-message<Enter>
|
||||
|
||||
[view:folder=Spam]
|
||||
dd = :delete-message<Enter>
|
||||
D = :delete-message<Enter>
|
||||
|
||||
[view::passthrough]
|
||||
$noinherit = true
|
||||
$ex = <C-x>
|
||||
<Esc> = :toggle-key-passthrough<Enter>
|
||||
|
||||
[compose]
|
||||
# Keybindings used when the embedded terminal is not selected in the compose view
|
||||
$complete = <C-e>
|
||||
$ex = <C-x>
|
||||
$noinherit = true
|
||||
<A-n> = :switch-account -n<Enter>
|
||||
<A-p> = :switch-account -p<Enter>
|
||||
<C-n> = :next-tab<Enter>
|
||||
<C-p> = :prev-tab<Enter>
|
||||
<C-o> = :prev-field<Enter>
|
||||
<C-i> = :next-field<Enter>
|
||||
<backtab> = :prev-field<Enter>
|
||||
<tab> = :next-field<Enter>
|
||||
|
||||
[compose::editor]
|
||||
# Keybindings used when the embedded terminal is selected in the compose view
|
||||
$noinherit = true
|
||||
$ex = <C-x>
|
||||
<C-n> = :next-tab<Enter>
|
||||
<C-p> = :prev-tab<Enter>
|
||||
<C-o> = :prev-field<Enter>
|
||||
<C-i> = :next-field<Enter>
|
||||
<backtab> = :prev-field<Enter>
|
||||
<tab> = :next-field<Enter>
|
||||
|
||||
[compose::review]
|
||||
y = :send<Enter> # Send
|
||||
n = :abort<Enter> # Abort (discard message, no confirmation)
|
||||
v = :preview<Enter> # Preview message
|
||||
p = :postpone<Enter> # Postpone
|
||||
h = :multipart text/html<Enter> # Add html from markdown
|
||||
H = :multipart -d text/html<Enter> # Remove html
|
||||
q = :choose -o d discard abort -o p postpone postpone<Enter> # Abort or postpone
|
||||
Q = :abort<Enter> # Abort
|
||||
e = :edit<Enter> # Edit (body and headers)
|
||||
a = :attach<space> # Add attachment
|
||||
d = :detach<space> # Remove attachment
|
||||
# s = :sign<Enter> # Toggle signing
|
||||
# x = :encrypt<Enter> # Toggle encryption to all recipients
|
||||
|
||||
[terminal]
|
||||
$noinherit = true
|
||||
$ex = <C-x>
|
||||
|
||||
<C-n> = :next-tab<Enter>
|
||||
<C-p> = :prev-tab<Enter>
|
||||
@@ -0,0 +1,56 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-frappe
|
||||
*.default=true
|
||||
*.normal=true
|
||||
|
||||
default.fg=#c6d0f5
|
||||
|
||||
error.fg=#e78284
|
||||
warning.fg=#ef9f76
|
||||
success.fg=#a6d189
|
||||
|
||||
tab.fg=#737994
|
||||
tab.bg=#292c3c
|
||||
tab.selected.fg=#c6d0f5
|
||||
tab.selected.bg=#303446
|
||||
tab.selected.bold=true
|
||||
|
||||
border.fg=#232634
|
||||
border.bold=true
|
||||
|
||||
msglist_unread.bold=true
|
||||
msglist_flagged.fg=#e5c890
|
||||
msglist_flagged.bold=true
|
||||
msglist_result.fg=#8caaee
|
||||
msglist_result.bold=true
|
||||
msglist_*.selected.bold=true
|
||||
msglist_*.selected.bg=#414559
|
||||
|
||||
dirlist_*.selected.bold=true
|
||||
dirlist_*.selected.bg=#414559
|
||||
|
||||
statusline_default.fg=#949cbb
|
||||
statusline_default.bg=#414559
|
||||
statusline_error.bold=true
|
||||
statusline_success.bold=true
|
||||
|
||||
completion_default.selected.bg=#414559
|
||||
|
||||
part_*.fg=#c6d0f5
|
||||
part_mimetype.fg=#c6d0f5
|
||||
part_*.selected.fg=#c6d0f5
|
||||
part_*.selected.bg=#303446
|
||||
part_filename.selected.bold=true
|
||||
|
||||
[viewer]
|
||||
url.fg=#8caaee
|
||||
url.underline=true
|
||||
header.bold=true
|
||||
signature.dim=true
|
||||
diff_meta.bold=true
|
||||
diff_chunk.fg=#8caaee
|
||||
diff_chunk_func.fg=#8caaee
|
||||
diff_chunk_func.bold=true
|
||||
diff_add.fg=#a6d189
|
||||
diff_del.fg=#e78284
|
||||
quote_*.fg=#737994
|
||||
quote_1.fg=#949cbb
|
||||
@@ -0,0 +1,56 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-latte
|
||||
#*.default=true
|
||||
*.normal=true
|
||||
|
||||
default.fg=#4c4f69
|
||||
|
||||
error.fg=#d20f39
|
||||
warning.fg=#fe640b
|
||||
success.fg=#40a02b
|
||||
|
||||
tab.fg=#9ca0b0
|
||||
tab.bg=#e6e9ef
|
||||
tab.selected.fg=#4c4f69
|
||||
tab.selected.bg=#eff1f5
|
||||
tab.selected.bold=true
|
||||
|
||||
border.fg=#dce0e8
|
||||
border.bold=true
|
||||
|
||||
msglist_unread.bold=true
|
||||
msglist_flagged.fg=#df8e1d
|
||||
msglist_flagged.bold=true
|
||||
msglist_result.fg=#1e66f5
|
||||
msglist_result.bold=true
|
||||
msglist_*.selected.bold=true
|
||||
msglist_*.selected.bg=#ccd0da
|
||||
|
||||
dirlist_*.selected.bold=true
|
||||
dirlist_*.selected.bg=#ccd0da
|
||||
|
||||
statusline_default.fg=#7c7f93
|
||||
statusline_default.bg=#ccd0da
|
||||
statusline_error.bold=true
|
||||
statusline_success.bold=true
|
||||
|
||||
completion_default.selected.bg=#ccd0da
|
||||
|
||||
part_*.fg=#4c4f69
|
||||
part_mimetype.fg=#4c4f69
|
||||
part_*.selected.fg=#4c4f69
|
||||
part_*.selected.bg=#eff1f5
|
||||
part_filename.selected.bold=true
|
||||
|
||||
[viewer]
|
||||
url.fg=#1e66f5
|
||||
url.underline=true
|
||||
header.bold=true
|
||||
signature.dim=true
|
||||
diff_meta.bold=true
|
||||
diff_chunk.fg=#1e66f5
|
||||
diff_chunk_func.fg=#1e66f5
|
||||
diff_chunk_func.bold=true
|
||||
diff_add.fg=#40a02b
|
||||
diff_del.fg=#d20f39
|
||||
quote_*.fg=#9ca0b0
|
||||
quote_1.fg=#7c7f93
|
||||
@@ -0,0 +1,56 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-macchiato
|
||||
*.default=true
|
||||
*.normal=true
|
||||
|
||||
default.fg=#cad3f5
|
||||
|
||||
error.fg=#ed8796
|
||||
warning.fg=#f5a97f
|
||||
success.fg=#a6da95
|
||||
|
||||
tab.fg=#6e738d
|
||||
tab.bg=#1e2030
|
||||
tab.selected.fg=#cad3f5
|
||||
tab.selected.bg=#24273a
|
||||
tab.selected.bold=true
|
||||
|
||||
border.fg=#181926
|
||||
border.bold=true
|
||||
|
||||
msglist_unread.bold=true
|
||||
msglist_flagged.fg=#eed49f
|
||||
msglist_flagged.bold=true
|
||||
msglist_result.fg=#8aadf4
|
||||
msglist_result.bold=true
|
||||
msglist_*.selected.bold=true
|
||||
msglist_*.selected.bg=#363a4f
|
||||
|
||||
dirlist_*.selected.bold=true
|
||||
dirlist_*.selected.bg=#363a4f
|
||||
|
||||
statusline_default.fg=#939ab7
|
||||
statusline_default.bg=#363a4f
|
||||
statusline_error.bold=true
|
||||
statusline_success.bold=true
|
||||
|
||||
completion_default.selected.bg=#363a4f
|
||||
|
||||
part_*.fg=#cad3f5
|
||||
part_mimetype.fg=#cad3f5
|
||||
part_*.selected.fg=#cad3f5
|
||||
part_*.selected.bg=#24273a
|
||||
part_filename.selected.bold=true
|
||||
|
||||
[viewer]
|
||||
url.fg=#8aadf4
|
||||
url.underline=true
|
||||
header.bold=true
|
||||
signature.dim=true
|
||||
diff_meta.bold=true
|
||||
diff_chunk.fg=#8aadf4
|
||||
diff_chunk_func.fg=#8aadf4
|
||||
diff_chunk_func.bold=true
|
||||
diff_add.fg=#a6da95
|
||||
diff_del.fg=#ed8796
|
||||
quote_*.fg=#6e738d
|
||||
quote_1.fg=#939ab7
|
||||
@@ -0,0 +1,56 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-mocha
|
||||
*.default=true
|
||||
*.normal=true
|
||||
|
||||
default.fg=#cdd6f4
|
||||
|
||||
error.fg=#f38ba8
|
||||
warning.fg=#fab387
|
||||
success.fg=#a6e3a1
|
||||
|
||||
tab.fg=#6c7086
|
||||
tab.bg=#181825
|
||||
tab.selected.fg=#cdd6f4
|
||||
tab.selected.bg=#1e1e2e
|
||||
tab.selected.bold=true
|
||||
|
||||
border.fg=#11111b
|
||||
border.bold=true
|
||||
|
||||
msglist_unread.bold=true
|
||||
msglist_flagged.fg=#f9e2af
|
||||
msglist_flagged.bold=true
|
||||
msglist_result.fg=#89b4fa
|
||||
msglist_result.bold=true
|
||||
msglist_*.selected.bold=true
|
||||
msglist_*.selected.bg=#313244
|
||||
|
||||
dirlist_*.selected.bold=true
|
||||
dirlist_*.selected.bg=#313244
|
||||
|
||||
statusline_default.fg=#9399b2
|
||||
statusline_default.bg=#313244
|
||||
statusline_error.bold=true
|
||||
statusline_success.bold=true
|
||||
|
||||
completion_default.selected.bg=#313244
|
||||
|
||||
part_*.fg=#cdd6f4
|
||||
part_mimetype.fg=#cdd6f4
|
||||
part_*.selected.fg=#cdd6f4
|
||||
part_*.selected.bg=#1e1e2e
|
||||
part_filename.selected.bold=true
|
||||
|
||||
[viewer]
|
||||
url.fg=#89b4fa
|
||||
url.underline=true
|
||||
header.bold=true
|
||||
signature.dim=true
|
||||
diff_meta.bold=true
|
||||
diff_chunk.fg=#89b4fa
|
||||
diff_chunk_func.fg=#89b4fa
|
||||
diff_chunk_func.bold=true
|
||||
diff_add.fg=#a6e3a1
|
||||
diff_del.fg=#f38ba8
|
||||
quote_*.fg=#6c7086
|
||||
quote_1.fg=#9399b2
|
||||
@@ -0,0 +1,83 @@
|
||||
# should work with any terminal colorscheme, but was designed for gruvbox
|
||||
# terminal colors are preferred, but hex is used for grayscale
|
||||
|
||||
*.default=true
|
||||
|
||||
# present in 'Send this email?' dialog
|
||||
title.fg=yellow
|
||||
title.bg=#303030
|
||||
title.bold=true
|
||||
|
||||
# used in setup and in 'From:' etc
|
||||
header.bold=true
|
||||
header.fg=purple
|
||||
|
||||
# decorative lines
|
||||
border.fg=blue
|
||||
|
||||
# requires attention
|
||||
*error.bold=true
|
||||
*error.fg=red
|
||||
*error.blink=true
|
||||
*warning.fg=yellow
|
||||
*warning.blink=true
|
||||
*success.fg=green
|
||||
|
||||
# statusline
|
||||
statusline_default.fg=gray
|
||||
statusline_*.bg=#303030
|
||||
|
||||
# message list colors
|
||||
msglist_deleted.fg=gray
|
||||
msglist_unread.fg=#98971a
|
||||
msglist_unread.bold=true
|
||||
msglist_default.fg=#dedede
|
||||
msglist_marked.fg=yellow
|
||||
msglist_marked.reverse=true
|
||||
msglist_flagged.fg=white
|
||||
# msglist_flagged.bg=red
|
||||
msglist_flagged.bold=true
|
||||
|
||||
# inbox etc
|
||||
dirlist_default.fg=#dedede
|
||||
dirlist_unread.fg=white
|
||||
dirlist_unread.bold=true
|
||||
|
||||
# highlight selected item
|
||||
*.selected.bg=#303030
|
||||
*.selected.fg=#fabd2f
|
||||
*.selected.bold=true
|
||||
|
||||
# primarily used in account setup
|
||||
selector_default.fg=gray
|
||||
selector_chooser.bold=true
|
||||
selector_focused.bg=green
|
||||
selector_focused.bold=true
|
||||
|
||||
# command completion
|
||||
completion_default.bg=#303030
|
||||
completion_gutter.bg=#303030
|
||||
completion_pill.bg=aqua
|
||||
|
||||
|
||||
#dynamic
|
||||
*msglist_answered.fg = #21771f
|
||||
|
||||
[viewer]
|
||||
header.fg=#d845c5
|
||||
header.bold=true
|
||||
signature.fg=3
|
||||
signature.dim=true
|
||||
diff_meta.fg=#ff0000
|
||||
diff_meta.bold=true
|
||||
diff_chunk.dim=true
|
||||
diff_add.fg=#00ff00
|
||||
diff_del.fg=#ff0000
|
||||
quote_1.fg=6
|
||||
quote_2.fg=7
|
||||
quote_3.fg=6
|
||||
quote_4.fg=7
|
||||
quote_3.dim=true
|
||||
quote_4.dim=true
|
||||
quote_x.fg=gray
|
||||
quote_x.dim=true
|
||||
@@ -0,0 +1,52 @@
|
||||
# styleset for aerc providing color and sensible defaults
|
||||
*.default=true
|
||||
*.normal=true
|
||||
|
||||
# style for selected elements
|
||||
*.selected.bold=true
|
||||
*.selected.fg="#fe8019"
|
||||
|
||||
# status message style
|
||||
error.fg=red
|
||||
error.bold=true
|
||||
warning.fg=yellow
|
||||
warning.bold=true
|
||||
success.fg=green
|
||||
success.bold=true
|
||||
|
||||
# title and header style
|
||||
title.fg=blue
|
||||
title.bold=true
|
||||
header.fg=green
|
||||
header.bold=true
|
||||
|
||||
# statusline style
|
||||
statusline_default.fg=green
|
||||
statusline_error.fg=red
|
||||
statusline_success.fg=green
|
||||
statusline_*.bold=true
|
||||
|
||||
# style for messages in message list
|
||||
msglist_unread.fg=green
|
||||
msglist_unread.bold=true
|
||||
msglist_flagged.fg=orangered
|
||||
msglist_flagged.bold=true
|
||||
msglist_deleted.fg=gray
|
||||
msglist_deleted.bold=true
|
||||
msglist_marked.bg="#665c54"
|
||||
msglist_result.fg=yellow
|
||||
msglist_result.bold=true
|
||||
|
||||
# style for directories in directory list
|
||||
dirlist*.fg=blue
|
||||
dirlist*.bold=true
|
||||
dirlist*.selected.fg=blue
|
||||
dirlist*.selected.reverse=true
|
||||
|
||||
# tab style
|
||||
tab.bg="#3C3836"
|
||||
tab.bold=false
|
||||
tab.selected.default=true
|
||||
tab.selected.fg=yellow
|
||||
tab.selected.bold=true
|
||||
tab.selected.reverse=false
|
||||
@@ -0,0 +1,75 @@
|
||||
# vim: ft=dosini
|
||||
|
||||
*.default=true
|
||||
*.normal=true
|
||||
|
||||
border.bg=#005f87
|
||||
title.bg=#005f87
|
||||
|
||||
title.fg=white
|
||||
title.bold=true
|
||||
|
||||
header.bold=true
|
||||
header.fg=#005f87
|
||||
|
||||
tab.selected.fg=white
|
||||
tab.selected.bg=#005f87
|
||||
tab.selected.bold=true
|
||||
dirlist*.selected.bg=#005f87
|
||||
dirlist*.selected.fg=white
|
||||
dirlist*.selected.bold=true
|
||||
dirlist_unread.fg=#64A6B3
|
||||
|
||||
*error.bold=true
|
||||
*error.fg=red
|
||||
*warning.fg=yellow
|
||||
*success.fg=green
|
||||
|
||||
statusline_default.bg=#303030
|
||||
statusline_error.fg=red
|
||||
|
||||
msglist_unread.fg=#ffffff
|
||||
msglist_unread.bold=true
|
||||
msglist_deleted.fg=#666666
|
||||
#msglist_*.selected.bg=#303030
|
||||
msglist_*.selected.fg=yellow
|
||||
msglist_marked.fg=white
|
||||
msglist_marked.selected.fg=white
|
||||
msglist_marked.bg=#005f87
|
||||
msglist_marked.selected.bg=#005fff
|
||||
msglist_pill.reverse=true
|
||||
|
||||
part_*.fg=#ffffff
|
||||
part_mimetype.fg=#005f87
|
||||
part_*.selected.fg=#ffffff
|
||||
part_*.selected.bg=#005f87
|
||||
part_filename.selected.bold=true
|
||||
|
||||
completion_pill.reverse=true
|
||||
selector_focused.bold=true
|
||||
selector_focused.bg=#005f87
|
||||
selector_focused.fg=white
|
||||
selector_chooser.bold=true
|
||||
selector_chooser.bg=#005f87
|
||||
selector_chooser.fg=white
|
||||
default.selected.bold=true
|
||||
default.selected.fg=white
|
||||
default.selected.bg=#005f87
|
||||
|
||||
completion_default.selected.bg=#005f87
|
||||
|
||||
[viewer]
|
||||
url.fg=#ffffaf
|
||||
url.underline=true
|
||||
header.fg=#af87ff
|
||||
signature.fg=#af87ff
|
||||
diff_meta.fg=#ffffff
|
||||
diff_meta.bold=true
|
||||
diff_chunk.fg=#00cdcd
|
||||
diff_add.fg=#00cd00
|
||||
diff_del.fg=#cd0000
|
||||
quote_1.fg=#5fafff
|
||||
quote_2.fg=#ff8700
|
||||
quote_3.fg=#af87ff
|
||||
quote_4.fg=#ff5fd7
|
||||
quote_x.fg=#808080
|
||||
@@ -0,0 +1,8 @@
|
||||
X-Mailer: aerc {{version}}
|
||||
|
||||
Forwarded message from {{.OriginalFrom | names | join ", "}} on {{dateFormat .OriginalDate "Mon Jan 2, 2006 at 3:04 PM"}}:
|
||||
{{.OriginalText}}
|
||||
{{- with .Signature }}
|
||||
|
||||
{{.}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,5 @@
|
||||
X-Mailer: aerc {{version}}
|
||||
{{- with .Signature }}
|
||||
|
||||
{{.}}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,23 @@
|
||||
X-Mailer: aerc {{version}}
|
||||
|
||||
On {{dateFormat (.OriginalDate | toLocal) "Mon Jan 2, 2006 at 3:04 PM MST"}}, {{.OriginalFrom | names | join ", "}} wrote:
|
||||
|
||||
{{ if or
|
||||
(eq .OriginalMIMEType "text/html")
|
||||
(contains (toLower .OriginalText) "<html")
|
||||
}}
|
||||
{{- $text := exec `/usr/lib/aerc/filters/html` .OriginalText | replace `\r` `` -}}
|
||||
{{- range split "\n" $text -}}
|
||||
{{- if or
|
||||
(eq (len .) 0)
|
||||
(match `^\[.+\]\s*$` .)
|
||||
}}{{continue}}{{end}}
|
||||
{{- printf "%s\n" . | replace `^[\s]+` "" | quote}}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
{{- trimSignature .OriginalText | quote -}}
|
||||
{{- end -}}
|
||||
{{- with .Signature }}
|
||||
|
||||
{{.}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,281 @@
|
||||
## where to store your database, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/history.db
|
||||
## windows: %USERPROFILE%/.local/share/atuin/history.db
|
||||
# db_path = "~/.history.db"
|
||||
|
||||
## where to store your encryption key, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/key
|
||||
## windows: %USERPROFILE%/.local/share/atuin/key
|
||||
# key_path = "~/.key"
|
||||
|
||||
## where to store your auth session token, default is your system data directory
|
||||
## linux/mac: ~/.local/share/atuin/session
|
||||
## windows: %USERPROFILE%/.local/share/atuin/session
|
||||
# session_path = "~/.session"
|
||||
|
||||
## date format used, either "us" or "uk"
|
||||
# dialect = "us"
|
||||
|
||||
## default timezone to use when displaying time
|
||||
## either "l", "local" to use the system's current local timezone, or an offset
|
||||
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
||||
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
||||
# timezone = "local"
|
||||
|
||||
## enable or disable automatic sync
|
||||
# auto_sync = true
|
||||
|
||||
## enable or disable automatic update checks
|
||||
update_check = false
|
||||
|
||||
## address of the sync server
|
||||
# sync_address = "https://api.atuin.sh"
|
||||
|
||||
## how often to sync history. note that this is only triggered when a command
|
||||
## is ran, so sync intervals may well be longer
|
||||
## set it to 0 to sync after every command
|
||||
# sync_frequency = "10m"
|
||||
|
||||
## which search mode to use
|
||||
## possible values: prefix, fulltext, fuzzy, skim
|
||||
search_mode = "fulltext"
|
||||
|
||||
## which filter mode to use by default
|
||||
## possible values: "global", "host", "session", "directory", "workspace"
|
||||
## consider using search.filters to customize the enablement and order of filter modes
|
||||
# filter_mode = "global"
|
||||
|
||||
## With workspace filtering enabled, Atuin will filter for commands executed
|
||||
## in any directory within a git repository tree (default: false).
|
||||
##
|
||||
## To use workspace mode by default when available, set this to true and
|
||||
## set filter_mode to "workspace" or leave it unspecified and
|
||||
## set search.filters to include "workspace" before other filter modes.
|
||||
# workspaces = false
|
||||
|
||||
## which filter mode to use when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "filter_mode"
|
||||
## leave unspecified to use same mode set in "filter_mode"
|
||||
filter_mode_shell_up_key_binding = "session"
|
||||
|
||||
## which search mode to use when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "search_mode"
|
||||
## leave unspecified to use same mode set in "search_mode"
|
||||
# search_mode_shell_up_key_binding = "fuzzy"
|
||||
|
||||
## which style to use
|
||||
## possible values: auto, full, compact
|
||||
# style = "auto"
|
||||
|
||||
## the maximum number of lines the interface should take up
|
||||
## set it to 0 to always go full screen
|
||||
inline_height = 20
|
||||
|
||||
## the maximum number of lines the interface should take up
|
||||
## when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "inline_height"
|
||||
inline_height_shell_up_key_binding = 5
|
||||
|
||||
## Invert the UI - put the search bar at the top , Default to `false`
|
||||
# invert = false
|
||||
|
||||
## enable or disable showing a preview of the selected command
|
||||
## useful when the command is longer than the terminal width and is cut off
|
||||
# show_preview = true
|
||||
|
||||
## what to do when the escape key is pressed when searching
|
||||
## possible values: return-original, return-query
|
||||
exit_mode = "return-query"
|
||||
|
||||
## possible values: emacs, subl
|
||||
# word_jump_mode = "emacs"
|
||||
|
||||
## characters that count as a part of a word
|
||||
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
|
||||
## number of context lines to show when scrolling by pages
|
||||
# scroll_context_lines = 1
|
||||
|
||||
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
|
||||
## alt-0 .. alt-9
|
||||
ctrl_n_shortcuts = true
|
||||
|
||||
## default history list format - can also be specified with the --format arg
|
||||
# history_format = "{time}\t{command}\t{duration}"
|
||||
|
||||
## prevent commands matching any of these regexes from being written to history.
|
||||
## Note that these regular expressions are unanchored, i.e. if they don't start
|
||||
## with ^ or end with $, they'll match anywhere in the command.
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
history_filter = [
|
||||
"^exit$",
|
||||
"^ .*",
|
||||
"_secret="
|
||||
]
|
||||
|
||||
## prevent commands run with cwd matching any of these regexes from being written
|
||||
## to history. Note that these regular expressions are unanchored, i.e. if they don't
|
||||
## start with ^ or end with $, they'll match anywhere in CWD.
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# cwd_filter = [
|
||||
# "^/very/secret/area",
|
||||
# ]
|
||||
|
||||
## Configure the maximum height of the preview to show.
|
||||
## Useful when you have long scripts in your history that you want to distinguish
|
||||
## by more than the first few lines.
|
||||
# max_preview_height = 4
|
||||
|
||||
## Configure whether or not to show the help row, which includes the current Atuin
|
||||
## version (and whether an update is available), a keymap hint, and the total
|
||||
## amount of commands in your history.
|
||||
# show_help = true
|
||||
|
||||
## Configure whether or not to show tabs for search and inspect
|
||||
# show_tabs = true
|
||||
|
||||
## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin
|
||||
## tab, such as Search or Inspector, and other tabs you may wish to see. This will
|
||||
## only be hidden if there are fewer than this count of lines available, and does not affect the use
|
||||
## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines).
|
||||
## This is ignored except in `compact` mode.
|
||||
# auto_hide_height = 8
|
||||
|
||||
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
||||
## 1. AWS key id
|
||||
## 2. Github pat (old and new)
|
||||
## 3. Slack oauth tokens (bot, user)
|
||||
## 4. Slack webhooks
|
||||
## 5. Stripe live/test keys
|
||||
# secrets_filter = true
|
||||
|
||||
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
||||
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
||||
# enter_accept = true
|
||||
|
||||
## Defaults to false. If enabled, when triggered after && or ||, Atuin will complete commands to chain rather than replace the current line.
|
||||
# command_chaining = false
|
||||
|
||||
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
||||
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
||||
## search is automatically selected based on the shell's keymap where the
|
||||
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
||||
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
||||
## the specified one.
|
||||
keymap_mode = "auto"
|
||||
|
||||
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
||||
## in entering the cursor shape. Available values are "default" and
|
||||
## "{blink,steady}-{block,underline,bar}".
|
||||
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
||||
|
||||
# network_connect_timeout = 5
|
||||
# network_timeout = 5
|
||||
|
||||
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
||||
# local_timeout = 5
|
||||
|
||||
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
||||
## Alternatively, set env NO_MOTION=true
|
||||
# prefers_reduced_motion = false
|
||||
|
||||
[stats]
|
||||
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||
# common_subcommands = [
|
||||
# "apt",
|
||||
# "cargo",
|
||||
# "composer",
|
||||
# "dnf",
|
||||
# "docker",
|
||||
# "git",
|
||||
# "go",
|
||||
# "ip",
|
||||
# "jj",
|
||||
# "kubectl",
|
||||
# "nix",
|
||||
# "nmcli",
|
||||
# "npm",
|
||||
# "pecl",
|
||||
# "pnpm",
|
||||
# "podman",
|
||||
# "port",
|
||||
# "systemctl",
|
||||
# "tmux",
|
||||
# "yarn",
|
||||
# ]
|
||||
|
||||
## Set commands that should be totally stripped and ignored from stats
|
||||
# common_prefix = ["sudo"]
|
||||
|
||||
## Set commands that will be completely ignored from stats
|
||||
# ignored_commands = [
|
||||
# "cd",
|
||||
# "ls",
|
||||
# "vi"
|
||||
# ]
|
||||
|
||||
[keys]
|
||||
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
||||
# scroll_exits = true
|
||||
# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character
|
||||
# exit_past_line_start = true
|
||||
# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
|
||||
# accept_past_line_end = true
|
||||
|
||||
[sync]
|
||||
# Enable sync v2 by default
|
||||
# This ensures that sync v2 is enabled for new installs only
|
||||
# In a later release it will become the default across the board
|
||||
records = true
|
||||
|
||||
[preview]
|
||||
## which preview strategy to use to calculate the preview height (respects max_preview_height).
|
||||
## possible values: auto, static
|
||||
## auto: length of the selected command.
|
||||
## static: length of the longest command stored in the history.
|
||||
## fixed: use max_preview_height as fixed height.
|
||||
# strategy = "auto"
|
||||
|
||||
[daemon]
|
||||
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
||||
# enabled = false
|
||||
|
||||
## How often the daemon should sync in seconds
|
||||
# sync_frequency = 300
|
||||
|
||||
## The path to the unix socket used by the daemon (on unix systems)
|
||||
## linux/mac: ~/.local/share/atuin/atuin.sock
|
||||
## windows: Not Supported
|
||||
# socket_path = "~/.local/share/atuin/atuin.sock"
|
||||
|
||||
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
||||
## linux: false
|
||||
## mac/windows: Not Supported
|
||||
# systemd_socket = false
|
||||
|
||||
## The port that should be used for TCP on non unix systems
|
||||
# tcp_port = 8889
|
||||
|
||||
# [theme]
|
||||
## Color theme to use for rendering in the terminal.
|
||||
## There are some built-in themes, including the base theme ("default"),
|
||||
## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your
|
||||
## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or
|
||||
## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and
|
||||
## the string values as lowercase entries from this list:
|
||||
## https://ogeon.github.io/docs/palette/master/palette/named/index.html
|
||||
## If you provide a custom theme file, it should be called "NAME.toml" and the theme below
|
||||
## should be the stem, i.e. `theme = "NAME"` for your chosen NAME.
|
||||
# name = "autumn"
|
||||
|
||||
## Whether the theme manager should output normal or extra information to help fix themes.
|
||||
## Boolean, true or false. If unset, left up to the theme manager.
|
||||
# debug = true
|
||||
|
||||
[search]
|
||||
## The list of enabled filter modes, in order of priority.
|
||||
## The "workspace" mode is skipped when not in a workspace or workspaces = false.
|
||||
## Default filter mode can be overridden with the filter_mode setting.
|
||||
# filters = [ "global", "host", "session", "workspace", "directory" ]
|
||||
@@ -0,0 +1,58 @@
|
||||
mouse = true
|
||||
hide_blocked_users = true
|
||||
messages_limit = 50
|
||||
editor = "default"
|
||||
timestamps = true
|
||||
timestamps_format = "01-02 15:04:05 (Z07:00)"
|
||||
show_attachment_links = false
|
||||
|
||||
[keys]
|
||||
focus_guilds_tree = "Ctrl+O"
|
||||
focus_messages_text = "Ctrl+P"
|
||||
focus_message_input = "Ctrl+N"
|
||||
toggle_guilds_tree = "Ctrl+P"
|
||||
select_previous = "Rune[k]"
|
||||
select_next = "Rune[j]"
|
||||
select_first = "Rune[g]"
|
||||
select_last = "Rune[G]"
|
||||
logout = "Ctrl+Shift+D"
|
||||
quit = "Ctrl+C"
|
||||
[keys.guilds_tree]
|
||||
select_current = "Enter"
|
||||
[keys.messages_text]
|
||||
select_reply = "Rune[s]"
|
||||
select_pin = "Rune[p]"
|
||||
reply = "Rune[r]"
|
||||
reply_mention = "Rune[R]"
|
||||
delete = "Rune[d]"
|
||||
yank = "Rune[y]"
|
||||
open = "Rune[o]"
|
||||
[keys.message_input]
|
||||
send = "Enter"
|
||||
editor = "Ctrl+E"
|
||||
cancel = "Ctrl+D"
|
||||
|
||||
[notifications]
|
||||
enabled = true
|
||||
duration = 500
|
||||
[notifications.sound]
|
||||
enabled = true
|
||||
only_on_ping = false
|
||||
|
||||
[theme]
|
||||
border_color = "default"
|
||||
border_padding = [0, 0, 1, 1]
|
||||
title_color = "default"
|
||||
background_color = "default"
|
||||
[theme.guilds_tree]
|
||||
auto_expand_folders = true
|
||||
channel_color = "white"
|
||||
graphics = true
|
||||
guild_color = "white"
|
||||
private_channel_color = "white"
|
||||
[theme.messages_text]
|
||||
author_color = "aqua"
|
||||
content_color = "white"
|
||||
emoji_color = "green"
|
||||
link_color = "blue"
|
||||
attachment_color = "yellow"
|
||||
@@ -0,0 +1,198 @@
|
||||
# -*- conf -*-
|
||||
|
||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
# app-id=foot
|
||||
# title=foot
|
||||
# locked-title=no
|
||||
|
||||
font=monospace:size=10,JetBrainsMono Nerd Font:size=10
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
dpi-aware=yes
|
||||
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
# initial-window-mode=windowed
|
||||
pad=12x12 # optionally append 'center'
|
||||
# resize-delay-ms=100
|
||||
|
||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
|
||||
[environment]
|
||||
SYSTEMD_EDITOR=/usr/bin/nvim
|
||||
EDITOR=/usr/bin/nvim
|
||||
VISUAL=/usr/bin/nvim
|
||||
PAGER="bat --style=header,rule,snip"
|
||||
|
||||
[bell]
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# command=
|
||||
# command-focused=no
|
||||
|
||||
[scrollback]
|
||||
lines=100000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=
|
||||
|
||||
[url]
|
||||
# launch=xdg-open ${url}
|
||||
# label-letters=sadfjklewcmpgh
|
||||
# osc8-underline=url-mode
|
||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||
|
||||
[cursor]
|
||||
# style=block
|
||||
# color=<inverse foreground/background>
|
||||
# blink=no
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
# hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[colors]
|
||||
alpha=0.9 # Adjust alpha to change transparency level
|
||||
foreground=cdd6f4
|
||||
background=1e1e2e
|
||||
cursor=11111b f5e0dc
|
||||
|
||||
regular0=45475a
|
||||
regular1=f38ba8
|
||||
regular2=a6e3a1
|
||||
regular3=f9e2af
|
||||
regular4=89b4fa
|
||||
regular5=f5c2e7
|
||||
regular6=94e2d5
|
||||
regular7=bac2de
|
||||
|
||||
bright0=585b70
|
||||
bright1=f38ba8
|
||||
bright2=a6e3a1
|
||||
bright3=f9e2af
|
||||
bright4=89b4fa
|
||||
bright5=f5c2e7
|
||||
bright6=94e2d5
|
||||
bright7=a6adc8
|
||||
|
||||
## dimmed colors (see foot.ini(5) man page)
|
||||
# dim0=<not set>
|
||||
# ...
|
||||
# dim7=<not-set>
|
||||
|
||||
## The remaining 256-color palette
|
||||
16=fab387
|
||||
17=f5e0dc
|
||||
# ...
|
||||
# 255 = <256-color palette #255>
|
||||
|
||||
# Misc colors
|
||||
selection-foreground=cdd6f4
|
||||
selection-background=414356
|
||||
jump-labels=11111b fab387
|
||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||
search-box-no-match=11111b f38ba8
|
||||
search-box-match=cdd6f4 313244
|
||||
urls=89b4fa
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
size=0
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-typing=no
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# scrollback-up-page=Shift+Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# clipboard-copy=Control+Shift+c XF86Copy
|
||||
# clipboard-paste=Control+Shift+v XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
search-start=Control+Shift+f
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
# fullscreen=none
|
||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-selected=[xargs -r firefox] none
|
||||
# show-urls-launch=Control+Shift+o
|
||||
show-urls-copy=Control+Shift+y
|
||||
# show-urls-persistent=none
|
||||
# prompt-prev=Control+Shift+z
|
||||
# prompt-next=Control+Shift+x
|
||||
# unicode-input=none
|
||||
# noop=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Control+c Escape
|
||||
# commit=Return
|
||||
find-prev=Control+p
|
||||
find-next=Control+n
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# extend-to-word-boundary=Control+w
|
||||
# extend-to-next-whitespace=Control+Shift+w
|
||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# unicode-input=none
|
||||
|
||||
[url-bindings]
|
||||
# cancel=Control+g Control+c Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[text-bindings]
|
||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||
|
||||
[mouse-bindings]
|
||||
# selection-override-modifiers=Shift
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
# select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-row=BTN_LEFT-3
|
||||
|
||||
# vim: ft=dosini
|
||||
@@ -0,0 +1,115 @@
|
||||
# output=<not set>
|
||||
font=JetBrainsMono-Regular:size=14
|
||||
dpi-aware=no
|
||||
# use-bold=no
|
||||
prompt="❯ "
|
||||
# placeholder=
|
||||
icon-theme=Qogir-dark
|
||||
# icons-enabled=yes
|
||||
# fields=filename,name,generic
|
||||
# password-character=*
|
||||
# filter-desktop=no
|
||||
# match-mode=fzf
|
||||
# sort-result=yes
|
||||
# match-counter=no
|
||||
# delayed-filter-ms=300
|
||||
# delayed-filter-limit=20000
|
||||
# show-actions=no
|
||||
terminal=footclient -e
|
||||
# launch-prefix=<not set>
|
||||
# list-executables-in-path=no
|
||||
|
||||
# anchor=center
|
||||
# x-margin=0
|
||||
# y-margin=0
|
||||
lines=16
|
||||
width=50
|
||||
tabs=4
|
||||
horizontal-pad=50
|
||||
vertical-pad=18
|
||||
inner-pad=10
|
||||
|
||||
image-size-ratio=.25
|
||||
|
||||
# line-height=<use font metrics>
|
||||
# letter-spacing=0
|
||||
|
||||
# layer=overlay
|
||||
exit-on-keyboard-focus-loss=no
|
||||
|
||||
# cache=<not set>
|
||||
|
||||
# render-workers=<number of logical CPUs>
|
||||
# match-workers=<number of logical CPUs>
|
||||
|
||||
[colors]
|
||||
background=08052bdd
|
||||
text=e3e3eaff
|
||||
prompt=ff7f7fff
|
||||
# placeholder=ffd966ff
|
||||
input=ff7f7fff
|
||||
match=FFE57Fff
|
||||
selection-match=FFE57Fff
|
||||
selection=44475add
|
||||
selection-text=FFFFFFff
|
||||
# counter=93a1a1ff
|
||||
border=7f3fbf55
|
||||
|
||||
[border]
|
||||
# width=1
|
||||
# radius=10
|
||||
|
||||
[dmenu]
|
||||
# mode=text # text|index
|
||||
# exit-immediately-if-empty=no
|
||||
|
||||
[key-bindings]
|
||||
# cancel=Escape Control+g Control+c Control+bracketleft
|
||||
# execute=Return KP_Enter Control+y
|
||||
# execute-or-next=Tab
|
||||
# execute-input=Shift+Return Shift+KP_Enter
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace Control+h
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace Control+w
|
||||
# delete-line-backward=Control+u
|
||||
# delete-next=Delete KP_Delete Control+d
|
||||
# delete-next-word=Mod1+d Control+Delete Control+KP_Delete
|
||||
# delete-line-forward=Control+k
|
||||
# prev=Up Control+p
|
||||
# prev-with-wrap=ISO_Left_Tab
|
||||
# prev-page=Page_Up KP_Page_Up
|
||||
# next=Down Control+n
|
||||
# next-with-wrap=none
|
||||
# next-page=Page_Down KP_Page_Down
|
||||
# expunge=Shift+Delete
|
||||
# clipboard-paste=Control+v XF86Paste
|
||||
# primary-paste=Shift+Insert Shift+KP_Insert
|
||||
|
||||
# custom-N: *dmenu mode only*. Like execute, but with a non-zero
|
||||
# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
|
||||
# with 12, and so on.
|
||||
|
||||
# custom-1=Mod1+1
|
||||
# custom-2=Mod1+2
|
||||
# custom-3=Mod1+3
|
||||
# custom-4=Mod1+4
|
||||
# custom-5=Mod1+5
|
||||
# custom-6=Mod1+6
|
||||
# custom-7=Mod1+7
|
||||
# custom-8=Mod1+8
|
||||
# custom-9=Mod1+9
|
||||
# custom-10=Mod1+0
|
||||
# custom-11=Mod1+exclam
|
||||
# custom-12=Mod1+at
|
||||
# custom-13=Mod1+numbersign
|
||||
# custom-14=Mod1+dollar
|
||||
# custom-15=Mod1+percent
|
||||
# custom-16=Mod1+dead_circumflex
|
||||
# custom-17=Mod1+ampersand
|
||||
# custom-18=Mod1+asterix
|
||||
# custom-19=Mod1+parentleft
|
||||
@@ -0,0 +1,16 @@
|
||||
[Settings]
|
||||
gtk-theme-name=Arc-Dark
|
||||
gtk-icon-theme-name=Qogir-dark
|
||||
gtk-font-name=Noto Sans 10
|
||||
gtk-cursor-theme-name=Qogir-dark
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintmedium
|
||||
gtk-xft-rgba=rgb
|
||||
@@ -0,0 +1,19 @@
|
||||
[main]
|
||||
gtk-theme=Arc-Dark
|
||||
time-format=%l:%M %p
|
||||
start-hidden=1
|
||||
modules=userinfo-module;powerbar-module
|
||||
|
||||
[userinfo]
|
||||
round-image=true
|
||||
horizontal-layout=false
|
||||
under-clock=true
|
||||
|
||||
[powerbar]
|
||||
show-labels=true
|
||||
linked-buttons=true
|
||||
reboot-command=systemctl reboot
|
||||
poweroff-command=systemctl -i poweroff
|
||||
suspend-command=systemctl suspend
|
||||
userswitch-command=
|
||||
logout-command=swaymsg exit
|
||||
@@ -0,0 +1,46 @@
|
||||
* {
|
||||
border: none;
|
||||
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8)
|
||||
}
|
||||
window {
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-color: black;
|
||||
}
|
||||
#clock-label {
|
||||
font-family: JetBrainsMono;
|
||||
font-size: 64.0px;
|
||||
}
|
||||
#unlock-button {
|
||||
background: none;
|
||||
background-color: rgba(127, 63, 191, 0.4);
|
||||
border: 2px solid rgba(127, 63, 191, 0.5);
|
||||
padding: 4px;
|
||||
}
|
||||
#unlock-button:hover {
|
||||
background-color: rgba(127, 63, 191, 0.9);
|
||||
}
|
||||
#input-field {
|
||||
border-radius: 10px;
|
||||
background-color: rgba(127, 127, 255, 0.1);
|
||||
border: 2px solid rgba(127, 63, 191, 0.5);
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
#powerbar-box button {
|
||||
background: none;
|
||||
background-color: rgba(127, 63, 191, 0.4);
|
||||
border: 2px solid rgba(127, 63, 191, 0.5);
|
||||
border-radius: 10px;
|
||||
padding: 4px;
|
||||
}
|
||||
#powerbar-box button:hover {
|
||||
background-color: rgba(127, 63, 191, 0.9);
|
||||
}
|
||||
#input-label {
|
||||
font-size: 0px;
|
||||
}
|
||||
#window-box infobar {
|
||||
background-color: transparent;
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
first_name_only = false
|
||||
show_receipts = true
|
||||
notifications = true
|
||||
bell = true
|
||||
colored_messages = true
|
||||
default_keybindings = false
|
||||
|
||||
[user]
|
||||
display_name = "Henrik Bakken"
|
||||
|
||||
[keybindings.anywhere]
|
||||
F1 = "help"
|
||||
ctrl-q = "quit"
|
||||
backspace = "delete_character previous"
|
||||
alt-backspace = "kill_word"
|
||||
delete = "delete_character next"
|
||||
|
||||
[keybindings.normal]
|
||||
F2 = "toggle_channel_modal"
|
||||
ctrl-n = "select_message next entry"
|
||||
ctrl-p = "select_message previous entry"
|
||||
alt-n = "select_channel next"
|
||||
alt-p = "select_channel previous"
|
||||
ctrl-x = "toggle_multiline"
|
||||
ctrl-f = "move_text next word"
|
||||
alt-f = "move_text next character"
|
||||
ctrl-b = "move_text previous word"
|
||||
alt-b = "move_text previous character"
|
||||
ctrl-u = "kill_backward_line"
|
||||
ctrl-w = "kill_word"
|
||||
ctrl-a = "beginning_of_line"
|
||||
ctrl-e = "end_of_line"
|
||||
tab = "react"
|
||||
# defaults
|
||||
shift-down = "select_channel next"
|
||||
shift-up = "select_channel previous"
|
||||
home = "beginning_of_line"
|
||||
end = "end_of_line"
|
||||
pagedown = "select_message next entry"
|
||||
pageup = "select_message previous entry"
|
||||
ctrl-left = "move_text previous character"
|
||||
ctrl-right = "move_text next character"
|
||||
left = "move_text previous character"
|
||||
right = "move_text next character"
|
||||
alt-left = "move_text previous word"
|
||||
alt-right = "move_text next word"
|
||||
alt-up = "select_message previous entry"
|
||||
alt-down = "select_message next entry"
|
||||
|
||||
[keybindings.message_selected]
|
||||
alt-y = "copy_message selected"
|
||||
ctrl-e = "edit_message"
|
||||
ctrl-t = "react :thumbsup:"
|
||||
ctrl-r = "react ❤️"
|
||||
|
||||
[keybindings.multiline]
|
||||
ctrl-n = "move_text next line"
|
||||
ctrl-p = "move_text previous line"
|
||||
# defaults
|
||||
down = "move_text next line"
|
||||
up = "move_text previous line"
|
||||
|
||||
[keybindings.help]
|
||||
esc = "help"
|
||||
ctrl-n = "scroll help down entry"
|
||||
ctrl-p = "scroll help up entry"
|
||||
# defaults
|
||||
down = "scroll help down entry"
|
||||
up = "scroll help up entry"
|
||||
pagedown = "scroll help down entry"
|
||||
pageup = "scroll help up entry"
|
||||
|
||||
[keybindings.channel_modal]
|
||||
F2 = "toggle_channel_modal"
|
||||
ctrl-n = "select_channel_modal next"
|
||||
ctrl-p = "select_channel_modal previous"
|
||||
ctrl-f = "move_text next word"
|
||||
ctrl-b = "move_text previous word"
|
||||
alt-f = "move_text next character"
|
||||
alt-b = "move_text previous character"
|
||||
ctrl-u = "kill_backward_line"
|
||||
ctrl-w = "kill_word"
|
||||
ctrl-a = "beginning_of_line"
|
||||
ctrl-e = "end_of_line"
|
||||
alt-backspace = "kill_word"
|
||||
# defaults
|
||||
ctrl-left = "move_text previous character"
|
||||
ctrl-right = "move_text next character"
|
||||
down = "select_channel_modal next"
|
||||
up = "select_channel_modal previous"
|
||||
left = "move_text previous character"
|
||||
right = "move_text next character"
|
||||
alt-left = "move_text previous word"
|
||||
alt-right = "move_text next word"
|
||||
home = "beginning_of_line"
|
||||
end = "end_of_line"
|
||||
@@ -0,0 +1,53 @@
|
||||
theme = "catppuccin_mocha"
|
||||
|
||||
[editor]
|
||||
bufferline = "multiple"
|
||||
true-color = true
|
||||
line-number = "relative"
|
||||
rulers = [100]
|
||||
insert-final-newline = false
|
||||
cursorline = true
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
|
||||
[editor.file-picker]
|
||||
git-ignore = false
|
||||
|
||||
[editor.indent-guides]
|
||||
character = "│"
|
||||
render = true
|
||||
|
||||
[editor.lsp]
|
||||
auto-signature-help = false
|
||||
display-messages = true
|
||||
|
||||
[editor.soft-wrap]
|
||||
enable = false
|
||||
# wrap-at-text-width = true
|
||||
wrap-indicator = "↩ "
|
||||
|
||||
[editor.statusline]
|
||||
left = ["mode", "spinner", "version-control", "file-name", "read-only-indicator", "file-modification-indicator"]
|
||||
right = ["diagnostics", "selections", "register", "position", "position-percentage", "file-encoding", "file-line-ending"]
|
||||
|
||||
|
||||
[editor.whitespace.characters]
|
||||
space = " "
|
||||
nbsp = "⍽" # Non breaking space
|
||||
tab = "→"
|
||||
newline = "⏎"
|
||||
tabpad = "·"
|
||||
|
||||
[editor.whitespace.render]
|
||||
space = "all"
|
||||
tab = "all"
|
||||
newline = "none"
|
||||
|
||||
[keys.normal]
|
||||
X = ["extend_line_up", "extend_to_line_bounds"]
|
||||
|
||||
[keys.select]
|
||||
X = ["extend_line_up", "extend_to_line_bounds"]
|
||||
@@ -0,0 +1,42 @@
|
||||
[[language]]
|
||||
name = "go"
|
||||
auto-format = true
|
||||
formatter = { command = "goimports" }
|
||||
|
||||
[[language]]
|
||||
name = "markdown"
|
||||
#language-servers = [ "marksman", "ltex-ls", "mpls" ]
|
||||
language-servers = [ "marksman", "ltex-ls" ]
|
||||
rulers = [120]
|
||||
|
||||
[[language]]
|
||||
name = "html"
|
||||
formatter = { command = 'prettier', args = ["--parser", "html"] }
|
||||
|
||||
[[language]]
|
||||
name = "json"
|
||||
formatter = { command = 'prettier', args = ["--parser", "json"] }
|
||||
|
||||
[[language]]
|
||||
name = "css"
|
||||
formatter = { command = 'prettier', args = ["--parser", "css"] }
|
||||
|
||||
[[language]]
|
||||
name = "javascript"
|
||||
formatter = { command = 'prettier', args = ["--parser", "typescript"] }
|
||||
auto-format = true
|
||||
|
||||
# markdown previewer https://github.com/mhersson/mpls
|
||||
[language-server.mpls]
|
||||
command = "mpls"
|
||||
# args = ["--no-auto","--port","8989","--browser","explorer.exe"]
|
||||
args = ["--browser","explorer.exe"]
|
||||
|
||||
[[language]]
|
||||
name = "hledger-rules"
|
||||
scope = "source.hledger-rules"
|
||||
file-types = ["toml", { glob = "*.rules"} ]
|
||||
|
||||
#[language-server.ltex-ls.config]
|
||||
#ltex.disabledRules = { "en-US" = ["PROFANITY"], "en-GB" = ["PROFANITY"] }
|
||||
#ltex.dictionary = { "en-US" = ["builtin"], "en-GB" = ["builtin"] }
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#f2d5cf"
|
||||
flamingo = "#eebebe"
|
||||
pink = "#f4b8e4"
|
||||
mauve = "#ca9ee6"
|
||||
red = "#e78284"
|
||||
maroon = "#ea999c"
|
||||
peach = "#ef9f76"
|
||||
yellow = "#e5c890"
|
||||
green = "#a6d189"
|
||||
teal = "#81c8be"
|
||||
sky = "#99d1db"
|
||||
sapphire = "#85c1dc"
|
||||
blue = "#8caaee"
|
||||
lavender = "#babbf1"
|
||||
text = "#c6d0f5"
|
||||
subtext1 = "#b5bfe2"
|
||||
subtext0 = "#a5adce"
|
||||
overlay2 = "#949cbb"
|
||||
overlay1 = "#838ba7"
|
||||
overlay0 = "#737994"
|
||||
surface2 = "#626880"
|
||||
surface1 = "#51576d"
|
||||
surface0 = "#414559"
|
||||
base = "#303446"
|
||||
mantle = "#292c3c"
|
||||
crust = "#232634"
|
||||
|
||||
cursorline = "#3b3f52"
|
||||
secondary_cursor = "#b8a5a6"
|
||||
secondary_cursor_normal = "#9192be"
|
||||
secondary_cursor_insert = "#83a275"
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#dc8a78"
|
||||
flamingo = "#dd7878"
|
||||
pink = "#ea76cb"
|
||||
mauve = "#8839ef"
|
||||
red = "#d20f39"
|
||||
maroon = "#e64553"
|
||||
peach = "#fe640b"
|
||||
yellow = "#df8e1d"
|
||||
green = "#40a02b"
|
||||
teal = "#179299"
|
||||
sky = "#04a5e5"
|
||||
sapphire = "#209fb5"
|
||||
blue = "#1e66f5"
|
||||
lavender = "#7287fd"
|
||||
text = "#4c4f69"
|
||||
subtext1 = "#5c5f77"
|
||||
subtext0 = "#6c6f85"
|
||||
overlay2 = "#7c7f93"
|
||||
overlay1 = "#8c8fa1"
|
||||
overlay0 = "#9ca0b0"
|
||||
surface2 = "#acb0be"
|
||||
surface1 = "#bcc0cc"
|
||||
surface0 = "#ccd0da"
|
||||
base = "#eff1f5"
|
||||
mantle = "#e6e9ef"
|
||||
crust = "#dce0e8"
|
||||
|
||||
cursorline = "#e8ecf1"
|
||||
secondary_cursor = "#e1a99d"
|
||||
secondary_cursor_normal = "#97a7fb"
|
||||
secondary_cursor_insert = "#74b867"
|
||||
@@ -0,0 +1,159 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
|
||||
# fix issue with background color getting messed up in tmux...
|
||||
"ui.background" = { }
|
||||
# "ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#f4dbd6"
|
||||
flamingo = "#f0c6c6"
|
||||
pink = "#f5bde6"
|
||||
mauve = "#c6a0f6"
|
||||
red = "#ed8796"
|
||||
maroon = "#ee99a0"
|
||||
peach = "#f5a97f"
|
||||
yellow = "#eed49f"
|
||||
green = "#a6da95"
|
||||
teal = "#8bd5ca"
|
||||
sky = "#91d7e3"
|
||||
sapphire = "#7dc4e4"
|
||||
blue = "#8aadf4"
|
||||
lavender = "#b7bdf8"
|
||||
text = "#cad3f5"
|
||||
subtext1 = "#b8c0e0"
|
||||
subtext0 = "#a5adcb"
|
||||
overlay2 = "#939ab7"
|
||||
overlay1 = "#8087a2"
|
||||
overlay0 = "#6e738d"
|
||||
surface2 = "#5b6078"
|
||||
surface1 = "#494d64"
|
||||
surface0 = "#363a4f"
|
||||
base = "#24273a"
|
||||
mantle = "#1e2030"
|
||||
crust = "#181926"
|
||||
|
||||
cursorline = "#303347"
|
||||
secondary_cursor = "#b6a6a7"
|
||||
secondary_cursor_normal = "#8b91bf"
|
||||
secondary_cursor_insert = "#80a57a"
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2", modifiers = ["italic"] }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow", modifiers = ["italic"] }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#f5e0dc"
|
||||
flamingo = "#f2cdcd"
|
||||
pink = "#f5c2e7"
|
||||
mauve = "#cba6f7"
|
||||
red = "#f38ba8"
|
||||
maroon = "#eba0ac"
|
||||
peach = "#fab387"
|
||||
yellow = "#f9e2af"
|
||||
green = "#a6e3a1"
|
||||
teal = "#94e2d5"
|
||||
sky = "#89dceb"
|
||||
sapphire = "#74c7ec"
|
||||
blue = "#89b4fa"
|
||||
lavender = "#b4befe"
|
||||
text = "#cdd6f4"
|
||||
subtext1 = "#bac2de"
|
||||
subtext0 = "#a6adc8"
|
||||
overlay2 = "#9399b2"
|
||||
overlay1 = "#7f849c"
|
||||
overlay0 = "#6c7086"
|
||||
surface2 = "#585b70"
|
||||
surface1 = "#45475a"
|
||||
surface0 = "#313244"
|
||||
base = "#1e1e2e"
|
||||
mantle = "#181825"
|
||||
crust = "#11111b"
|
||||
|
||||
cursorline = "#2a2b3c"
|
||||
secondary_cursor = "#b5a6a8"
|
||||
secondary_cursor_normal = "#878ec0"
|
||||
secondary_cursor_insert = "#7ea87f"
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2" }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon" }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve" }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow" }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#f2d5cf"
|
||||
flamingo = "#eebebe"
|
||||
pink = "#f4b8e4"
|
||||
mauve = "#ca9ee6"
|
||||
red = "#e78284"
|
||||
maroon = "#ea999c"
|
||||
peach = "#ef9f76"
|
||||
yellow = "#e5c890"
|
||||
green = "#a6d189"
|
||||
teal = "#81c8be"
|
||||
sky = "#99d1db"
|
||||
sapphire = "#85c1dc"
|
||||
blue = "#8caaee"
|
||||
lavender = "#babbf1"
|
||||
text = "#c6d0f5"
|
||||
subtext1 = "#b5bfe2"
|
||||
subtext0 = "#a5adce"
|
||||
overlay2 = "#949cbb"
|
||||
overlay1 = "#838ba7"
|
||||
overlay0 = "#737994"
|
||||
surface2 = "#626880"
|
||||
surface1 = "#51576d"
|
||||
surface0 = "#414559"
|
||||
base = "#303446"
|
||||
mantle = "#292c3c"
|
||||
crust = "#232634"
|
||||
|
||||
cursorline = "#3b3f52"
|
||||
secondary_cursor = "#b8a5a6"
|
||||
secondary_cursor_normal = "#9192be"
|
||||
secondary_cursor_insert = "#83a275"
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2" }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon" }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve" }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow" }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#dc8a78"
|
||||
flamingo = "#dd7878"
|
||||
pink = "#ea76cb"
|
||||
mauve = "#8839ef"
|
||||
red = "#d20f39"
|
||||
maroon = "#e64553"
|
||||
peach = "#fe640b"
|
||||
yellow = "#df8e1d"
|
||||
green = "#40a02b"
|
||||
teal = "#179299"
|
||||
sky = "#04a5e5"
|
||||
sapphire = "#209fb5"
|
||||
blue = "#1e66f5"
|
||||
lavender = "#7287fd"
|
||||
text = "#4c4f69"
|
||||
subtext1 = "#5c5f77"
|
||||
subtext0 = "#6c6f85"
|
||||
overlay2 = "#7c7f93"
|
||||
overlay1 = "#8c8fa1"
|
||||
overlay0 = "#9ca0b0"
|
||||
surface2 = "#acb0be"
|
||||
surface1 = "#bcc0cc"
|
||||
surface0 = "#ccd0da"
|
||||
base = "#eff1f5"
|
||||
mantle = "#e6e9ef"
|
||||
crust = "#dce0e8"
|
||||
|
||||
cursorline = "#e8ecf1"
|
||||
secondary_cursor = "#e1a99d"
|
||||
secondary_cursor_normal = "#97a7fb"
|
||||
secondary_cursor_insert = "#74b867"
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2" }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon" }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve" }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow" }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#f4dbd6"
|
||||
flamingo = "#f0c6c6"
|
||||
pink = "#f5bde6"
|
||||
mauve = "#c6a0f6"
|
||||
red = "#ed8796"
|
||||
maroon = "#ee99a0"
|
||||
peach = "#f5a97f"
|
||||
yellow = "#eed49f"
|
||||
green = "#a6da95"
|
||||
teal = "#8bd5ca"
|
||||
sky = "#91d7e3"
|
||||
sapphire = "#7dc4e4"
|
||||
blue = "#8aadf4"
|
||||
lavender = "#b7bdf8"
|
||||
text = "#cad3f5"
|
||||
subtext1 = "#b8c0e0"
|
||||
subtext0 = "#a5adcb"
|
||||
overlay2 = "#939ab7"
|
||||
overlay1 = "#8087a2"
|
||||
overlay0 = "#6e738d"
|
||||
surface2 = "#5b6078"
|
||||
surface1 = "#494d64"
|
||||
surface0 = "#363a4f"
|
||||
base = "#24273a"
|
||||
mantle = "#1e2030"
|
||||
crust = "#181926"
|
||||
|
||||
cursorline = "#303347"
|
||||
secondary_cursor = "#b6a6a7"
|
||||
secondary_cursor_normal = "#8b91bf"
|
||||
secondary_cursor_insert = "#80a57a"
|
||||
@@ -0,0 +1,156 @@
|
||||
# Syntax highlighting
|
||||
# -------------------
|
||||
"attribute" = "yellow"
|
||||
|
||||
"type" = "yellow"
|
||||
"type.enum.variant" = "teal"
|
||||
|
||||
"constructor" = "sapphire"
|
||||
|
||||
"constant" = "peach"
|
||||
"constant.character" = "teal"
|
||||
"constant.character.escape" = "pink"
|
||||
|
||||
"string" = "green"
|
||||
"string.regexp" = "pink"
|
||||
"string.special" = "blue"
|
||||
"string.special.symbol" = "red"
|
||||
|
||||
"comment" = { fg = "overlay2" }
|
||||
|
||||
"variable" = "text"
|
||||
"variable.parameter" = { fg = "maroon" }
|
||||
"variable.builtin" = "red"
|
||||
"variable.other.member" = "teal"
|
||||
|
||||
"label" = "sapphire" # used for lifetimes
|
||||
|
||||
"punctuation" = "overlay2"
|
||||
"punctuation.special" = "sky"
|
||||
|
||||
"keyword" = "mauve"
|
||||
"keyword.control.conditional" = { fg = "mauve" }
|
||||
|
||||
"operator" = "sky"
|
||||
|
||||
"function" = "blue"
|
||||
"function.macro" = "mauve"
|
||||
|
||||
"tag" = "blue"
|
||||
|
||||
"namespace" = { fg = "yellow" }
|
||||
|
||||
"special" = "blue" # fuzzy highlight
|
||||
|
||||
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
|
||||
"markup.heading.1" = "lavender"
|
||||
"markup.heading.2" = "mauve"
|
||||
"markup.heading.3" = "green"
|
||||
"markup.heading.4" = "yellow"
|
||||
"markup.heading.5" = "pink"
|
||||
"markup.heading.6" = "teal"
|
||||
"markup.list" = "mauve"
|
||||
"markup.bold" = { modifiers = ["bold"] }
|
||||
"markup.italic" = { modifiers = ["italic"] }
|
||||
"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
|
||||
"markup.link.text" = "blue"
|
||||
"markup.raw" = "flamingo"
|
||||
|
||||
"diff.plus" = "green"
|
||||
"diff.minus" = "red"
|
||||
"diff.delta" = "blue"
|
||||
|
||||
# User Interface
|
||||
# --------------
|
||||
"ui.background" = { fg = "text", bg = "base" }
|
||||
|
||||
"ui.linenr" = { fg = "surface1" }
|
||||
"ui.linenr.selected" = { fg = "lavender" }
|
||||
|
||||
"ui.statusline" = { fg = "subtext1", bg = "mantle" }
|
||||
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
|
||||
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
|
||||
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
|
||||
|
||||
"ui.popup" = { fg = "text", bg = "surface0" }
|
||||
"ui.window" = { fg = "crust" }
|
||||
"ui.help" = { fg = "overlay2", bg = "surface0" }
|
||||
|
||||
"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
|
||||
"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
|
||||
"ui.bufferline.background" = { bg = "crust" }
|
||||
|
||||
"ui.text" = "text"
|
||||
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
|
||||
"ui.text.inactive" = { fg = "overlay1" }
|
||||
|
||||
"ui.virtual" = "overlay0"
|
||||
"ui.virtual.ruler" = { bg = "surface0" }
|
||||
"ui.virtual.indent-guide" = "surface0"
|
||||
"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
|
||||
"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
|
||||
|
||||
"ui.selection" = { bg = "surface1" }
|
||||
|
||||
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
|
||||
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
|
||||
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
|
||||
|
||||
"ui.cursor.primary.normal" = { fg = "base", bg = "lavender" }
|
||||
"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
|
||||
"ui.cursor.primary.select" = { fg = "base", bg = "flamingo" }
|
||||
|
||||
"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
|
||||
"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
|
||||
"ui.cursor.select" = { fg = "base", bg = "secondary_cursor" }
|
||||
|
||||
"ui.cursorline.primary" = { bg = "cursorline" }
|
||||
|
||||
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"ui.menu" = { fg = "overlay2", bg = "surface0" }
|
||||
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
|
||||
|
||||
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
|
||||
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
|
||||
"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
|
||||
"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
|
||||
|
||||
error = "red"
|
||||
warning = "yellow"
|
||||
info = "sky"
|
||||
hint = "teal"
|
||||
|
||||
[palette]
|
||||
rosewater = "#f5e0dc"
|
||||
flamingo = "#f2cdcd"
|
||||
pink = "#f5c2e7"
|
||||
mauve = "#cba6f7"
|
||||
red = "#f38ba8"
|
||||
maroon = "#eba0ac"
|
||||
peach = "#fab387"
|
||||
yellow = "#f9e2af"
|
||||
green = "#a6e3a1"
|
||||
teal = "#94e2d5"
|
||||
sky = "#89dceb"
|
||||
sapphire = "#74c7ec"
|
||||
blue = "#89b4fa"
|
||||
lavender = "#b4befe"
|
||||
text = "#cdd6f4"
|
||||
subtext1 = "#bac2de"
|
||||
subtext0 = "#a6adc8"
|
||||
overlay2 = "#9399b2"
|
||||
overlay1 = "#7f849c"
|
||||
overlay0 = "#6c7086"
|
||||
surface2 = "#585b70"
|
||||
surface1 = "#45475a"
|
||||
surface0 = "#313244"
|
||||
base = "#1e1e2e"
|
||||
mantle = "#181825"
|
||||
crust = "#11111b"
|
||||
|
||||
cursorline = "#2a2b3c"
|
||||
secondary_cursor = "#b5a6a8"
|
||||
secondary_cursor_normal = "#878ec0"
|
||||
secondary_cursor_insert = "#7ea87f"
|
||||
Binary file not shown.
@@ -0,0 +1,269 @@
|
||||
|
||||
# Loads default set of integrations. Do not remove.
|
||||
default_config:
|
||||
|
||||
# Load frontend themes from the themes folder
|
||||
frontend:
|
||||
themes: !include_dir_merge_named themes
|
||||
|
||||
http:
|
||||
use_x_forwarded_for: true
|
||||
trusted_proxies: 10.2.0.0/16
|
||||
|
||||
automation: !include automations.yaml
|
||||
script: !include scripts.yaml
|
||||
scene: !include scenes.yaml
|
||||
|
||||
google_assistant:
|
||||
project_id: homeassistant-mothership-1123
|
||||
service_account: !include SERVICE_ACCOUNT.JSON
|
||||
report_state: true
|
||||
|
||||
sensor:
|
||||
- platform: nordpool
|
||||
region: "NO1"
|
||||
currency: "NOK"
|
||||
low_price_cutoff: 0.95
|
||||
# - platform: template
|
||||
# sensors:
|
||||
# # NORDPOOL PRICES
|
||||
# nordpool_today_hr_00_01:
|
||||
# friendly_name: "Today hour 0"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[0] }}"
|
||||
# nordpool_today_hr_01_02:
|
||||
# friendly_name: "Today hour 1"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[1] }}"
|
||||
# nordpool_today_hr_02_03:
|
||||
# friendly_name: "Today hour 2"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[2] }}"
|
||||
# nordpool_today_hr_03_04:
|
||||
# friendly_name: "Today hour 3"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[3] }}"
|
||||
# nordpool_today_hr_04_05:
|
||||
# friendly_name: "Today hour 4"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[4] }}"
|
||||
# nordpool_today_hr_05_06:
|
||||
# friendly_name: "Today hour 5"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[5] }}"
|
||||
# nordpool_today_hr_06_07:
|
||||
# friendly_name: "Today hour 6"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[6] }}"
|
||||
# nordpool_today_hr_07_08:
|
||||
# friendly_name: "Today hour 7"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[7] }}"
|
||||
# nordpool_today_hr_08_09:
|
||||
# friendly_name: "Today hour 8"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[8] }}"
|
||||
# nordpool_today_hr_09_10:
|
||||
# friendly_name: "Today hour 9"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[9] }}"
|
||||
# nordpool_today_hr_10_11:
|
||||
# friendly_name: "Today hour 10"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[10] }}"
|
||||
# nordpool_today_hr_11_12:
|
||||
# friendly_name: "Today hour 11"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[11] }}"
|
||||
# nordpool_today_hr_12_13:
|
||||
# friendly_name: "Today hour 12"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[12] }}"
|
||||
# nordpool_today_hr_13_14:
|
||||
# friendly_name: "Today hour 13"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[13] }}"
|
||||
# nordpool_today_hr_14_15:
|
||||
# friendly_name: "Today hour 14"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[14] }}"
|
||||
# nordpool_today_hr_15_16:
|
||||
# friendly_name: "Today hour 15"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[15] }}"
|
||||
# nordpool_today_hr_16_17:
|
||||
# friendly_name: "Today hour 16"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[16] }}"
|
||||
# nordpool_today_hr_17_18:
|
||||
# friendly_name: "Today hour 17"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[17] }}"
|
||||
# nordpool_today_hr_18_19:
|
||||
# friendly_name: "Today hour 18"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[18] }}"
|
||||
# nordpool_today_hr_19_20:
|
||||
# friendly_name: "Today hour 19"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[19] }}"
|
||||
# nordpool_today_hr_20_21:
|
||||
# friendly_name: "Today hour 20"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[20] }}"
|
||||
# nordpool_today_hr_21_22:
|
||||
# friendly_name: "Today hour 21"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[21] }}"
|
||||
# nordpool_today_hr_22_23:
|
||||
# friendly_name: "Today hour 22"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[22] }}"
|
||||
# nordpool_today_hr_23_24:
|
||||
# friendly_name: "Today hour 23"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.today[23] }}"
|
||||
# nordpool_tomorrow_hr_00_01:
|
||||
# friendly_name: "Tomorrow hour 0"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[0] }}"
|
||||
# nordpool_tomorrow_hr_01_02:
|
||||
# friendly_name: "Tomorrow hour 1"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[1] }}"
|
||||
# nordpool_tomorrow_hr_02_03:
|
||||
# friendly_name: "Tomorrow hour 2"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[2] }}"
|
||||
# nordpool_tomorrow_hr_03_04:
|
||||
# friendly_name: "Tomorrow hour 3"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[3] }}"
|
||||
# nordpool_tomorrow_hr_04_05:
|
||||
# friendly_name: "Tomorrow hour 4"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[4] }}"
|
||||
# nordpool_tomorrow_hr_05_06:
|
||||
# friendly_name: "Tomorrow hour 5"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[5] }}"
|
||||
# nordpool_tomorrow_hr_06_07:
|
||||
# friendly_name: "Tomorrow hour 6"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[6] }}"
|
||||
# nordpool_tomorrow_hr_07_08:
|
||||
# friendly_name: "Tomorrow hour 7"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[7] }}"
|
||||
# nordpool_tomorrow_hr_08_09:
|
||||
# friendly_name: "Tomorrow hour 8"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[8] }}"
|
||||
# nordpool_tomorrow_hr_09_10:
|
||||
# friendly_name: "Tomorrow hour 9"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[9] }}"
|
||||
# nordpool_tomorrow_hr_10_11:
|
||||
# friendly_name: "Tomorrow hour 10"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[10] }}"
|
||||
# nordpool_tomorrow_hr_11_12:
|
||||
# friendly_name: "Tomorrow hour 11"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[11] }}"
|
||||
# nordpool_tomorrow_hr_12_13:
|
||||
# friendly_name: "Tomorrow hour 12"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[12] }}"
|
||||
# nordpool_tomorrow_hr_13_14:
|
||||
# friendly_name: "Tomorrow hour 13"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[13] }}"
|
||||
# nordpool_tomorrow_hr_14_15:
|
||||
# friendly_name: "Tomorrow hour 14"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[14] }}"
|
||||
# nordpool_tomorrow_hr_15_16:
|
||||
# friendly_name: "Tomorrow hour 15"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[15] }}"
|
||||
# nordpool_tomorrow_hr_16_17:
|
||||
# friendly_name: "Tomorrow hour 16"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[16] }}"
|
||||
# nordpool_tomorrow_hr_17_18:
|
||||
# friendly_name: "Tomorrow hour 17"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[17] }}"
|
||||
# nordpool_tomorrow_hr_18_19:
|
||||
# friendly_name: "Tomorrow hour 18"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[18] }}"
|
||||
# nordpool_tomorrow_hr_19_20:
|
||||
# friendly_name: "Tomorrow hour 19"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[19] }}"
|
||||
# nordpool_tomorrow_hr_20_21:
|
||||
# friendly_name: "Tomorrow hour 20"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[20] }}"
|
||||
# nordpool_tomorrow_hr_21_22:
|
||||
# friendly_name: "Tomorrow hour 21"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[21] }}"
|
||||
# nordpool_tomorrow_hr_22_23:
|
||||
# friendly_name: "Tomorrow hour 22"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[22] }}"
|
||||
# nordpool_tomorrow_hr_23_24:
|
||||
# friendly_name: "Tomorrow hour 23"
|
||||
# icon_template: mdi:cash
|
||||
# unit_of_measurement: "øre"
|
||||
# value_template: "{{ states.sensor.nordpool_kwh_oslo_nok_3_10_025.attributes.tomorrow[23] }}"
|
||||
@@ -0,0 +1,203 @@
|
||||
plugins:
|
||||
toggle-helmrelease:
|
||||
shortCut: Shift-T
|
||||
confirm: true
|
||||
scopes:
|
||||
- helmreleases
|
||||
description: Toggle to suspend or resume a HelmRelease
|
||||
command: bash
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
suspended=$(kubectl --context $CONTEXT get helmreleases -n $NAMESPACE $NAME -o=custom-columns=TYPE:.spec.suspend | tail -1);
|
||||
verb=$([ $suspended = "true" ] && echo "resume" || echo "suspend");
|
||||
flux
|
||||
$verb helmrelease
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
toggle-kustomization:
|
||||
shortCut: Shift-T
|
||||
confirm: true
|
||||
scopes:
|
||||
- kustomizations
|
||||
description: Toggle to suspend or resume a Kustomization
|
||||
command: bash
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
suspended=$(kubectl --context $CONTEXT get kustomizations -n $NAMESPACE $NAME -o=custom-columns=TYPE:.spec.suspend | tail -1);
|
||||
verb=$([ $suspended = "true" ] && echo "resume" || echo "suspend");
|
||||
flux
|
||||
$verb kustomization
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-git:
|
||||
shortCut: Shift-R
|
||||
confirm: false
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- gitrepositories
|
||||
command: bash
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile source git
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-hr:
|
||||
shortCut: Shift-R
|
||||
confirm: false
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- helmreleases
|
||||
command: bash
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile helmrelease
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-helm-repo:
|
||||
shortCut: Shift-Z
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- helmrepositories
|
||||
command: bash
|
||||
background: false
|
||||
confirm: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile source helm
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-oci-repo:
|
||||
shortCut: Shift-Z
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- ocirepositories
|
||||
command: bash
|
||||
background: false
|
||||
confirm: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile source oci
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-ks:
|
||||
shortCut: Shift-R
|
||||
confirm: false
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- kustomizations
|
||||
command: bash
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile kustomization
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-ir:
|
||||
shortCut: Shift-R
|
||||
confirm: false
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- imagerepositories
|
||||
command: sh
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile image repository
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
reconcile-iua:
|
||||
shortCut: Shift-R
|
||||
confirm: false
|
||||
description: Flux reconcile
|
||||
scopes:
|
||||
- imageupdateautomations
|
||||
command: sh
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
flux
|
||||
reconcile image update
|
||||
--context $CONTEXT
|
||||
-n $NAMESPACE $NAME
|
||||
| less -K
|
||||
trace:
|
||||
shortCut: Shift-1
|
||||
confirm: false
|
||||
description: Flux trace
|
||||
scopes:
|
||||
- all
|
||||
command: bash
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
resource=$(echo $RESOURCE_NAME | sed -E 's/ies$/y/' | sed -E 's/ses$/se/' | sed -E 's/(s|es)$//g');
|
||||
flux
|
||||
trace
|
||||
--context $CONTEXT
|
||||
--kind $resource
|
||||
--api-version $RESOURCE_GROUP/$RESOURCE_VERSION
|
||||
--namespace $NAMESPACE $NAME
|
||||
| less -K
|
||||
# credits: https://github.com/fluxcd/flux2/discussions/2494
|
||||
get-suspended-helmreleases:
|
||||
shortCut: Shift-S
|
||||
confirm: false
|
||||
description: Suspended Helm Releases
|
||||
scopes:
|
||||
- helmrelease
|
||||
command: sh
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
kubectl get
|
||||
--context $CONTEXT
|
||||
--all-namespaces
|
||||
helmreleases.helm.toolkit.fluxcd.io -o json
|
||||
| jq -r '.items[] | select(.spec.suspend==true) | [.metadata.namespace,.metadata.name,.spec.suspend] | @tsv'
|
||||
| less -K
|
||||
get-suspended-kustomizations:
|
||||
shortCut: Shift-S
|
||||
confirm: false
|
||||
description: Suspended Kustomizations
|
||||
scopes:
|
||||
- kustomizations
|
||||
command: sh
|
||||
background: false
|
||||
args:
|
||||
- -c
|
||||
- >-
|
||||
kubectl get
|
||||
--context $CONTEXT
|
||||
--all-namespaces
|
||||
kustomizations.kustomize.toolkit.fluxcd.io -o json
|
||||
| jq -r '.items[] | select(.spec.suspend==true) | [.metadata.name,.spec.suspend] | @tsv'
|
||||
| less -K
|
||||
@@ -0,0 +1,33 @@
|
||||
[default]
|
||||
|
||||
default_calendar = henrik@hjarl.com
|
||||
highlight_event_days = true
|
||||
|
||||
[view]
|
||||
dynamic_days = true
|
||||
|
||||
[locale]
|
||||
unicode_symbols = false
|
||||
local_timezone = Europe/Oslo
|
||||
default_timezone = Europe/Oslo
|
||||
timeformat = %H:%M
|
||||
dateformat = %d.%m
|
||||
longdateformat = %d.%m.%Y
|
||||
|
||||
[calendars]
|
||||
|
||||
[[henrik@hjarl.com]]
|
||||
path = ~/Calendars/henrik@hjarl.com/
|
||||
color = yellow
|
||||
priority = 10
|
||||
|
||||
[[bakken.henrik@gmail.com]]
|
||||
path = ~/Calendars/google/bakken.henrik@gmail.com
|
||||
color = light magenta
|
||||
priority = 5
|
||||
|
||||
[[holidays]]
|
||||
path = ~/Calendars/holidays/
|
||||
color = dark cyan
|
||||
readonly = True
|
||||
priority = 0
|
||||
@@ -0,0 +1,49 @@
|
||||
[addressbooks]
|
||||
[[henrik@hjarl.com]]
|
||||
path = ~/Contacts/henrik@hjarl.com/default/
|
||||
|
||||
[general]
|
||||
debug = no
|
||||
default_action = list
|
||||
# These are either strings or comma seperated lists
|
||||
editor = nvim, -i, NONE
|
||||
merge_editor = vimdiff
|
||||
|
||||
[contact table]
|
||||
# display names by first or last name: first_name / last_name / formatted_name
|
||||
display = formatted_name
|
||||
# group by address book: yes / no
|
||||
group_by_addressbook = no
|
||||
# reverse table ordering: yes / no
|
||||
reverse = no
|
||||
# append nicknames to name column: yes / no
|
||||
show_nicknames = yes
|
||||
# show uid table column: yes / no
|
||||
show_uids = yes
|
||||
# show kind table column: yes / no
|
||||
show_kinds = no
|
||||
# sort by first or last name: first_name / last_name / formatted_name
|
||||
sort = last_name
|
||||
# localize dates: yes / no
|
||||
localize_dates = yes
|
||||
# set a comma separated list of preferred phone number types in descending priority
|
||||
# or nothing for non-filtered alphabetical order
|
||||
preferred_phone_number_type = pref, cell, home
|
||||
# set a comma separated list of preferred email address types in descending priority
|
||||
# or nothing for non-filtered alphabetical order
|
||||
preferred_email_address_type = pref, work, home
|
||||
|
||||
[vcard]
|
||||
# extend contacts with your own private objects
|
||||
# these objects are stored with a leading "X-" before the object name in the vcard files
|
||||
# every object label may only contain letters, digits and the - character
|
||||
# example:
|
||||
# private_objects = Jabber, Skype, Twitter
|
||||
# default: , (the empty list)
|
||||
private_objects = ,
|
||||
# preferred vcard version: 3.0 / 4.0
|
||||
preferred_version = 4.0
|
||||
# Look into source vcf files to speed up search queries: yes / no
|
||||
search_in_source_files = no
|
||||
# skip unparsable vcard files: yes / no
|
||||
skip_unparsable = no
|
||||
@@ -0,0 +1,27 @@
|
||||
font=UbuntuMono 12.5
|
||||
|
||||
background-color=#404552
|
||||
text-color=#e5e9f0
|
||||
width=315
|
||||
height=200
|
||||
padding=10
|
||||
margin=10
|
||||
progress-color=over #eceff480
|
||||
icon-path=/usr/share/icons/Arc-X-D
|
||||
max-icon-size=70
|
||||
layer=overlay
|
||||
anchor=bottom-center
|
||||
|
||||
border-size=2
|
||||
border-radius=15
|
||||
border-color=#5294e2
|
||||
|
||||
default-timeout=0
|
||||
ignore-timeout=1
|
||||
|
||||
[urgency=normal]
|
||||
border-color=#d08770
|
||||
|
||||
[urgency=high]
|
||||
border-color=#bf616a
|
||||
default-timeout=0
|
||||
@@ -0,0 +1,33 @@
|
||||
[Default Applications]
|
||||
application/x-extension-htm=org.qutebrowser.qutebrowser.desktop;
|
||||
application/x-extension-html=org.qutebrowser.qutebrowser.desktop;
|
||||
application/x-extension-shtml=org.qutebrowser.qutebrowser.desktop;
|
||||
application/x-extension-xht=org.qutebrowser.qutebrowser.desktop;
|
||||
application/x-extension-xhtml=org.qutebrowser.qutebrowser.desktop;
|
||||
application/xhtml+xml=org.qutebrowser.qutebrowser.desktop;
|
||||
message/rfc822=org.qutebrowser.qutebrowser.desktop;
|
||||
text/html=org.qutebrowser.qutebrowser.desktop;
|
||||
x-scheme-handler/about=org.qutebrowser.qutebrowser.desktop;
|
||||
x-scheme-handler/http=org.qutebrowser.qutebrowser.desktop;
|
||||
x-scheme-handler/https=org.qutebrowser.qutebrowser.desktop;
|
||||
x-scheme-handler/unknown=org.qutebrowser.qutebrowser.desktop;
|
||||
application/octet-stream=nvim.desktop;
|
||||
application/xml=nvim.desktop;
|
||||
application/xml=nvim.desktop;
|
||||
text/csv=nvim.desktop;
|
||||
text/markdown=nvim.desktop;
|
||||
text/plain=nvim.desktop;
|
||||
text/x-log=nvim.desktop;
|
||||
application/sql=nvim.desktop;
|
||||
text/x-python=nvim.desktop;
|
||||
image/jpeg=qimgv.desktop;
|
||||
image/png=qimgv.desktop;
|
||||
image/svg+xml=qimgv.desktop;
|
||||
application/pdf=org.pwmt.zathura.desktop;
|
||||
application/x-bittorrent=org.qbittorrent.qBittorrent.desktop;
|
||||
inode/directory=yazi.desktop;
|
||||
x-scheme-handler/msteams=teams.desktop;
|
||||
text/calendar=userapp-khalimport.desktop;
|
||||
x-scheme-handler/discord=vesktop.desktop:
|
||||
|
||||
[Added Associations]
|
||||
@@ -0,0 +1,98 @@
|
||||
# ttrss
|
||||
ttrss-flag-publish "b"
|
||||
ttrss-flag-star "a"
|
||||
ttrss-login "admin"
|
||||
ttrss-mode "multi"
|
||||
ttrss-passwordeval "pass show ttrss"
|
||||
ttrss-url "https://rss.hjarl.com/"
|
||||
urls-source "ttrss"
|
||||
|
||||
# data
|
||||
cache-file "~/.cache/newsboat/cache.db"
|
||||
cookie-cache "~/.cache/newsboat/cookies.txt"
|
||||
|
||||
# feeds
|
||||
auto-reload yes
|
||||
delete-read-articles-on-quit yes
|
||||
feed-sort-order unreadarticlecount-asc
|
||||
prepopulate-query-feeds yes
|
||||
reload-threads 11
|
||||
reload-time 30
|
||||
scrolloff 15
|
||||
|
||||
# display
|
||||
article-sort-order date
|
||||
datetime-format "%D %R"
|
||||
download-full-page yes
|
||||
external-url-viewer "urlscan"
|
||||
html-renderer "w3m -dump -T text/html"
|
||||
show-read-articles no
|
||||
show-read-feeds no
|
||||
text-width 72
|
||||
|
||||
# navigation
|
||||
browser "$BROWSER %u >/dev/null 2>&1 &"
|
||||
#browser "w3m %u"
|
||||
goto-next-feed yes
|
||||
goto-first-unread no
|
||||
mark-as-read-on-hover yes
|
||||
|
||||
# bindings
|
||||
# original bindings here https://raw.githubusercontent.com/newsboat/newsboat/master/src/keymap.cpp
|
||||
# unbind
|
||||
unbind-key f
|
||||
unbind-key F
|
||||
unbind-key C
|
||||
unbind-key n
|
||||
unbind-key p
|
||||
unbind-key ^k
|
||||
unbind-key ,
|
||||
# bind
|
||||
bind SPACE everywhere macro-prefix
|
||||
bind l everywhere open
|
||||
bind h everywhere quit
|
||||
bind j everywhere down
|
||||
bind k everywhere up
|
||||
bind J everywhere next-feed
|
||||
bind K everywhere prev-feed
|
||||
bind J article next
|
||||
bind K article prev
|
||||
bind n everywhere next
|
||||
bind p everywhere prev
|
||||
bind g everywhere home
|
||||
bind G everywhere end
|
||||
bind ^F everywhere halfpagedown
|
||||
bind ^B everywhere halfpageup
|
||||
bind ^D everywhere pagedown
|
||||
bind ^U everywhere pageup
|
||||
bind d everywhere delete-article
|
||||
bind D everywhere delete-all-articles
|
||||
bind $ everywhere purge-deleted
|
||||
bind a everywhere mark-all-above-as-read
|
||||
bind A everywhere mark-feed-read
|
||||
bind ^A everywhere mark-all-feeds-read
|
||||
bind i everywhere sort
|
||||
bind I everywhere rev-sort
|
||||
bind T everywhere set-tag
|
||||
bind t everywhere toggle-article-read
|
||||
bind b everywhere toggle-source-view
|
||||
bind U everywhere toggle-show-read-feeds
|
||||
|
||||
# macros
|
||||
macro w set browser "w3m %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
|
||||
macro l set browser "links %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
|
||||
macro m set browser "mpv %u"; open-in-browser ; set browser "$BROWSER %u >/dev/null 2>&1 &"
|
||||
|
||||
# format
|
||||
feedlist-title-format "(%u unread, %t total) Your feeds%?T? - tag ‘%T’&?"
|
||||
articlelist-title-format "(%u unread, %t total) Articles in feed %T - %U"
|
||||
searchresult-title-format "(%u unread, %t total) Search result"
|
||||
itemview-title-format "(%u unread, %t total) Article %T"
|
||||
filebrowser-title-format "%?O?Open File&Save File? - %f"
|
||||
help-title-format "Help"
|
||||
selecttag-title-format "Select Tag"
|
||||
selectfilter-title-format "Select Filter"
|
||||
urlview-title-format "URLs"
|
||||
dialogs-title-format "Dialogs"
|
||||
|
||||
include "~/.config/newsboat/themes/catppuccin.dark"
|
||||
@@ -0,0 +1,19 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/newsboat/refs/heads/main/themes/dark
|
||||
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
|
||||
@@ -0,0 +1,19 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/newsboat/refs/heads/main/themes/latte
|
||||
color listnormal color15 default
|
||||
color listnormal_unread color2 default
|
||||
color listfocus_unread color2 color15
|
||||
color listfocus default color15
|
||||
color background default default
|
||||
color article default default
|
||||
color end-of-text-marker color8 default
|
||||
color info color4 color7
|
||||
color hint-separator default color7
|
||||
color hint-description default color7
|
||||
color title color14 color7
|
||||
|
||||
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
|
||||
@@ -0,0 +1,182 @@
|
||||
$env.SYSTEMD_EDITOR = "/usr/bin/nvim"
|
||||
$env.EDITOR = "/usr/bin/nvim"
|
||||
$env.VISUAL = "/usr/bin/nvim"
|
||||
$env.path ++= ["~/.local/bin"]
|
||||
$env.config = {
|
||||
buffer_editor: "/usr/bin/nvim"
|
||||
completions: {
|
||||
external: {
|
||||
enable: true
|
||||
max_results: 100
|
||||
completer: {|spans|
|
||||
let carapace_completer = {|spans: list<string>|
|
||||
carapace $spans.0 nushell ...$spans
|
||||
| from json
|
||||
| if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
|
||||
}
|
||||
|
||||
match $spans.0 {
|
||||
_ => $carapace_completer
|
||||
} | do $in $spans
|
||||
}
|
||||
}
|
||||
}
|
||||
cursor_shape: {
|
||||
vi_insert: line
|
||||
vi_normal: block
|
||||
}
|
||||
edit_mode: 'vi'
|
||||
history: {
|
||||
file_format: sqlite
|
||||
isolation: true
|
||||
}
|
||||
hooks: {
|
||||
env_change: {
|
||||
PWD: [
|
||||
{
|
||||
__zoxide_hook: true,
|
||||
code: {|_, dir| zoxide add -- $dir}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
keybindings: [
|
||||
{
|
||||
name: fuzzy_history_fzf
|
||||
modifier: control
|
||||
keycode: char_r
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
send: ExecuteHostCommand
|
||||
cmd: "commandline edit --insert (
|
||||
history
|
||||
# | where exit_status == 0
|
||||
| get command
|
||||
| reverse
|
||||
| uniq
|
||||
| str join (char -i 0)
|
||||
| fzf
|
||||
--preview '{}'
|
||||
--preview-window 'bottom:3:wrap'
|
||||
--scheme history
|
||||
--read0
|
||||
--layout reverse
|
||||
--bind alt-up:preview-up,alt-down:preview-down
|
||||
--height 70%
|
||||
--query (commandline)
|
||||
| decode utf-8
|
||||
| str trim
|
||||
)"
|
||||
}
|
||||
}
|
||||
{
|
||||
name: fuzzy_history_fzf
|
||||
modifier: none
|
||||
keycode: char_/
|
||||
mode: [ vi_normal ]
|
||||
event: { send: menu name: fuzzy_history_fzf }
|
||||
}
|
||||
{
|
||||
name: clear_everything
|
||||
modifier: control
|
||||
keycode: char_b
|
||||
mode: [ emacs, vi_insert, vi_normal ]
|
||||
event: [
|
||||
{ send: clearscreen }
|
||||
{ send: clearscrollback }
|
||||
]
|
||||
}
|
||||
{
|
||||
name: move_right_or_take_history_hint
|
||||
modifier: control
|
||||
keycode: char_f
|
||||
mode: [ emacs, vi_insert, vi_normal ]
|
||||
event: {
|
||||
until: [
|
||||
{ send: historyhintcomplete }
|
||||
{ send: menuright }
|
||||
{ send: right }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: delete_one_word_backward
|
||||
modifier: alt
|
||||
keycode: backspace
|
||||
mode: vi_insert
|
||||
event: {edit: backspaceword}
|
||||
}
|
||||
]
|
||||
show_banner: false
|
||||
}
|
||||
|
||||
# from: https://github.com/nushell/nushell/issues/8166
|
||||
def monitor [
|
||||
--duration (-d): duration = 1sec
|
||||
...args
|
||||
] {
|
||||
let args = $args | into string
|
||||
let cmd = $args | str join ' '
|
||||
|
||||
loop {
|
||||
let last_run = (date now)
|
||||
let till = $last_run + $duration
|
||||
|
||||
let out = nu --config $nu.config-path --env-config $nu.env-path --commands $cmd | complete
|
||||
|
||||
if $out.exit_code == 0 {
|
||||
clear
|
||||
print $"Running every ($duration) on '(hostname)': `($cmd)`"
|
||||
|
||||
print $out.stdout
|
||||
|
||||
print $"Last run: ($last_run)"
|
||||
sleep ($till - (date now))
|
||||
} else {
|
||||
print $out.stdout $out.stderr
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Jump to a directory using only keywords.
|
||||
def --env --wrapped z [...rest: string@zoxide_completer] {
|
||||
let path = match $rest {
|
||||
[] => {'~'},
|
||||
[ '-' ] => {'-'},
|
||||
[ $arg ] if ($arg | path type) == 'dir' => {$arg}
|
||||
_ => {
|
||||
zoxide query --exclude $env.PWD -- ...$rest | str trim -r -c "\n"
|
||||
}
|
||||
}
|
||||
cd $path
|
||||
}
|
||||
# Jump to a directory using interactive search.
|
||||
def --env --wrapped zi [...rest:string] {
|
||||
cd $'(zoxide query --interactive -- ...$rest | str trim -r -c "\n")'
|
||||
}
|
||||
def zoxide_completer [context: string] {
|
||||
let parts = $context | split row " " | skip 1
|
||||
{
|
||||
options: {
|
||||
sort: false
|
||||
completion_algorithm: prefix
|
||||
positional: false
|
||||
case_sensitive: false
|
||||
}
|
||||
completions: (zoxide query --list --exclude $env.PWD -- ...$parts | lines)
|
||||
}
|
||||
}
|
||||
|
||||
# yazi helper
|
||||
def --env y [...args] {
|
||||
let tmp = (mktemp -t "yazi-cwd.XXXXXX")
|
||||
yazi ...$args --cwd-file $tmp
|
||||
let cwd = (open $tmp)
|
||||
if $cwd != "" and $cwd != $env.PWD {
|
||||
cd $cwd
|
||||
}
|
||||
rm -fp $tmp
|
||||
}
|
||||
|
||||
source ~/.oh-my-posh.nu
|
||||
@@ -0,0 +1,2 @@
|
||||
vim.o.number = true
|
||||
vim.o.relativenumber = true
|
||||
@@ -0,0 +1,4 @@
|
||||
vim.o.colorcolumn = "100"
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
@@ -0,0 +1,4 @@
|
||||
vim.o.colorcolumn = "120"
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
@@ -0,0 +1,5 @@
|
||||
vim.o.colorcolumn = ""
|
||||
vim.o.wrap = true
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = 2
|
||||
@@ -0,0 +1,4 @@
|
||||
vim.o.colorcolumn = "100"
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
window {
|
||||
background-color: rgba (38, 18, 57, 0.9);
|
||||
color: #eceff4;
|
||||
border-radius: 30px
|
||||
}
|
||||
|
||||
/* search entry */
|
||||
entry {
|
||||
box-shadow: 0 0 6px 5px #2e3440;
|
||||
background-color: rgba (0, 0, 0, 0.5)
|
||||
}
|
||||
|
||||
button, image {
|
||||
background-color: #3b4252;
|
||||
background: none;
|
||||
border: none;
|
||||
margin: 10px
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: rgba (127, 63, 191, .4);
|
||||
box-shadow: 0 0 6px 5px #190C26
|
||||
}
|
||||
|
||||
/* in case you wanted to give category buttons a different look */
|
||||
#category-button {
|
||||
margin: 0 0px 0 0px
|
||||
}
|
||||
|
||||
#pinned-box {
|
||||
padding-bottom: 1px;
|
||||
border-bottom: 1px solid gray
|
||||
}
|
||||
|
||||
#files-box {
|
||||
padding: 1px;
|
||||
border: 1px solid gray
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
# If a config.py file exists, this file is ignored unless it's explicitly loaded
|
||||
# via config.load_autoconfig(). For more information, see:
|
||||
# https://github.com/qutebrowser/qutebrowser/blob/main/doc/help/configuring.asciidoc#loading-autoconfigyml
|
||||
# DO NOT edit this file by hand, qutebrowser will overwrite it.
|
||||
# Instead, create a config.py - see :help for details.
|
||||
|
||||
config_version: 2
|
||||
settings:
|
||||
downloads.location.directory:
|
||||
global: /home/hjalmarlucius/Downloads
|
||||
session.default_name:
|
||||
global: hb
|
||||
@@ -0,0 +1,318 @@
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any
|
||||
|
||||
config: Any = None
|
||||
c: Any = None
|
||||
|
||||
config.load_autoconfig(True)
|
||||
config.bind("<", "tab-move -")
|
||||
config.bind("<Ctrl+Shift+Tab>", "tab-prev")
|
||||
config.bind("<Ctrl+Tab>", "tab-next")
|
||||
config.bind("<Ctrl+l>", "cmd-set-text :open {url:pretty}")
|
||||
config.bind("<Ctrl+r>", "reload")
|
||||
config.bind("<Ctrl+n>", "tab-clone -w")
|
||||
config.bind("<Ctrl+t>", "tab-clone -t")
|
||||
config.bind("<Ctrl+Shift+r>", "restart", mode="normal")
|
||||
config.bind("<Ctrl+h>", "history")
|
||||
config.bind("<F8>", "config-cycle colors.webpage.darkmode.enabled true false")
|
||||
config.bind("<F11>", "config-cycle tabs.position top left")
|
||||
config.bind("<F12>", "devtools")
|
||||
config.bind("<Shift+F12>", "view-source")
|
||||
config.bind("<Shift+Escape>", "mode-enter passthrough", mode="normal")
|
||||
config.bind("<Shift+Escape>", "mode-enter passthrough", mode="insert")
|
||||
config.bind(">", "tab-move +")
|
||||
config.bind("K", "tab-prev")
|
||||
config.bind("J", "tab-next")
|
||||
config.bind("pww", "spawn --userscript qute-bitwarden")
|
||||
config.bind("pwu", "spawn --userscript qute-bitwarden --username-only")
|
||||
config.bind("pwp", "spawn --userscript qute-bitwarden --password-only")
|
||||
config.bind("pwo", "spawn --userscript qute-bitwarden --totp-only")
|
||||
config.bind("do", "download-open")
|
||||
config.bind("dx", "download-cancel")
|
||||
config.bind("dD", "download-delete")
|
||||
config.bind("dr", "download-retry")
|
||||
config.bind("dC", "download-clear")
|
||||
config.bind("dc", "download-remove")
|
||||
config.bind("tm", "tab-move")
|
||||
config.bind("to", "tab-focus")
|
||||
config.bind("tj", "back -t", mode="normal")
|
||||
config.bind("wj", "back -w", mode="normal")
|
||||
config.bind("tk", "forward -t", mode="normal")
|
||||
config.bind("wk", "forward -w", mode="normal")
|
||||
config.bind("ø", "cmd-set-text :")
|
||||
config.bind("m", 'cmd-set-text :quickmark-add {url:pretty} "', mode="normal")
|
||||
config.bind("D", "tab-close")
|
||||
config.bind(",m", "hint links spawn mpv {hint-url}", mode="normal")
|
||||
config.bind(",M", "spawn mpv {url}", mode="normal")
|
||||
config.unbind("co") # close all tabs except this one
|
||||
config.unbind("<Ctrl+x>") # navigate decrement
|
||||
config.unbind("<Ctrl+a>") # navigate increment
|
||||
config.unbind("<Ctrl+v>") # delete tab
|
||||
config.unbind("d", mode="normal") # delete tab
|
||||
config.unbind("q", mode="normal") # macro recording
|
||||
config.unbind("M", mode="normal") # add bookmark
|
||||
config.unbind("gb", mode="normal") # load bookmark
|
||||
config.unbind("gB", mode="normal") # load bookmark
|
||||
config.unbind("wB", mode="normal") # load bookmark
|
||||
|
||||
c.auto_save.session = True
|
||||
c.completion.open_categories = [
|
||||
"searchengines",
|
||||
"quickmarks",
|
||||
"history",
|
||||
"filesystem",
|
||||
]
|
||||
c.content.blocking.enabled = True
|
||||
c.content.fullscreen.window = True
|
||||
c.content.blocking.method = "both"
|
||||
c.content.blocking.adblock.lists = [
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/unbreak.txt",
|
||||
"https://easylist.to/easylist/easylist.txt",
|
||||
"https://easylist.to/easylist/easyprivacy.txt",
|
||||
"https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext",
|
||||
]
|
||||
c.completion.web_history.max_items = 10000
|
||||
c.completion.height = "100%"
|
||||
c.confirm_quit = ["multiple-tabs", "downloads"]
|
||||
c.content.javascript.clipboard = "ask"
|
||||
c.content.local_content_can_access_remote_urls = True
|
||||
c.content.autoplay = False
|
||||
c.content.geolocation = False
|
||||
c.content.cache.size = 52428800
|
||||
c.content.notifications.enabled = False
|
||||
c.content.tls.certificate_errors = "ask-block-thirdparty"
|
||||
|
||||
urlconfigs: dict[str, list[tuple[str, bool | str | dict[str, str]]]] = {
|
||||
"https://meet.google.com": [
|
||||
("content.desktop_capture", True),
|
||||
("content.media.audio_video_capture", True),
|
||||
("content.media.video_capture", True),
|
||||
("content.media.audio_capture", True),
|
||||
],
|
||||
"https://mail.google.com": [("content.javascript.clipboard", "access-paste")],
|
||||
"https://*.hjarl.com": [("content.javascript.clipboard", "access-paste")],
|
||||
"https://chatgpt.com": [("content.javascript.clipboard", "access-paste")],
|
||||
"*://*.youtube.com/*": [
|
||||
(
|
||||
"content.headers.custom",
|
||||
{"X-YouTube-Client-Name": "85", "X-YouTube-Client-Version": "2.0"},
|
||||
)
|
||||
],
|
||||
# "https://mail.google.com?extsrc=mailto&url=%25s": [
|
||||
# ("content.register_protocol_handler", True)
|
||||
# ],
|
||||
# "https://calendar.google.com?cid=%25s": [
|
||||
# ("content.register_protocol_handler", True)
|
||||
# ],
|
||||
}
|
||||
for url, urlconfig in urlconfigs.items():
|
||||
for setting, value in urlconfig:
|
||||
config.set(setting, value, url)
|
||||
|
||||
c.downloads.position = "bottom"
|
||||
c.downloads.prevent_mixed_content = False
|
||||
c.editor.command = [
|
||||
"foot",
|
||||
"-title",
|
||||
"scratchpad",
|
||||
"-geometry",
|
||||
"86x24+40+60",
|
||||
"-e",
|
||||
"nvim",
|
||||
"-f",
|
||||
"{}",
|
||||
]
|
||||
c.hints.padding = {"bottom": 2, "left": 5, "right": 5, "top": 2}
|
||||
c.hints.border = "none"
|
||||
c.input.insert_mode.auto_load = True
|
||||
c.input.insert_mode.auto_leave = False
|
||||
c.input.insert_mode.plugins = True
|
||||
c.messages.timeout = 5000
|
||||
c.qt.args = [
|
||||
"disable-features=PermissionElement",
|
||||
"ozone-platform-hint=wayland",
|
||||
"ignore-gpu-blocklist",
|
||||
"enable-gpu-rasterization",
|
||||
"enable-accelerated-video-decode",
|
||||
"enable-quic",
|
||||
"enable-zero-copy",
|
||||
]
|
||||
c.qt.highdpi = True
|
||||
c.scrolling.bar = "always"
|
||||
c.scrolling.smooth = False
|
||||
c.session.lazy_restore = False
|
||||
c.session.default_name = "hb"
|
||||
c.statusbar.padding = {"bottom": 5, "left": 5, "right": 5, "top": 5}
|
||||
c.statusbar.position = "bottom"
|
||||
c.statusbar.show = "always"
|
||||
c.statusbar.widgets = [
|
||||
"keypress",
|
||||
"search_match",
|
||||
"url",
|
||||
"scroll",
|
||||
"history",
|
||||
"progress",
|
||||
]
|
||||
c.tabs.background = True
|
||||
c.tabs.favicons.show = "pinned"
|
||||
c.tabs.indicator.width = 3
|
||||
c.tabs.last_close = "close"
|
||||
c.tabs.max_width = 8000
|
||||
c.tabs.min_width = -1
|
||||
c.tabs.mode_on_change = "restore"
|
||||
c.tabs.new_position.related = "next"
|
||||
c.tabs.padding = {"bottom": 2, "left": 5, "right": 5, "top": 2}
|
||||
c.tabs.position = "top"
|
||||
c.tabs.show = "always"
|
||||
c.tabs.show_switching_delay = 5000
|
||||
c.tabs.tabs_are_windows = False
|
||||
c.tabs.title.format = "{index}.{current_title}"
|
||||
c.tabs.undo_stack_size = 1000
|
||||
c.tabs.width = "15%"
|
||||
c.url.start_pages = "http://www.google.com/search?hl=en&source=hp"
|
||||
c.url.default_page = "http://www.google.com/search?hl=en&source=hp"
|
||||
c.url.searchengines = dict(
|
||||
DEFAULT="http://www.google.com/search?hl=en&source=hp&q={}",
|
||||
aw="https://wiki.archlinux.org/?search={}",
|
||||
ap="https://www.archlinux.org/packages/?q={}",
|
||||
gh="https://github.com/search?q={}&type=repositories",
|
||||
ip="https://iplocation.io/ip/{}",
|
||||
sh="https://explainshell.com/explain?cmd={}",
|
||||
wi="https://en.wikipedia.org/w/index.php?search={}",
|
||||
yt="https://yewtu.be/search?q={}",
|
||||
)
|
||||
c.zoom.default = "100%"
|
||||
|
||||
# FONTS
|
||||
c.fonts.default_family = ["Iosevka"]
|
||||
c.fonts.default_size = "12pt"
|
||||
c.fonts.prompts = "12pt Iosevka"
|
||||
c.fonts.web.family.sans_serif = "IBM Plex Sans"
|
||||
c.fonts.web.family.serif = "IBM Plex Serif"
|
||||
c.fonts.web.family.fixed = "IBM Plex Mono"
|
||||
c.fonts.web.family.standard = c.fonts.web.family.sans_serif
|
||||
|
||||
# COLORS
|
||||
base00 = "#181818"
|
||||
base01 = "#282828"
|
||||
base02 = "#383838"
|
||||
base03 = "#585858"
|
||||
base04 = "#b8b8b8"
|
||||
base05 = "#d8d8d8"
|
||||
base06 = "#e8e8e8"
|
||||
base07 = "#f8f8f8"
|
||||
base08 = "#ab4642"
|
||||
base09 = "#dc9656"
|
||||
base0A = "#f7ca88"
|
||||
base0B = "#a1b56c"
|
||||
base0C = "#86c1b9"
|
||||
base0D = "#7cafc2"
|
||||
base0E = "#ba8baf"
|
||||
base0F = "#a16946"
|
||||
c.colors.webpage.preferred_color_scheme = "light"
|
||||
c.colors.webpage.darkmode.enabled = False
|
||||
|
||||
# from https://raw.githubusercontent.com/tinted-theming/base16-qutebrowser/refs/heads/main/templates/default.mustache
|
||||
c.colors.completion.fg = base05
|
||||
c.colors.completion.odd.bg = base01
|
||||
c.colors.completion.even.bg = base00
|
||||
c.colors.completion.category.fg = base0A
|
||||
c.colors.completion.category.bg = base00
|
||||
c.colors.completion.category.border.top = base00
|
||||
c.colors.completion.category.border.bottom = base00
|
||||
c.colors.completion.item.selected.fg = base05
|
||||
c.colors.completion.item.selected.bg = base02
|
||||
c.colors.completion.item.selected.border.top = base02
|
||||
c.colors.completion.item.selected.border.bottom = base02
|
||||
c.colors.completion.item.selected.match.fg = base0B
|
||||
c.colors.completion.match.fg = base0B
|
||||
c.colors.completion.scrollbar.fg = base05
|
||||
c.colors.completion.scrollbar.bg = base00
|
||||
c.colors.contextmenu.disabled.bg = base01
|
||||
c.colors.contextmenu.disabled.fg = base04
|
||||
c.colors.contextmenu.menu.bg = base00
|
||||
c.colors.contextmenu.menu.fg = base05
|
||||
c.colors.contextmenu.selected.bg = base02
|
||||
c.colors.contextmenu.selected.fg = base05
|
||||
c.colors.downloads.bar.bg = base00
|
||||
c.colors.downloads.start.fg = base00
|
||||
c.colors.downloads.start.bg = base0D
|
||||
c.colors.downloads.stop.fg = base00
|
||||
c.colors.downloads.stop.bg = base0C
|
||||
c.colors.downloads.error.fg = base08
|
||||
c.colors.hints.fg = base00
|
||||
c.colors.hints.bg = base0A
|
||||
c.colors.hints.match.fg = base05
|
||||
c.colors.keyhint.fg = base05
|
||||
c.colors.keyhint.suffix.fg = base05
|
||||
c.colors.keyhint.bg = base00
|
||||
c.colors.messages.error.fg = base00
|
||||
c.colors.messages.error.bg = base08
|
||||
c.colors.messages.error.border = base08
|
||||
c.colors.messages.warning.fg = base00
|
||||
c.colors.messages.warning.bg = base0E
|
||||
c.colors.messages.warning.border = base0E
|
||||
c.colors.messages.info.fg = base05
|
||||
c.colors.messages.info.bg = base00
|
||||
c.colors.messages.info.border = base00
|
||||
c.colors.prompts.fg = base05
|
||||
c.colors.prompts.border = base00
|
||||
c.colors.prompts.bg = base00
|
||||
c.colors.prompts.selected.bg = base02
|
||||
c.colors.prompts.selected.fg = base05
|
||||
c.colors.statusbar.normal.fg = base0B
|
||||
c.colors.statusbar.normal.bg = base00
|
||||
c.colors.statusbar.insert.fg = base00
|
||||
c.colors.statusbar.insert.bg = base0D
|
||||
c.colors.statusbar.passthrough.fg = base00
|
||||
c.colors.statusbar.passthrough.bg = base0C
|
||||
c.colors.statusbar.private.fg = base00
|
||||
c.colors.statusbar.private.bg = base01
|
||||
c.colors.statusbar.command.fg = base05
|
||||
c.colors.statusbar.command.bg = base00
|
||||
c.colors.statusbar.command.private.fg = base05
|
||||
c.colors.statusbar.command.private.bg = base00
|
||||
c.colors.statusbar.caret.fg = base00
|
||||
c.colors.statusbar.caret.bg = base0E
|
||||
c.colors.statusbar.caret.selection.fg = base00
|
||||
c.colors.statusbar.caret.selection.bg = base0D
|
||||
c.colors.statusbar.progress.bg = base0D
|
||||
c.colors.statusbar.url.fg = base05
|
||||
c.colors.statusbar.url.error.fg = base08
|
||||
c.colors.statusbar.url.hover.fg = base05
|
||||
c.colors.statusbar.url.success.http.fg = base0C
|
||||
c.colors.statusbar.url.success.https.fg = base0B
|
||||
c.colors.statusbar.url.warn.fg = base0E
|
||||
c.colors.tabs.bar.bg = base00
|
||||
c.colors.tabs.indicator.start = base0D
|
||||
c.colors.tabs.indicator.stop = base0C
|
||||
c.colors.tabs.indicator.error = base08
|
||||
c.colors.tabs.odd.fg = base05
|
||||
c.colors.tabs.odd.bg = base01
|
||||
c.colors.tabs.even.fg = base05
|
||||
c.colors.tabs.even.bg = base00
|
||||
c.colors.tabs.pinned.even.bg = base0C
|
||||
c.colors.tabs.pinned.even.fg = base07
|
||||
c.colors.tabs.pinned.odd.bg = base0B
|
||||
c.colors.tabs.pinned.odd.fg = base07
|
||||
c.colors.tabs.pinned.selected.even.bg = base02
|
||||
c.colors.tabs.pinned.selected.even.fg = base05
|
||||
c.colors.tabs.pinned.selected.odd.bg = base02
|
||||
c.colors.tabs.pinned.selected.odd.fg = base05
|
||||
c.colors.tabs.selected.odd.fg = base05
|
||||
c.colors.tabs.selected.odd.bg = base02
|
||||
c.colors.tabs.selected.even.fg = base05
|
||||
c.colors.tabs.selected.even.bg = base02
|
||||
|
||||
# overrides
|
||||
c.colors.hints.fg = base05
|
||||
c.colors.hints.bg = base02
|
||||
c.colors.hints.match.fg = base0A
|
||||
c.colors.tabs.selected.odd.bg = "teal"
|
||||
c.colors.tabs.selected.even.bg = "teal"
|
||||
@@ -0,0 +1,19 @@
|
||||
set show_hidden true
|
||||
set vcs_aware true
|
||||
set preview_images true
|
||||
set preview_images_method ueberzug
|
||||
set line_numbers relative
|
||||
map ø console
|
||||
map <DELETE> console delete
|
||||
map w1 tab_open 1
|
||||
map w2 tab_open 2
|
||||
map w3 tab_open 3
|
||||
map w4 tab_open 4
|
||||
map w5 tab_open 5
|
||||
map w6 tab_open 6
|
||||
map w7 tab_open 7
|
||||
map w8 tab_open 8
|
||||
map w9 tab_open 9
|
||||
map <alt>w taskview_open
|
||||
map <c-j> scroll_preview 1
|
||||
map <c-k> scroll_preview -1
|
||||
@@ -0,0 +1,20 @@
|
||||
move_down_smooth j
|
||||
move_up_smooth k
|
||||
move_visual_mark_down j
|
||||
move_visual_mark_up k
|
||||
screen_up_smooth <pageup>
|
||||
screen_down_smooth <pagedown>
|
||||
next_page J
|
||||
previous_page K
|
||||
goto_mark '
|
||||
quit Q
|
||||
close_window q
|
||||
fit_to_page_smart =
|
||||
embed_annotations W
|
||||
next_state <C-i>
|
||||
prev_state <C-o>
|
||||
reload <C-r>
|
||||
toggle_custom_color <f8>
|
||||
fit_to_page_height_smart <f9>
|
||||
fit_to_page_width_smart <f10>
|
||||
fit_to_page_smart <f11>
|
||||
@@ -0,0 +1,59 @@
|
||||
# required in Wayland/Sway:
|
||||
# env QT_QPA_PLATFORM=xcb
|
||||
# should_launch_new_instance 1
|
||||
should_launch_new_window 1
|
||||
should_launch_new_instance 1
|
||||
startup_commands toggle_visual_scroll;toggle_custom_color
|
||||
|
||||
# - dracula: https://github.com/dracula/sioyek
|
||||
# - catppuccin: https://github.com/catppuccin/sioyek
|
||||
# - gruvbox: https://mil.ad/blog/2022/gruvbox-for-sioyek.html
|
||||
new_macro _theme_solaris setconfig_custom_text_color(#b58900);setconfig_custom_background_color(#586e75)
|
||||
new_macro _theme_normal setconfig_custom_text_color(#000000);setconfig_custom_background_color(#ffffff)
|
||||
new_macro _theme_dark setconfig_custom_text_color(#ffffff);setconfig_custom_background_color(#000000)
|
||||
new_macro _theme_softlight setconfig_custom_text_color(#434c5e);setconfig_custom_background_color(#faf4ed)
|
||||
new_macro _theme_macchiato setconfig_custom_text_color(#cad3f5);setconfig_custom_background_color(#24273a)
|
||||
new_macro _theme_frappe setconfig_custom_text_color(#c6d0f5);setconfig_custom_background_color(#303446)
|
||||
new_macro _theme_moccha setconfig_custom_text_color(#cdd6f4);setconfig_custom_background_color(#1e1e2e)
|
||||
new_macro _theme_latte setconfig_custom_text_color(#4c4f69);setconfig_custom_background_color(#eff1f5)
|
||||
new_macro _theme_gruvbox setconfig_custom_text_color(#fbf1c7);setconfig_custom_background_color(#282828)
|
||||
new_macro _theme_dracula setconfig_custom_text_color(0.97255 0.97255 0.94902);setconfig_custom_background_color(0.15686 0.16471 0.21176)
|
||||
|
||||
# page separation
|
||||
page_separator_color #1d2021
|
||||
page_separator_width 10
|
||||
|
||||
# dark mode
|
||||
dark_mode_background_color #1e1e2e
|
||||
dark_mode_contrast 0.9
|
||||
|
||||
# UI
|
||||
ui_font Noto Sans Mono
|
||||
font_size 12
|
||||
status_bar_font_size 16
|
||||
status_bar_color #427b58
|
||||
status_bar_text_color #fbf1c7
|
||||
ui_text_color #cad3f5
|
||||
ui_background_color #363a4f
|
||||
ui_selected_text_color #cad3f5
|
||||
ui_selected_background_color #5b6078
|
||||
|
||||
# brighten blue links
|
||||
custom_color_contrast 1
|
||||
|
||||
custom_color_mode_empty_background_color #1d2021
|
||||
|
||||
# search
|
||||
should_highlight_unselected_search 1
|
||||
unselected_search_highlight_color #FF5733
|
||||
|
||||
# gruvbox
|
||||
custom_background_color #282828
|
||||
custom_text_color #fbf1c7
|
||||
|
||||
# text_highlight_color #eed49f
|
||||
# visual_mark_color #8087a2
|
||||
|
||||
# search_highlight_color #eed49f
|
||||
# link_highlight_color #8aadf4
|
||||
# synctex_highlight_color #a6da95
|
||||
@@ -0,0 +1,24 @@
|
||||
add_newline = true
|
||||
right_format = """$cmd_duration"""
|
||||
|
||||
[line_break]
|
||||
disabled = false
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
|
||||
[cmd_duration]
|
||||
min_time = 1000
|
||||
format = 'underwent [$duration](bold yellow)'
|
||||
show_milliseconds = true
|
||||
|
||||
[directory]
|
||||
truncation_length = 5
|
||||
truncate_to_repo = false
|
||||
truncation_symbol = '…/'
|
||||
repo_root_style = "red"
|
||||
before_repo_root_style = "cyan"
|
||||
repo_root_format = '[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) '
|
||||
|
||||
[git_status]
|
||||
disabled = true
|
||||
@@ -0,0 +1,359 @@
|
||||
# ------------------------------------------
|
||||
# THEME
|
||||
# ------------------------------------------
|
||||
# Apply gtk theming
|
||||
exec_always ~/.config/sway/scripts/import-gsettings
|
||||
|
||||
# mouse settings: don't refocus, don't move with output
|
||||
focus_follows_mouse no
|
||||
mouse_warping none
|
||||
|
||||
# Set inner/outer gaps
|
||||
smart_gaps on
|
||||
gaps inner 2
|
||||
gaps outer 0
|
||||
|
||||
# Hide titlebar on windows:
|
||||
default_border pixel 1
|
||||
|
||||
# Default Font
|
||||
font pango:Noto Sans Regular 10
|
||||
|
||||
# Thin borders:
|
||||
smart_borders on
|
||||
|
||||
# Title format for windows
|
||||
for_window [shell="xdg_shell"] title_format "%title (%app_id)"
|
||||
for_window [shell="x_wayland"] title_format "%class - %title"
|
||||
|
||||
# class border bground text indicator child_border
|
||||
client.focused #556064 #F9CE5C #000000 #CB4B16 #FDF6E3
|
||||
client.focused_inactive #CB4B16 #2F3D44 #1ABC9C #454948 #454948
|
||||
client.unfocused #556064 #2F3D44 #1ABC9C #454948 #454948
|
||||
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 #268BD2
|
||||
client.placeholder #000000 #0C0C0C #ffffff #000000 #000000
|
||||
client.background #2B2C2B
|
||||
|
||||
# Status Bar:
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
}
|
||||
# ------------------------------------------
|
||||
# DEFINITIONS
|
||||
# ------------------------------------------
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
|
||||
# Add Vim key support
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# Set default terminal emulator
|
||||
set $term footclient
|
||||
|
||||
# Application launcher
|
||||
set $launcher fuzzel
|
||||
|
||||
# Application menu
|
||||
set $menu nwg-drawer
|
||||
|
||||
# Power Menu
|
||||
set $powermenu ~/.config/sway/scripts/power_menu.sh
|
||||
|
||||
# ------------------------------------------
|
||||
# BINDINGS
|
||||
# ------------------------------------------
|
||||
# Launch the terminal
|
||||
bindsym $mod+Return exec $term
|
||||
bindsym $mod+Shift+Return exec foot
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
# Lock screen
|
||||
bindsym $mod+f1 exec gtklock
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# menus
|
||||
bindsym {
|
||||
# Open the power menu
|
||||
$mod+Shift+e exec $powermenu
|
||||
# Start your launcher
|
||||
$mod+d exec $launcher
|
||||
# Menu
|
||||
$mod+Shift+d exec $menu
|
||||
# Activities
|
||||
$mod+p exec ~/.config/sway/scripts/window_switcher.sh
|
||||
}
|
||||
|
||||
# move around
|
||||
bindsym {
|
||||
# Change window focus
|
||||
$mod+Left focus left
|
||||
$mod+Down focus down
|
||||
$mod+Up focus up
|
||||
$mod+Right focus right
|
||||
# Vim key support
|
||||
$mod+$left focus left
|
||||
$mod+$down focus down
|
||||
$mod+$up focus up
|
||||
$mod+$right focus right
|
||||
|
||||
# Move the focused window
|
||||
$mod+Shift+Left move left
|
||||
$mod+Shift+Down move down
|
||||
$mod+Shift+Up move up
|
||||
$mod+Shift+Right move right
|
||||
# Vim key support
|
||||
$mod+Shift+$left move left
|
||||
$mod+Shift+$down move down
|
||||
$mod+Shift+$up move up
|
||||
$mod+Shift+$right move right
|
||||
}
|
||||
|
||||
# layout
|
||||
bindsym {
|
||||
# Set how the current window will be split
|
||||
$mod+s splitv
|
||||
$mod+v splith
|
||||
$mod+q split toggle
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
$mod+w layout stacking
|
||||
$mod+t layout tabbed
|
||||
$mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
$mod+f fullscreen
|
||||
|
||||
# Toggle between tiling and floating mode
|
||||
$mod+Shift+space floating toggle
|
||||
$mod+Ctrl+space sticky toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
$mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
$mod+a focus parent
|
||||
# Move focus to the child container
|
||||
$mod+Shift+a focus child
|
||||
}
|
||||
|
||||
# scratchpad
|
||||
bindsym {
|
||||
# Move the currently focused window to the scratchpad
|
||||
$mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
$mod+minus scratchpad show
|
||||
}
|
||||
|
||||
# resize
|
||||
# Move windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Change "normal" to "inverse" to switch left and right
|
||||
floating_modifier $mod normal
|
||||
bindsym {
|
||||
# Resize with arrow keys
|
||||
$mod+ctrl+Right resize shrink width 10 px
|
||||
$mod+ctrl+Up resize grow height 10 px
|
||||
$mod+ctrl+Down resize shrink height 10 px
|
||||
$mod+ctrl+Left resize grow width 10 px
|
||||
# Resize with Vim keys
|
||||
$mod+ctrl+$right resize shrink width 10 px
|
||||
$mod+ctrl+$up resize grow height 10 px
|
||||
$mod+ctrl+$down resize shrink height 10 px
|
||||
$mod+ctrl+$left resize grow width 10 px
|
||||
}
|
||||
# Resize floating windows with mouse scroll
|
||||
bindsym --whole-window --border {
|
||||
# Resize vertically
|
||||
$mod+button4 resize shrink height 5 px or 5 ppt
|
||||
$mod+button5 resize grow height 5 px or 5 ppt
|
||||
# Resize horizontally
|
||||
$mod+Shift+button4 resize shrink width 5 px or 5 ppt
|
||||
$mod+Shift+button5 resize grow width 5 px or 5 ppt
|
||||
}
|
||||
|
||||
# media keys
|
||||
bindsym {
|
||||
# Volume
|
||||
XF86AudioRaiseVolume exec pamixer -ui 2
|
||||
XF86AudioLowerVolume exec pamixer -ud 2
|
||||
XF86AudioMute exec pamixer --toggle-mute
|
||||
Pause exec pamixer -ui 2
|
||||
Print exec pamixer -ud 2
|
||||
Scroll_Lock exec pamixer --toggle-mute
|
||||
|
||||
# Player
|
||||
XF86AudioPlay exec playerctl play-pause
|
||||
XF86AudioNext exec playerctl next
|
||||
XF86AudioPrev exec playerctl previous
|
||||
|
||||
# Backlight
|
||||
XF86MonBrightnessUp exec brightnessctl -c backlight set +5%
|
||||
XF86MonBrightnessDown exec brightnessctl -c backlight set 5%-
|
||||
}
|
||||
|
||||
# workspaces
|
||||
set {
|
||||
$ws1 number 1
|
||||
$ws2 number 2
|
||||
$ws3 number 3
|
||||
$ws4 number 4
|
||||
$ws5 number 5
|
||||
$ws6 number 6
|
||||
$ws7 number 7
|
||||
$ws8 number 8
|
||||
$ws9 number 9
|
||||
$ws10 number 10
|
||||
}
|
||||
include $HOME/.config/sway/local_config
|
||||
|
||||
# apps
|
||||
bindsym {
|
||||
# Snip a selection and pipe to swappy
|
||||
$mod+Shift+s exec grim -g "$(slurp)" - | swappy -f -
|
||||
|
||||
# unicode picker
|
||||
$mod+u exec unipicker --command "fuzzel --dmenu | wl-copy"
|
||||
|
||||
# Launch the browser
|
||||
$mod+i exec qutebrowser
|
||||
|
||||
# Launch the file explorer
|
||||
$mod+o exec pcmanfm
|
||||
|
||||
# Dismiss message
|
||||
$mod+n exec makoctl dismiss
|
||||
$mod+Shift+n exec makoctl dismiss -a
|
||||
}
|
||||
|
||||
# config tools
|
||||
set $mode_monitor (b) btop, (h) htop, (s) isd, (j) journal, (n) nvtop
|
||||
mode "$mode_monitor" {
|
||||
bindsym b exec footclient --app-id floating_shell --window-size-chars 140x50 btop, mode "default"
|
||||
bindsym h exec footclient --app-id floating_shell --window-size-chars 140x50 htop, mode "default"
|
||||
bindsym s exec footclient --app-id floating_shell --window-size-chars 140x50 isd, mode "default"
|
||||
bindsym j exec footclient --app-id floating_shell --window-size-chars 140x50 lazyjournal, mode "default"
|
||||
bindsym n exec footclient --app-id floating_shell --window-size-chars 140x50 nvtop, mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+m mode "$mode_monitor"
|
||||
|
||||
# ------------------------------------------
|
||||
# AUTOSTART
|
||||
# ------------------------------------------
|
||||
# Auth with polkit-gnome
|
||||
exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
|
||||
# Import environment variables for user systemd service manager
|
||||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||
|
||||
# Update dbus environments with display variables
|
||||
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||
|
||||
# Idle configuration
|
||||
exec swayidle idlehint 1
|
||||
exec_always swayidle -w before-sleep "gtklock -d"
|
||||
|
||||
# Start foot server
|
||||
exec_always --no-startup-id foot --server
|
||||
|
||||
exec {
|
||||
# Desktop notifications
|
||||
exec mako
|
||||
|
||||
# Set wallpaper
|
||||
~/.azotebg
|
||||
|
||||
# Network Applet
|
||||
nm-applet --indicator
|
||||
|
||||
# automount usb
|
||||
pcmanfm --daemon-mode
|
||||
|
||||
# Bluetooth Applet
|
||||
blueman-applet
|
||||
|
||||
# night-time color shift
|
||||
wlsunset -l 59.91:10.76
|
||||
}
|
||||
|
||||
exec_always {
|
||||
# nwg-drawer
|
||||
nwg-drawer -r -c 7 -is 90 -mb 10 -ml 50 -mr 50 -mt 10
|
||||
|
||||
# flashfocus
|
||||
systemctl --user start flashfocus
|
||||
|
||||
# persist clipboard after close
|
||||
pkill -x wl-clip-persist
|
||||
wl-clip-persist --clipboard regular --all-mime-type-regex '(?i)^(?!image/x-inkscape-svg).+'
|
||||
|
||||
# enable noisetorch
|
||||
noisetorch -u
|
||||
noisetorch -i
|
||||
}
|
||||
|
||||
# ------------------------------------------
|
||||
# WINDOWS
|
||||
# ------------------------------------------
|
||||
# Custom windowing rules
|
||||
for_window [class="Yad" instance="yad"] floating enable
|
||||
for_window [app_id="yad"] floating enable
|
||||
for_window [app_id="blueman-manager"] floating enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [app_id="pavucontrol" ] floating enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [window_role="pop-up"] floating enable
|
||||
for_window [window_role="bubble"] floating enable
|
||||
for_window [window_role="task_dialog"] floating enable
|
||||
for_window [window_role="Preferences"] floating enable
|
||||
for_window [window_type="dialog"] floating enable
|
||||
for_window [window_type="menu"] floating enable
|
||||
for_window [window_role="About"] floating enable
|
||||
for_window [title="File Operation Progress"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt
|
||||
for_window [app_id="floating_shell"] floating enable, border pixel 1, sticky enable
|
||||
for_window [title="Picture in picture"] floating enable, sticky enable
|
||||
for_window [title="Save File"] floating enable
|
||||
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
|
||||
|
||||
# steam
|
||||
# https://github.com/ValveSoftware/steam-for-linux/issues/1040
|
||||
for_window [app_id="^steam$"] floating enable
|
||||
for_window [app_id="^Steam$"] floating enable
|
||||
for_window [app_id="^steam$" title="^Steam$"] floating disable
|
||||
|
||||
# Inhibit idle
|
||||
for_window [app_id="firefox"] inhibit_idle fullscreen
|
||||
for_window [app_id="Chromium"] inhibit_idle fullscreen
|
||||
|
||||
# Don't allow applications to inhibit shortcuts, i.e. grab total control of the
|
||||
# keyboard. Chrome currently abuses this by enabling it for all "--app=..." shortcuts.
|
||||
seat * shortcuts_inhibitor disable
|
||||
|
||||
# ------------------------------------------
|
||||
# IO
|
||||
# ------------------------------------------
|
||||
input type:touchpad {
|
||||
dwt enabled
|
||||
tap disabled
|
||||
natural_scroll enabled
|
||||
accel_profile "adaptive"
|
||||
}
|
||||
|
||||
input type:keyboard {
|
||||
xkb_layout "us"
|
||||
xkb_variant "altgr-weur"
|
||||
xkb_options "caps:escape"
|
||||
}
|
||||
|
||||
input type:mouse {
|
||||
accel_profile "flat"
|
||||
pointer_accel 0.5
|
||||
}
|
||||
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
# usage: import-gsettings
|
||||
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||
if [ ! -f "$config" ]; then exit 1; fi
|
||||
|
||||
gnome_schema="org.gnome.desktop.interface"
|
||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | cut -d'=' -f2)"
|
||||
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | cut -d'=' -f2)"
|
||||
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | cut -d'=' -f2)"
|
||||
font_name="$(grep 'gtk-font-name' "$config" | cut -d'=' -f2)"
|
||||
gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||
gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||
gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||
gsettings set "$gnome_schema" font-name "$font_name"
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
SELECTION="$(printf " Lock\n Suspend\n Log out\n Reboot\n Reboot to UEFI\n Shutdown" | fuzzel --dmenu -a top-right -l 6 -w 18 -p "Select an option: ")"
|
||||
|
||||
confirm_action() {
|
||||
local action="$1"
|
||||
CONFIRMATION="$(printf "No\nYes" | fuzzel --dmenu -a top-right -l 2 -w 18 -p "$action?")"
|
||||
[[ "$CONFIRMATION" == *"Yes"* ]]
|
||||
}
|
||||
|
||||
case $SELECTION in
|
||||
*" Lock"*)
|
||||
gtklock;;
|
||||
*" Suspend"*)
|
||||
if confirm_action "Suspend"; then
|
||||
systemctl suspend
|
||||
fi;;
|
||||
*" Log out"*)
|
||||
if confirm_action "Log out"; then
|
||||
swaymsg exit
|
||||
fi;;
|
||||
*" Reboot"*)
|
||||
if confirm_action "Reboot"; then
|
||||
systemctl reboot
|
||||
fi;;
|
||||
*" Reboot to UEFI"*)
|
||||
if confirm_action "Reboot to UEFI"; then
|
||||
systemctl reboot --firmware-setup
|
||||
fi;;
|
||||
*" Shutdown"*)
|
||||
if confirm_action "Shutdown"; then
|
||||
systemctl poweroff
|
||||
fi;;
|
||||
esac
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Define the lengths for each column
|
||||
ws_length=2
|
||||
app_id_length=14
|
||||
name_length=50
|
||||
|
||||
# Fetch the data from swaymsg and format it
|
||||
formatted_output=$(swaymsg -t get_tree | jq -r --arg ws_length "$ws_length" --arg app_id_length "$app_id_length" --arg name_length "$name_length" '
|
||||
def lpad($len; $char):
|
||||
if (.|length) > $len then $char * ($len - (.|length)) +.[:$len-1] + "\u2026" else $char * ($len - (.|length)) +. end;
|
||||
def rpad($len; $char):
|
||||
if (.|length) > $len then.[:$len-1] + "\u2026" else. + $char * ($len - (.|length)) end;
|
||||
..
|
||||
| objects
|
||||
| select(.type == "workspace") as $ws
|
||||
|..
|
||||
| objects
|
||||
| select(has("app_id"))
|
||||
| (if.focused then "*" else " " end) as $asterisk
|
||||
| "\($asterisk)[\($ws.name | lpad($ws_length | tonumber; " "))]\((.app_id // "xwayland") | lpad($app_id_length | tonumber; " ")): \(.name | rpad($name_length | tonumber; " ")) (\(.id))"
|
||||
')
|
||||
|
||||
# Launch fuzzel with the formatted output
|
||||
row=$(echo "$formatted_output" | fuzzel --dmenu --width=80 --lines=12)
|
||||
|
||||
# Get the container ID from the selection and focus the container
|
||||
if [ -n "$row" ]; then
|
||||
winid="${row##*(}"
|
||||
winid="${winid%%)*}"
|
||||
swaymsg "[con_id=$winid] focus"
|
||||
fi
|
||||
@@ -0,0 +1,77 @@
|
||||
set blame-view = date:default line-number:yes
|
||||
set main-view-id-display = yes
|
||||
set main-view-author-display = full
|
||||
set ignore-space = all
|
||||
set blob-view-line-number-display = yes
|
||||
|
||||
bind generic h scroll-left
|
||||
bind generic j move-down
|
||||
bind generic k move-up
|
||||
bind generic l scroll-right
|
||||
|
||||
bind generic g none
|
||||
bind generic gg move-first-line
|
||||
bind generic J next
|
||||
bind generic K previous
|
||||
bind generic H parent
|
||||
bind generic L back
|
||||
bind generic <Tab> view-next
|
||||
|
||||
bind main G move-last-line
|
||||
bind generic G move-last-line
|
||||
|
||||
bind generic <C-f> move-page-down
|
||||
bind generic <C-b> move-page-up
|
||||
|
||||
bind generic v none
|
||||
bind generic vm view-main
|
||||
bind generic vd view-diff
|
||||
bind generic vl view-log
|
||||
bind generic vt view-tree
|
||||
bind generic vb view-blob
|
||||
bind generic vx view-blame
|
||||
bind generic vr view-refs
|
||||
bind generic vs view-status
|
||||
bind generic vu view-stage
|
||||
bind generic vy view-stash
|
||||
bind generic vg view-grep
|
||||
bind generic vp view-pager
|
||||
bind generic vh view-help
|
||||
|
||||
bind generic o none
|
||||
|
||||
bind generic oo :toggle sort-order
|
||||
bind generic os :toggle sort-field
|
||||
|
||||
bind generic on :toggle line-number
|
||||
bind generic od :toggle date
|
||||
bind generic oa :toggle author
|
||||
bind generic of :toggle file-name
|
||||
bind generic op :toggle ignore-space
|
||||
bind generic oi :toggle id
|
||||
bind generic or :toggle commit-title-refs
|
||||
|
||||
bind generic ot :toggle commit-title-overflow
|
||||
bind generic oF :toggle file-filter
|
||||
bind generic og :toggle line-graphics
|
||||
|
||||
bind generic @ none
|
||||
bind generic @j :/^@@
|
||||
bind generic @k :?^@@
|
||||
bind generic @- :toggle diff-context -1
|
||||
bind generic @+ :toggle diff-context +1
|
||||
|
||||
bind status u none
|
||||
bind stage u none
|
||||
bind generic uu status-update
|
||||
bind generic ur status-revert
|
||||
bind generic um status-merge
|
||||
bind generic - stage-update-line
|
||||
bind generic \ stage-split-chunk
|
||||
|
||||
bind generic c none
|
||||
bind generic cc !git commit
|
||||
bind generic ca !?@git commit --amend --no-edit
|
||||
|
||||
bind generic ? view-help
|
||||
bind generic <C-w><C-w> view-next
|
||||
@@ -0,0 +1,214 @@
|
||||
######################
|
||||
### SETTINGS ###
|
||||
######################
|
||||
# escape time
|
||||
set -sg escape-time 0
|
||||
setw -g mode-keys vi
|
||||
set -g mouse on
|
||||
|
||||
# clipboard control
|
||||
set -g set-clipboard on
|
||||
set -g allow-passthrough
|
||||
set -g history-limit 100000
|
||||
set -g focus-events on
|
||||
|
||||
# screen colors
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -sa terminal-features ",xterm-256color:RGB"
|
||||
|
||||
# Start with index 1
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
# colors
|
||||
fg_active_pane="default"
|
||||
fg_inactive_pane="color242"
|
||||
fg_active_window="color0"
|
||||
bg_active_window="color252"
|
||||
bg_highlight="red"
|
||||
|
||||
# pane title
|
||||
ps_pid='#(pgrep -P "#{pane_pid}" | tr "\n" " ")'
|
||||
cmd='#(ps --no-headers -o args $(pgrep -P "#{pane_pid}"))'
|
||||
# cmd='#(ps --no-headers -t #{pane_tty} -o args -O-c | tr "\n" " ")'
|
||||
setw -g pane-border-status top
|
||||
setw -g pane-border-format " #{pane_current_path} #{=/-20/…:pane_current_command} ${ps_pid}[${cmd}] #{?alternate_on,<Alt Mode> ,}"
|
||||
set -g pane-border-style "fg=${fg_inactive_pane}"
|
||||
set -g pane-active-border-style "fg=${fg_active_pane}"
|
||||
|
||||
# status line
|
||||
default_color="#[bg=default,fg=default,bold]"
|
||||
indicator=" η "
|
||||
window_status_format=' #I:#W '
|
||||
expanded_icon=' '
|
||||
|
||||
# Setting the options in tmux
|
||||
set -g status-position "bottom"
|
||||
set -g status-style bg=default,fg=default
|
||||
set -g status-justify "centre"
|
||||
set -g status-left "${default_color}#{?client_prefix,,${indicator}}#[bg=${bg_highlight},fg=${fg_active_window},bold]#{?client_prefix,${indicator},}${default_color}"
|
||||
set -g status-right "session #S - %H:%M %d/%m/%y"
|
||||
set -g window-status-format " ${window_status_format}#{?window_zoomed_flag, ,}"
|
||||
set -g window-status-current-format "#[fg=${bg_active_window}]#[bg=${bg_active_window},fg=${fg_active_window}]${window_status_format}#{?window_zoomed_flag,${expanded_icon},}#[fg=${bg_active_window},bg=default]"
|
||||
|
||||
|
||||
# Automatically set window title
|
||||
setw -g automatic-rename on
|
||||
set -g set-titles on
|
||||
|
||||
######################
|
||||
### KEYBINDS ###
|
||||
######################
|
||||
# Config that is very close to a i3 window manager's keybinding.
|
||||
|
||||
# Set new prefix
|
||||
# Note : you can press super key by set M.
|
||||
# (tested with tty only)
|
||||
set -g prefix M-a
|
||||
bind M-a send-prefix
|
||||
|
||||
# First remove *all* keybindings
|
||||
unbind -a
|
||||
|
||||
# Basic bindings
|
||||
bind ? list-keys
|
||||
bind d detach-client
|
||||
bind D choose-client
|
||||
bind : command-prompt
|
||||
bind '~' show-messages
|
||||
|
||||
# Copy mode
|
||||
bind c copy-mode
|
||||
|
||||
# clipboard control
|
||||
bind p paste-buffer
|
||||
bind -T copy-mode-vi v send-keys -X begin-selection
|
||||
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -i -f -selection primary | xclip -i -selection clipboard"
|
||||
bind -T copy-mode-vi r send-keys -X rectangle-toggle
|
||||
bind -T copy-mode-vi Escape send-keys -X cancel
|
||||
bind -T copy-mode-vi q send-keys -X clear-selection
|
||||
bind -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection primary -filter | xclip -selection clipboard"
|
||||
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection primary -filter | xclip -selection clipboard"
|
||||
|
||||
# Rename window
|
||||
bind , command-prompt "rename-window %%"
|
||||
bind . command-prompt "rename-session %%"
|
||||
|
||||
# Clock mode
|
||||
bind t clock-mode
|
||||
|
||||
# Show pane numbers
|
||||
bind i display-panes
|
||||
|
||||
# Config Reloads
|
||||
bind r source-file ~/.config/tmux/tmux.conf \; refresh-client \; display-message "Config reloaded"
|
||||
|
||||
# zoom control
|
||||
bind -n M-o resize-pane -Z
|
||||
|
||||
# get urls
|
||||
bind u run "tmux popup -E -b double -w 100% -h 100% sh -c 'tmux capture-pane -Jp | urlscan -d' "
|
||||
|
||||
# split panes using | and -, make sure they open in the same path
|
||||
bind v split-window -h -c "#{pane_current_path}"
|
||||
bind s split-window -v -c "#{pane_current_path}"
|
||||
bind V split-window -fh -c "#{pane_current_path}"
|
||||
bind S split-window -fv -c "#{pane_current_path}"
|
||||
|
||||
# Change layouts
|
||||
bind o rotate-window
|
||||
bind Space next-layout
|
||||
bind = select-layout even-horizontal
|
||||
bind + select-layout main-horizontal
|
||||
bind - select-layout even-vertical
|
||||
bind _ select-layout main-vertical
|
||||
bind / select-layout tiled
|
||||
bind K swap-pane -d -t "{up-of}"
|
||||
bind J swap-pane -d -t "{down-of}"
|
||||
bind H swap-pane -d -t "{left-of}"
|
||||
bind L swap-pane -d -t "{right-of}"
|
||||
|
||||
# Choose
|
||||
bind w choose-tree
|
||||
|
||||
# Change current pane to next window
|
||||
bind ` break-pane
|
||||
bind 1 if 'tmux join-pane -t :1 -h' '' 'new-window -d -t :1; join-pane -t :1'
|
||||
bind 2 if 'tmux join-pane -t :2 -h' '' 'new-window -d -t :2; join-pane -t :2'
|
||||
bind 3 if 'tmux join-pane -t :3 -h' '' 'new-window -d -t :3; join-pane -t :3'
|
||||
bind 4 if 'tmux join-pane -t :4 -h' '' 'new-window -d -t :4; join-pane -t :4'
|
||||
bind 5 if 'tmux join-pane -t :5 -h' '' 'new-window -d -t :5; join-pane -t :5'
|
||||
bind 6 if 'tmux join-pane -t :6 -h' '' 'new-window -d -t :6; join-pane -t :6'
|
||||
bind 7 if 'tmux join-pane -t :7 -h' '' 'new-window -d -t :7; join-pane -t :7'
|
||||
bind 8 if 'tmux join-pane -t :8 -h' '' 'new-window -d -t :8; join-pane -t :8'
|
||||
bind 9 if 'tmux join-pane -t :9 -h' '' 'new-window -d -t :9; join-pane -t :9'
|
||||
bind 0 if 'tmux join-pane -t :10 -h' '' 'new-window -d -t :10; join-pane -t :10 -h'
|
||||
|
||||
# move windows
|
||||
bind m command-prompt -p "move window to:" "move-window -t '%%'"
|
||||
bind F1 move-window -t :1
|
||||
bind F2 move-window -t :2
|
||||
bind F3 move-window -t :3
|
||||
bind F4 move-window -t :4
|
||||
bind F5 move-window -t :5
|
||||
bind F6 move-window -t :6
|
||||
bind F7 move-window -t :7
|
||||
bind F8 move-window -t :8
|
||||
bind F9 move-window -t :9
|
||||
bind F10 move-window -t :10
|
||||
|
||||
# Switch windows alt+number
|
||||
bind -n M-1 if-shell 'tmux select-window -t :1' '' 'new-window -t :1'
|
||||
bind -n M-2 if-shell 'tmux select-window -t :2' '' 'new-window -t :2'
|
||||
bind -n M-3 if-shell 'tmux select-window -t :3' '' 'new-window -t :3'
|
||||
bind -n M-4 if-shell 'tmux select-window -t :4' '' 'new-window -t :4'
|
||||
bind -n M-5 if-shell 'tmux select-window -t :5' '' 'new-window -t :5'
|
||||
bind -n M-6 if-shell 'tmux select-window -t :6' '' 'new-window -t :6'
|
||||
bind -n M-7 if-shell 'tmux select-window -t :7' '' 'new-window -t :7'
|
||||
bind -n M-8 if-shell 'tmux select-window -t :8' '' 'new-window -t :8'
|
||||
bind -n M-9 if-shell 'tmux select-window -t :9' '' 'new-window -t :9'
|
||||
bind -n M-0 if-shell 'tmux select-window -t :10' '' 'new-window -t :10'
|
||||
|
||||
# Kill Selected Pane
|
||||
bind q confirm-before -p "kill-pane #P? (y/n)" kill-pane
|
||||
|
||||
# clear selected pane
|
||||
bind b send-keys -R \; clear-history \; send-keys Enter
|
||||
|
||||
######################
|
||||
### PLUGINS ###
|
||||
######################
|
||||
|
||||
# various plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
|
||||
|
||||
######################
|
||||
### PANE CONTROL ###
|
||||
######################
|
||||
|
||||
set -g @plugin 'mrjones2014/smart-splits.nvim'
|
||||
|
||||
# Optional configurations with their default values if omitted:
|
||||
|
||||
set -g @smart-splits_no_wrap '' # to disable wrapping. (any value disables wrapping)
|
||||
|
||||
set -g @smart-splits_move_left_key 'M-h' # key-mapping for navigation.
|
||||
set -g @smart-splits_move_down_key 'M-j' # --"--
|
||||
set -g @smart-splits_move_up_key 'M-k' # --"--
|
||||
set -g @smart-splits_move_right_key 'M-l' # --"--
|
||||
|
||||
set -g @smart-splits_resize_left_key 'C-h' # key-mapping for resizing.
|
||||
set -g @smart-splits_resize_down_key 'C-j' # --"--
|
||||
set -g @smart-splits_resize_up_key 'C-k' # --"--
|
||||
set -g @smart-splits_resize_right_key 'C-l' # --"--
|
||||
|
||||
set -g @smart-splits_resize_step_size '3' # change the step-size for resizing.
|
||||
|
||||
######################
|
||||
### KEEP AT BOTTOM ###
|
||||
######################
|
||||
|
||||
run -b '~/.config/tmux/plugins/tpm/tpm'
|
||||
Binary file not shown.
@@ -0,0 +1,196 @@
|
||||
{
|
||||
"layer": "top", // Waybar at top layer
|
||||
"position": "top", // Waybar position (top|bottom|left|right)
|
||||
// "height": 30, // Auto-height is used when commented
|
||||
// "width": 1280, // Full screen width when commented
|
||||
"spacing": 16, // Gaps between modules (in px)
|
||||
// See `man waybar` for more configuration options
|
||||
|
||||
// Configuration - modules-left
|
||||
|
||||
"modules-left": [
|
||||
"custom/launcher",
|
||||
"sway/workspaces",
|
||||
"sway/mode",
|
||||
"sway/window"
|
||||
],
|
||||
|
||||
"custom/launcher": {
|
||||
"format":"<span size='x-large'></span>",
|
||||
"on-click": "exec nwg-drawer",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "10"
|
||||
}
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{}",
|
||||
//"all-outputs": true, // Active window shows only on active display when commented
|
||||
"max-length": 120
|
||||
},
|
||||
|
||||
// Configuration - modules-center
|
||||
|
||||
"modules-center": [
|
||||
"systemd-failed-units", "network"
|
||||
],
|
||||
|
||||
"systemd-failed-units": {
|
||||
"hide-on-ok": false, // Do not hide if there is zero failed units.
|
||||
"format": "Systemd ✗ {nr_failed}",
|
||||
"format-ok": "Systemd ✓",
|
||||
"system": true, // Monitor failed systemwide units.
|
||||
"user": true, // Ignore failed user units.
|
||||
"on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 120x45 isd'"
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-disabled": " Disabled",
|
||||
"format-wifi": " {bandwidthDownBits:>} {bandwidthUpBits:>} ({signalStrength}%)",
|
||||
"tooltip-format-wifi": "{essid}",
|
||||
"format-ethernet": " {bandwidthDownBits:>} {bandwidthUpBits:>} ",
|
||||
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
|
||||
"format-disconnected": " Disconnected",
|
||||
"on-click": "footclient --app-id floating_shell --window-size-chars 60x45 -e nmtui",
|
||||
"interval": 2
|
||||
},
|
||||
|
||||
// Configuration - modules-right
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
},
|
||||
"tooltip-format-activated": "Idle Inhibitor Activated",
|
||||
"tooltip-format-deactivated": "Idle Inhibitor Deactivated"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "{usage:>3}%",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90,
|
||||
},
|
||||
"on-click": "footclient --app-id floating_shell --window-size-chars 120x45 -e btop"
|
||||
},
|
||||
|
||||
"custom/cputemp": {
|
||||
"exec": "sensors | grep 'CPU:' | awk '{print substr($2,2); }'",
|
||||
"format": " {}",
|
||||
"on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 80x45 watch sensors'",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": "{:>3}%",
|
||||
"on-click": "footclient --app-id floating_shell --window-size-chars 100x100 -e btop",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"disk#root": {
|
||||
"path": "/",
|
||||
"interval": 30,
|
||||
"format": " / {specific_free:0.0f} of {specific_total:0.0f} GB free",
|
||||
"unit": "GB",
|
||||
"on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 80x45 ncdu -x /'"
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"tooltip-format": "Backlight (Scroll): {percent:}%",
|
||||
"on-scroll-down": "brightnessctl -c backlight set 5%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +5%"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 2,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted":" muted",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"tooltip-format": "{icon} {volume}% {format_source}",
|
||||
"on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 120x12 pulsemixer'",
|
||||
"on-click-middle": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
||||
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +5%",
|
||||
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
},
|
||||
|
||||
|
||||
"include": "~/.config/waybar/local_config.jsonc",
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": " {:%H:%M}",
|
||||
"format-alt": " {:%OI:%M %p}",
|
||||
"tooltip-format": " {:%A %m/%d}\n\n<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||
},
|
||||
},
|
||||
"actions": {
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
"on-click": "swaymsg exec 'footclient --app-id floating_shell --window-size-chars 120x45 khal interactive'"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing":10
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format":"⏻",
|
||||
"on-click": "exec ~/.config/sway/scripts/power_menu.sh",
|
||||
"tooltip": false
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,186 @@
|
||||
/* =============================================================================
|
||||
*
|
||||
* Waybar configuration
|
||||
*
|
||||
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||
*
|
||||
* =========================================================================== */
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Keyframes
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
@define-color highlight #685878 ;
|
||||
@define-color base1 #19191e ;
|
||||
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
color: white;
|
||||
}
|
||||
|
||||
to {
|
||||
color: white;
|
||||
background-color: orange;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-critical {
|
||||
70% {
|
||||
color: white;
|
||||
}
|
||||
|
||||
to {
|
||||
color: white;
|
||||
background-color: red;
|
||||
}
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Base styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 1px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: transparent;
|
||||
color: #e3e3ea;
|
||||
background-color: @base1;
|
||||
font-family: JetBrainsMono;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Every modules */
|
||||
#mode,
|
||||
#network,
|
||||
#custom-keyboard-layout,
|
||||
#idle_inhibitor,
|
||||
#cpu,
|
||||
#memory,
|
||||
#backlight,
|
||||
#pulseaudio,
|
||||
#battery,
|
||||
#clock,
|
||||
#tray {
|
||||
padding:0.5rem 0.6rem;
|
||||
margin: 1px 0px;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Module styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
#custom-launcher {
|
||||
margin-left:15px;
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-size:13px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-radius: 5px;
|
||||
color: #eceff4;
|
||||
padding: 1px 6px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
border: 1px solid #d8dee9;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-color: #c9545d;
|
||||
color: #c9545d;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: @highlight;
|
||||
border-bottom: 3px transparent;
|
||||
color:white;
|
||||
margin-left: 5px;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#cpu.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#cpu.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#memory {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#memory.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#memory.critical {
|
||||
color: red;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
padding-left:5px;
|
||||
padding-right:5px;
|
||||
}
|
||||
|
||||
#backlight.icon {
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @highlight;
|
||||
}
|
||||
|
||||
#battery {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#battery.warning.discharging {
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 3s;
|
||||
}
|
||||
|
||||
#battery.critical.discharging {
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
margin-left:15px;
|
||||
margin-right:15px;
|
||||
font-size:15px;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
require("git"):setup()
|
||||
@@ -0,0 +1,28 @@
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "q"
|
||||
run = "close"
|
||||
desc = "Close tab"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "l"
|
||||
run = "plugin smart-enter"
|
||||
desc = "Enter the child directory, or open the file"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = [ "c", "m" ]
|
||||
run = "plugin chmod"
|
||||
desc = "Chmod on selected files"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "F"
|
||||
run = "plugin smart-filter"
|
||||
desc = "Smart filter"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "M"
|
||||
run = "plugin mount"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "T"
|
||||
run = "plugin toggle-pane max-preview"
|
||||
desc = "Maximize or restore the preview pane"
|
||||
@@ -0,0 +1,51 @@
|
||||
[mgr]
|
||||
linemode = "mtime"
|
||||
show_hidden = true
|
||||
sort_by = "natural"
|
||||
ratio = [ 1, 4, 5 ]
|
||||
|
||||
[preview]
|
||||
wrap = "yes"
|
||||
image_delay = 50
|
||||
max_width = 1500
|
||||
max_height = 1500
|
||||
|
||||
[open]
|
||||
prepend_rules = [
|
||||
{ name = "*.csv", use = "text" },
|
||||
]
|
||||
|
||||
[opener]
|
||||
text = [
|
||||
{ run = "bat $@", block = true, desc = "bat" },
|
||||
{ run = "nvim $@", block = true, desc = "nvim" },
|
||||
]
|
||||
|
||||
[input]
|
||||
cursor_blink = true
|
||||
|
||||
[[plugin.prepend_fetchers]]
|
||||
id = "git"
|
||||
name = "*"
|
||||
run = "git"
|
||||
|
||||
[[plugin.prepend_fetchers]]
|
||||
id = "git"
|
||||
name = "*/"
|
||||
run = "git"
|
||||
|
||||
[[plugin.prepend_previewers]]
|
||||
name = "*.tar*"
|
||||
run = 'piper --format=url -- tar tf "$1"'
|
||||
|
||||
[[plugin.prepend_previewers]]
|
||||
name = "*.csv"
|
||||
run = 'piper -- bat -p --color=always "$1"'
|
||||
|
||||
[[plugin.prepend_previewers]]
|
||||
name = "*.md"
|
||||
run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'
|
||||
|
||||
[[plugin.prepend_previewers]]
|
||||
name = "*/"
|
||||
run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"'
|
||||
@@ -0,0 +1,46 @@
|
||||
# zathurarc
|
||||
|
||||
set zoom-min 0
|
||||
set zoom-max 1000
|
||||
set zoom-step 10
|
||||
set first-page-column 1
|
||||
set pages-per-row 1
|
||||
set scroll-step 100
|
||||
set scroll-page-aware "true"
|
||||
set show-recent 0
|
||||
set recolor-keephue "true"
|
||||
set recolor-lightcolor \#222222
|
||||
set guioptions "csv"
|
||||
set adjust-open "best-fit"
|
||||
set selection-clipboard "clipboard"
|
||||
set database "sqlite"
|
||||
map [normal] R rotate rotate-ccw
|
||||
map [fullscreen] R rotate rotate-ccw
|
||||
map [normal] c recolor
|
||||
map [fullscreen] c recolor
|
||||
map [normal] <F8> recolor
|
||||
map [fullscreen] <F8> recolor
|
||||
map [normal] f toggle_fullscreen
|
||||
map [fullscreen] f toggle_fullscreen
|
||||
map [normal] <A-1> set "pages-per-row 1"
|
||||
map [fullscreen] <A-1> set "pages-per-row 1"
|
||||
map [normal] <A-2> set "pages-per-row 2"
|
||||
map [fullscreen] <A-2> set "pages-per-row 2"
|
||||
map [normal] <A-3> set "pages-per-row 3"
|
||||
map [fullscreen] <A-3> set "pages-per-row 3"
|
||||
map [normal] <A-4> set "pages-per-row 4"
|
||||
map [fullscreen] <A-4> set "pages-per-row 4"
|
||||
map [normal] <A-5> set "pages-per-row 5"
|
||||
map [fullscreen] <A-5> set "pages-per-row 5"
|
||||
map [normal] <C-1> set "first-page-column 1"
|
||||
map [fullscreen] <C-1> set "first-page-column 1"
|
||||
map [normal] <C-2> set "first-page-column 2"
|
||||
map [fullscreen] <C-2> set "first-page-column 2"
|
||||
map [normal] <C-3> set "first-page-column 3"
|
||||
map [fullscreen] <C-3> set "first-page-column 3"
|
||||
map [normal] <C-4> set "first-page-column 4"
|
||||
map [fullscreen] <C-4> set "first-page-column 4"
|
||||
map [normal] <C-5> set "first-page-column 5"
|
||||
map [fullscreen] <C-5> set "first-page-column 5"
|
||||
map Z feedkeys ":exec zathura $FILE<Return>"
|
||||
map S feedkeys ":exec env QT_QPA_PLATFORM=xcb sioyek $FILE<Return>"
|
||||
@@ -0,0 +1,68 @@
|
||||
# --- env ---
|
||||
export SYSTEMD_EDITOR=nvim
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
export PAGER="bat --style=header,rule,snip"
|
||||
export PATH=~/.local/bin:$PATH
|
||||
export BROWSER=/usr/bin/qutebrowser
|
||||
export HISTFILE=~/.config/zsh/history
|
||||
export HISTSIZE=200000
|
||||
export SAVEHIST=200000
|
||||
|
||||
# --- aliases ---
|
||||
alias ls='ls --color=auto -Ah'
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
|
||||
# --- basic keybinds ---
|
||||
bindkey '^[[Z' reverse-menu-complete # shift-tab
|
||||
bindkey '^[^M' self-insert-unmeta # alt+enter newline
|
||||
bindkey "^[^?" backward-kill-word # alt+backspace
|
||||
|
||||
# --- options ---
|
||||
setopt HIST_IGNORE_ALL_DUPS HIST_IGNORE_SPACE SHARE_HISTORY EXTENDED_HISTORY
|
||||
setopt AUTO_CD AUTO_MENU
|
||||
setopt AUTO_PUSHD PUSHD_SILENT PUSHD_TO_HOME
|
||||
setopt NO_NOMATCH
|
||||
WORDCHARS='_-*?.[]~=&;!#$%^(){}<>'
|
||||
|
||||
# --- command line to EDITOR ---
|
||||
autoload -Uz edit-command-line
|
||||
zle -N edit-command-line
|
||||
bindkey '^X^E' edit-command-line
|
||||
|
||||
# --- autocompletion ---
|
||||
autoload -Uz compinit
|
||||
compinit -d "~/.config/zsh/zcompdump"
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' 'r:|[._-]=** r:|=**'
|
||||
zstyle ':completion:*' list-colors ''
|
||||
if command -v kubectl >/dev/null 2>&1; then
|
||||
source <(kubectl completion zsh)
|
||||
fi
|
||||
|
||||
# --- div plugins ---
|
||||
# autosuggestions must come before atuin
|
||||
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
eval "$(zoxide init zsh)"
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
# --- vi mode ---
|
||||
bindkey -v
|
||||
source /usr/share/zsh/plugins/zsh-vi-mode/zsh-vi-mode.plugin.zsh
|
||||
|
||||
# --- search ---
|
||||
# fzf: Ctrl-T, Alt-C
|
||||
source /usr/share/fzf/key-bindings.zsh
|
||||
source /usr/share/fzf/completion.zsh
|
||||
# atuin: Ctrl+R, /
|
||||
eval "$(atuin init zsh)"
|
||||
# handle collisions
|
||||
function zvm_after_init() {
|
||||
bindkey -M vicmd '^R' redo
|
||||
bindkey -M viins '^R' atuin-search
|
||||
}
|
||||
|
||||
# --- syntax hl ---
|
||||
# must be the last plugins sourced
|
||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
Reference in New Issue
Block a user