This commit is contained in:
Belal Elsabbagh
2026-02-01 08:33:07 +02:00
parent bb79366354
commit 746a957b35
13 changed files with 652 additions and 102 deletions

View File

@@ -39,83 +39,9 @@ x = 2
y = 2 y = 2
[env] [env]
TERM = "xterm-256color" TERM = "xterm-256color"
# Dracula theme for Alacritty
# https://draculatheme.com/alacritty
#
# Color palette
# https://spec.draculatheme.com
#
# Instructions
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
[colors.primary]
background = "#282a36"
foreground = "#f8f8f2"
bright_foreground = "#ffffff"
[colors.cursor]
text = "#282a36"
cursor = "#f8f8f2"
[colors.vi_mode_cursor]
text = "CellBackground"
cursor = "CellForeground"
[colors.selection]
text = "CellForeground"
background = "#44475a"
[colors.normal]
black = "#21222c"
red = "#ff5555"
green = "#50fa7b"
yellow = "#f1fa8c"
blue = "#bd93f9"
magenta = "#ff79c6"
cyan = "#8be9fd"
white = "#f8f8f2"
[colors.bright]
black = "#6272a4"
red = "#ff6e6e"
green = "#69ff94"
yellow = "#ffffa5"
blue = "#d6acff"
magenta = "#ff92df"
cyan = "#a4ffff"
white = "#ffffff"
[colors.search.matches]
foreground = "#44475a"
background = "#50fa7b"
[colors.search.focused_match]
foreground = "#44475a"
background = "#ffb86c"
[colors.footer_bar]
background = "#282a36"
foreground = "#f8f8f2"
[colors.hints.start]
foreground = "#282a36"
background = "#f1fa8c"
[colors.hints.end]
foreground = "#f1fa8c"
background = "#282a36"
[general] [general]
live_config_reload = true live_config_reload = true
import = [
"~/.config/alacritty/themes/gruvbox_material.toml"
]

View File

@@ -0,0 +1,77 @@
# Dracula theme for Alacritty
# https://draculatheme.com/alacritty
#
# Color palette
# https://spec.draculatheme.com
#
# Instructions
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
[colors.primary]
background = "#282a36"
foreground = "#f8f8f2"
bright_foreground = "#ffffff"
[colors.cursor]
text = "#282a36"
cursor = "#f8f8f2"
[colors.vi_mode_cursor]
text = "CellBackground"
cursor = "CellForeground"
[colors.selection]
text = "CellForeground"
background = "#44475a"
[colors.normal]
black = "#21222c"
red = "#ff5555"
green = "#50fa7b"
yellow = "#f1fa8c"
blue = "#bd93f9"
magenta = "#ff79c6"
cyan = "#8be9fd"
white = "#f8f8f2"
[colors.bright]
black = "#6272a4"
red = "#ff6e6e"
green = "#69ff94"
yellow = "#ffffa5"
blue = "#d6acff"
magenta = "#ff92df"
cyan = "#a4ffff"
white = "#ffffff"
[colors.search.matches]
foreground = "#44475a"
background = "#50fa7b"
[colors.search.focused_match]
foreground = "#44475a"
background = "#ffb86c"
[colors.footer_bar]
background = "#282a36"
foreground = "#f8f8f2"
[colors.hints.start]
foreground = "#282a36"
background = "#f1fa8c"
[colors.hints.end]
foreground = "#f1fa8c"
background = "#282a36"

View File

@@ -0,0 +1,25 @@
# Colors (Gruvbox Material Dark Medium)
[colors.primary]
background = '#282828'
foreground = '#dfbf8e'
[colors.normal]
black = '#665c54'
red = '#ea6962'
green = '#a9b665'
yellow = '#e78a4e'
blue = '#7daea3'
magenta = '#d3869b'
cyan = '#89b482'
white = '#dfbf8e'
[colors.bright]
black = '#928374'
red = '#ea6962'
green = '#a9b665'
yellow = '#e3a84e'
blue = '#7daea3'
magenta = '#d3869b'
cyan = '#89b482'
white = '#dfbf8e'

View File

@@ -0,0 +1,38 @@
# Colors (Kanagawa Dragon)
# Source https//github.com/rebelot/kanagawa.nvim
[colors.primary]
background = '#181616'
foreground = '#c5c9c5'
[colors.normal]
black = '#0d0c0c'
blue = '#8ba4b0'
cyan = '#8ea4a2'
green = '#8a9a7b'
magenta = '#a292a3'
red = '#c4746e'
white = '#C8C093'
yellow = '#c4b28a'
[colors.bright]
black = '#a6a69c'
blue = '#7FB4CA'
cyan = '#7AA89F'
green = '#87a987'
magenta = '#938AA9'
red = '#E46876'
white = '#c5c9c5'
yellow = '#E6C384'
[colors.selection]
background = '#2d4f67'
foreground = '#c8c093'
[[colors.indexed_colors]]
index = 16
color = '#ffa066'
[[colors.indexed_colors]]
index = 17
color = '#ff5d62'

View File

@@ -205,3 +205,6 @@ vim.lsp.enable {
'yamlls', 'yamlls',
'ty', 'ty',
} }
vim.o.background = "dark"
vim.cmd([[colorscheme gruvbox-material]])

View File

@@ -1,6 +1,7 @@
return { return {
'vyfor/cord.nvim', 'vyfor/cord.nvim',
build = ':Cord update', build = ':Cord update',
priority = 15,
-- opts = {} -- opts = {}
-- } -- }
} }

View File

@@ -0,0 +1 @@
return { "sainnhe/gruvbox-material", priority = 1000 , config = true}

View File

@@ -0,0 +1,96 @@
return {
'nvim-lualine/lualine.nvim',
opts = {
options = {
section_separators = { left = '', right = '' },
component_separators = { left = '|', right = '|' },
theme = vim.g.colors_name,
refresh = {
statusline = 1000,
},
},
sections = {
lualine_c = {
{
'filename',
path = 1,
},
},
lualine_x = {
{
'lsp_status',
icon = '', -- f013
symbols = {
-- Standard unicode symbols to cycle through for LSP progress:
-- spinner
-- =
-- {
-- '⠋',
-- '⠙',
-- '⠹',
-- '⠸',
-- '⠼',
-- '⠴',
-- '⠦',
-- '⠧',
-- '⠇',
-- '⠏'
-- },
-- --
-- Standard
-- unicode
-- symbol
-- for
-- when
-- LSP
-- is
-- done:
-- done
-- =
-- '✓',
-- --
-- Delimiter
-- inserted
-- between
-- LSP
-- names:
-- separator
-- =
-- '
-- ',
-- },
-- --
-- List
-- of
-- LSP
-- names
-- to
-- ignore
-- (e.g.,
-- `null-ls`):
-- ignore_lsp
-- =
-- {},
-- --
-- Display
-- the
-- LSP
-- name
-- show_name
-- =
-- true,
-- },
-- 'encoding',
-- 'fileformat',
-- 'filetype',
-- },
-- },
-- },
-- }
}
}
}
}
}
}

View File

@@ -1,5 +1,5 @@
return { return {
'echasnovski/mini.nvim', 'nvim-mini/mini.nvim',
config = function() config = function()
require('mini.ai').setup { n_lines = 500 } require('mini.ai').setup { n_lines = 500 }
require('mini.surround').setup { require('mini.surround').setup {
@@ -14,27 +14,30 @@ return {
} }
require('mini.pairs').setup() require('mini.pairs').setup()
require('mini.icons').setup() require('mini.icons').setup()
require('mini.statusline').setup({ -- require('mini.statusline').setup({
content = { -- content = {
active = function() -- active = function()
local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 }) -- local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 })
local git = MiniStatusline.section_git({ trunc_width = 40 }) -- local git = MiniStatusline.section_git({ trunc_width = 40 })
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 }) -- local diff = MiniStatusline.section_diff({ trunc_width = 75 })
local lsp = MiniStatusline.section_lsp({ trunc_width = 75 }) -- local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
local filename = MiniStatusline.section_filename({trunc_width=1000}) -- local lsp = MiniStatusline.section_lsp({ trunc_width = 75 })
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 }) -- local filename = MiniStatusline.section_filename({ trunc_width = 140 })
-- local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
return MiniStatusline.combine_groups({ -- local location = MiniStatusline.section_location({ trunc_width = 75 })
{ hl = mode_hl, strings = { mode } }, -- local search = MiniStatusline.section_searchcount({ trunc_width = 75 })
{ hl = 'MiniStatuslineDevinfo', strings = { git, diagnostics, lsp } }, --
'%<', -- Mark truncation point -- return MiniStatusline.combine_groups({
{ hl = 'MiniStatuslineFilename', strings = { filename} }, -- { hl = mode_hl, strings = { mode } },
'%=', -- Fill rest of screen -- { hl = 'MiniStatuslineDevinfo', strings = { git, diagnostics, diff } },
{ hl = 'MiniStatuslineFileinfo', strings = { fileinfo } }, -- '%<', -- Mark truncation point
{ hl = mode_hl, strings = { location } }, -- { hl = 'MiniStatuslineFilename', strings = { filename } },
}) -- '%=', -- Fill rest of screen
end, -- { hl = 'MiniStatuslineFileinfo', strings = { lsp, fileinfo } },
}, -- { hl = mode_hl, strings = { location } },
}) -- })
-- end,
-- },
-- })
end, end,
} }

View File

@@ -8,9 +8,9 @@ return {
enabled = true, enabled = true,
timeout = 3000, timeout = 3000,
}, },
git = { enabled = true },
picker = { enabled = true }, picker = { enabled = true },
quickfile = { enabled = true }, quickfile = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = true }, words = { enabled = true },
styles = { styles = {
notification = { notification = {

View File

@@ -1 +1,15 @@
return { "rebelot/kanagawa.nvim", priority = 1000 } return { {
'Mofiqul/dracula.nvim',
lazy = false,
priority = 1000,
},
{ "ellisonleao/gruvbox.nvim", priority = 1000 , config = true },
{ "rebelot/kanagawa.nvim", priority = 1000 , config = true },
{
'f4z3r/gruvbox-material.nvim',
name = 'gruvbox-material',
lazy = false,
priority = 1000,
opts = {},
},
}

View File

@@ -0,0 +1,221 @@
# vim:fileencoding=utf-8:foldmethod=marker
# : Manager {{{
[mgr]
cwd = { fg = "#83a598" }
# Find
find_keyword = { fg = "#b8bb26", bold = true, italic = true, underline = true }
find_position = { fg = "#fe8019", bg = "reset", bold = true, italic = true }
# Symlink
symlink_target = { italic = true }
# Marker
marker_copied = { fg = "#8ec07c", bg = "#8ec07c" }
marker_cut = { fg = "#d3869b", bg = "#d3869b" }
marker_marked = { fg = "#83a598", bg = "#83a598" }
marker_selected = { fg = "#fbf1c7", bg = "#fbf1c7" }
# Count
count_copied = { fg = "#282828", bg = "#8ec07c" }
count_cut = { fg = "#282828", bg = "#d3869b" }
count_selected = { fg = "#282828", bg = "#fbf1c7" }
# Border
border_symbol = "│"
border_style = { fg = "#665c54" }
# : }}}
# : Tabs {{{
[tabs]
active = { fg = "#282828", bg = "#a89984" }
inactive = { fg = "#a89984", bg = "#504945" }
# Separator
sep_inner = { open = "", close = "" }
sep_outer = { open = "", close = "" }
# : }}}
# : Mode {{{
[mode]
normal_main = { fg = "#282828", bg = "#a89984", bold = true }
normal_alt = { fg = "#a89984", bg = "#504945" }
# Select mode
select_main = { fg = "#282828", bg = "#fe8019", bold = true }
select_alt = { fg = "#a89984", bg = "#504945" }
# Unset mode
unset_main = { fg = "#282828", bg = "#b8bb26", bold = true }
unset_alt = { fg = "#a89984", bg = "#504945" }
# : }}}
# : Indicator of hovered file {{{
[indicator]
parent = { reversed = true }
current = { reversed = true }
preview = { underline = true }
padding = { open = "█", close = "█" }
# : }}}
# : Status {{{
[status]
overall = { }
sep_left = { open = "\ue0be", close = "\ue0b8" }
sep_right = { open = "\ue0be", close = "\ue0b8" }
# Permissions
perm_sep = { fg = "#665c54" }
perm_type = { fg = "#504945" }
perm_read = { fg = "#b8bb26" }
perm_write = { fg = "#fb4934" }
perm_exec = { fg = "#b8bb26" }
# Progress
progress_label = { fg = "#ebdbb2", bold = true }
progress_normal = { fg = "#504945", bg = "#3c3836" }
progress_error = { fg = "#fb4934", bg = "#3c3836" }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "#3c3836" }
cand = { fg = "#83a598" }
rest = { fg = "#928374" }
desc = { fg = "#fe8019" }
separator = "  "
separator_style = { fg = "#504945" }
# : }}}
# : Confirmation {{{
[confirm]
border = { fg = "#a89984" }
title = { fg = "#83a598" }
body = { fg = "#fbf1c7" }
list = { fg = "#ebdbb2" }
btn_yes = { reversed = true, fg = "#ebdbb2" }
btn_no = {}
btn_labels = [ " [Y]es ", " (N)o " ]
# : }}}
# : Spotter {{{
[spot]
border = { fg = "#83a598" }
title = { fg = "#83a598" }
# Table
tbl_col = { fg = "#83a598" }
tbl_cell = { fg = "#fabd2f", reversed = true }
# : }}}
# : Notification {{{
[notify]
title_info = { fg = "#8ec07c" }
title_warn = { fg = "#fbf1c7" }
title_error = { fg = "#d3869b" }
# : }}}
# : Picker {{{
[pick]
border = { fg = "#458588" }
active = { fg = "#d3869b", bold = true }
inactive = {}
# : }}}
# : Input {{{
[input]
border = { fg = "#ebdbb2" }
title = {}
value = {}
selected = { reversed = true }
# : }}}
# : Completion {{{
[cmp]
border = { fg = "#a89984" }
active = { reversed = true, fg = "#83a598" }
inactive = { fg = "#ebdbb2" }
# : Task manager {{{
[tasks]
border = { fg = "#504945" }
title = {}
hovered = { underline = true }
# : }}}
# : Help {{{
[help]
on = { fg = "#83a598" }
run = { fg = "#d3869b" }
desc = {}
hovered = { reversed = true, bold = true }
footer = { fg = "#3c3836", bg = "#a89984" }
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#d3869b" },
# Media
{ mime = "{audio,video}/*", fg = "#fabd2f" },
# Archives
{ mime = "application/*zip", fg = "#fb4934" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg =
"#fb4934" },
# Documents
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#689d6a" },
# Fallback
{ url = "*", fg = "#ebdbb2" },
{ url = "*/", fg = "#83a598" },
]
# : }}}

View File

@@ -0,0 +1,145 @@
## Color palette
## Check https://github.com/rebelot/kanagawa.nvim for more details
# sumiInk0 "#16161d" dark bg
# sumiInk3 "#181616" bg
# sumiInk4 "#0d0c0c"
# sumiInk6 "#54546d"
# fujiWhite "#c5c9c5" fg
# oldWhite "#7fb4ca" dark fg
# fujiGray "#a6a69c"
# peachRed "#ff5d62"
# autumnRed "#c4746e"
# crystalBlue "#8ba4b0"
# waveRed "#e46876"
# carpYellow "#e6c384"
# springGreen "#8a9a7b"
# autumnGreen "#76946a"
# oniViolet "#a292a3"
# waveAqua1 "#6a9589"
# surimiOrange "#e46876"
# waveAqua2 "#7aa89f"
[manager]
marker_copied = { fg = "#8a9a7b", bg = "#8a9a7b" }
marker_cut = { fg = "#e46876", bg = "#e46876" }
marker_marked = { fg = "#a292a3", bg = "#a292a3" }
marker_selected = { fg = "#e46876", bg = "#e46876" }
cwd = { fg = "#e6c384" }
hovered = { reversed = true }
preview_hovered = { reversed = true }
find_keyword = { fg = "#e46876", bg = "#181616" }
find_position = {}
tab_active = { reversed = true }
tab_inactive = {}
tab_width = 1
count_copied = { fg = "#181616", bg = "#8a9a7b" }
count_cut = { fg = "#181616", bg = "#e46876" }
count_selected = { fg = "#181616", bg = "#e6c384" }
border_symbol = "│"
border_style = { fg = "#c5c9c5" }
[mode]
normal_main = { fg = "#181616", bg = "#8ba4b0" }
normal_alt = { fg = "#8ba4b0", bg = "#0d0c0c" }
select_main = { fg = "#181616", bg = "#a292a3" }
select_alt = { fg = "#a292a3", bg = "#0d0c0c" }
unset_main = { fg = "#181616", bg = "#e6c384" }
unset_alt = { fg = "#e6c384", bg = "#0d0c0c" }
[status]
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
overall = { fg = "#7fb4ca", bg = "#16161d" }
progress_label = { fg = "#8ba4b0", bg = "#0d0c0c", bold = true }
progress_normal = { fg = "#0d0c0c", bg = "#181616" }
progress_error = { fg = "#0d0c0c", bg = "#181616" }
perm_type = { fg = "#8a9a7b" }
perm_read = { fg = "#e6c384" }
perm_write = { fg = "#ff5d62" }
perm_exec = { fg = "#7aa89f" }
perm_sep = { fg = "#a292a3" }
[pick]
border = { fg = "#8ea4a2" }
active = { fg = "#a292a3", bold = true }
inactive = {}
[input]
border = { fg = "#8ea4a2" }
title = {}
value = {}
selected = { reversed = true }
[completion]
border = { fg = "#8ea4a2" }
active = { reversed = true }
inactive = {}
[tasks]
border = { fg = "#8ea4a2" }
title = {}
hovered = { fg = "#a292a3" }
[which]
cols = 2
separator = " - "
separator_style = { fg = "#a6a69c" }
mask = { bg = "#16161d" }
rest = { fg = "#a6a69c" }
cand = { fg = "#8ba4b0" }
desc = { fg = "#54546d" }
[help]
on = { fg = "#7aa89f" }
run = { fg = "#a292a3" }
desc = {}
hovered = { reversed = true, bold = true }
footer = { fg = "#181616", bg = "#c5c9c5" }
[notify]
title_info = { fg = "#8a9a7b" }
title_warn = { fg = "#e6c384" }
title_error = { fg = "#ff5d62" }
[filetype]
rules = [
# images
{ mime = "image/*", fg = "#e6c384" },
# media
{ mime = "{audio,video}/*", fg = "#a292a3" },
# archives
{ mime =
"application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}",
fg = "#e46876" },
# documents
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg =
"#6a9589" },
# broken links
{ name = "*", is = "orphan", fg =
"#c4746e" },
# executables
{ name = "*", is = "exec", fg =
"#76946a" },
# fallback
{ name = "*", fg =
"#c5c9c5" },
{ name = "*/", fg =
"#8ba4b0" },
]
]