From 76da4a2bbf79a7ebef5ed73d2ddb64502a3cf1ef Mon Sep 17 00:00:00 2001 From: Eli Fouts <116454864+elifouts@users.noreply.github.com> Date: Sat, 18 Jan 2025 07:46:53 -0500 Subject: [PATCH] Big Nvim Update --- .config/cava/config | 4 +- .config/hypr/hyprland.conf | 18 ++-- .config/hypr/wallpaper.sh | 2 + .config/kitty/current-theme.conf | 52 +++++------ .config/nvim/init.lua | 53 ----------- .config/nvim/lazy-lock.json | 26 +++--- .config/nvim/lua/plugins/alpha.lua | 92 ++++++++++++++++--- .config/nvim/lua/plugins/cmdline.lua | 38 ++++++++ .config/nvim/lua/plugins/colors.lua | 10 +- .../{completions.lua => completions.txt} | 0 .config/nvim/lua/plugins/git.lua | 55 ++++++++++- .config/nvim/lua/plugins/glow.lua | 8 ++ .config/nvim/lua/plugins/icons.lua | 19 ++++ .config/nvim/lua/plugins/lualine.lua | 16 +++- .config/nvim/lua/plugins/snacks.lua | 76 +++++++++++++++ .config/nvim/lua/plugins/tab.lua | 20 ++++ .config/nvim/lua/plugins/telescope.lua | 66 ++++++++++++- .config/swaync/style.css | 2 +- .config/waybar/refresh.sh | 2 - .config/waybar/style.css | 2 +- .config/wofi/style.css | 9 +- .config/wofi/style1.css | 5 +- readme.md | 3 - 23 files changed, 444 insertions(+), 134 deletions(-) create mode 100644 .config/nvim/lua/plugins/cmdline.lua rename .config/nvim/lua/plugins/{completions.lua => completions.txt} (100%) create mode 100644 .config/nvim/lua/plugins/glow.lua create mode 100644 .config/nvim/lua/plugins/icons.lua create mode 100644 .config/nvim/lua/plugins/snacks.lua create mode 100644 .config/nvim/lua/plugins/tab.lua diff --git a/.config/cava/config b/.config/cava/config index a9793a0..43ed94f 100644 --- a/.config/cava/config +++ b/.config/cava/config @@ -1,6 +1,6 @@ [color] gradient = 1 gradient_count = 2 -gradient_color_1 = '#4b4d3f' -gradient_color_2 = '#69562a' +gradient_color_1 = '#393b3b' +gradient_color_2 = '#484b48' diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 2f7431d..834b24d 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -12,7 +12,7 @@ exec-once = swaync && swaync-client -df env = XCURSOR_THEME,Bibata-Modern-Classic env = XCURSOR_SIZE,12 general { - gaps_in = 2 + gaps_in = 2 gaps_out = 15 border_size = 1 col.active_border = $color9 @@ -22,12 +22,12 @@ general { layout = dwindle } decoration { - rounding = 10 + rounding = 10 active_opacity = 0.8 inactive_opacity = 0.5 fullscreen_opacity = 1 blur { - enabled = true + enabled = true size = 3 passes = 5 new_optimizations = true @@ -36,14 +36,14 @@ decoration { popups = true } shadow { - enabled = true + enabled = true range = 15 render_power = 3 color = $color0 } } animations { - enabled = true + enabled = true bezier = linear, 0,0,1,1 bezier = swirl, 0.04, 1, 0.2, 1.2 animation = windows, 1, 4, swirl, popin 0% @@ -56,12 +56,12 @@ dwindle { preserve_split = true } misc { - force_default_wallpaper = 1 + force_default_wallpaper = 1 disable_hyprland_logo = true } input { - kb_layout = us + kb_layout = us follow_mouse = 1 sensitivity = 0 touchpad { @@ -69,13 +69,13 @@ input { } } gestures { - workspace_swipe = true + workspace_swipe = true workspace_swipe_distance = 300 workspace_swipe_cancel_ratio = .05 workspace_swipe_min_speed_to_force = 0 } device { - name = epic-mouse-v1 + name = epic-mouse-v1 sensitivity = 0 } $mainMod = SUPER diff --git a/.config/hypr/wallpaper.sh b/.config/hypr/wallpaper.sh index 7be644f..c654efe 100755 --- a/.config/hypr/wallpaper.sh +++ b/.config/hypr/wallpaper.sh @@ -18,5 +18,7 @@ main() { sed -i "s/^gradient_color_1 = .*/gradient_color_1 = '$color1'/" $cava_config sed -i "s/^gradient_color_2 = .*/gradient_color_2 = '$color2'/" $cava_config pkill -USR2 cava || cava -p $cava_config + source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/wallpapers/pywallpaper.jpg + rm -rf /home/eli/.cache/nvim/snacks } main diff --git a/.config/kitty/current-theme.conf b/.config/kitty/current-theme.conf index 949bebd..55e10bf 100644 --- a/.config/kitty/current-theme.conf +++ b/.config/kitty/current-theme.conf @@ -1,30 +1,30 @@ -foreground #c6c6c3 -background #1b1b12 +foreground #c3c5c6 +background #121a1b background_opacity 1.0 -cursor #c6c6c3 +cursor #c3c5c6 -active_tab_foreground #1b1b12 -active_tab_background #c6c6c3 -inactive_tab_foreground #c6c6c3 -inactive_tab_background #1b1b12 +active_tab_foreground #121a1b +active_tab_background #c3c5c6 +inactive_tab_foreground #c3c5c6 +inactive_tab_background #121a1b -active_border_color #c6c6c3 -inactive_border_color #1b1b12 -bell_border_color #393c37 +active_border_color #c3c5c6 +inactive_border_color #121a1b +bell_border_color #2d4b34 -color0 #1b1b12 -color8 #71715c -color1 #393c37 -color9 #4D514A -color2 #4b4d3f -color10 #656755 -color3 #69562a -color11 #8D7338 -color4 #6a5838 -color12 #8E764B -color5 #7d6c3c -color13 #A79050 -color6 #967d3c -color14 #C8A751 -color7 #9b9b90 -color15 #c6c6c3 +color0 #121a1b +color8 #5c7171 +color1 #2d4b34 +color9 #3D6446 +color2 #393b3b +color10 #4C4F4F +color3 #484b48 +color11 #616561 +color4 #69514c +color12 #8C6D66 +color5 #53674d +color13 #6F8A67 +color6 #66695a +color14 #888D78 +color7 #90989b +color15 #c3c5c6 diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 3794f19..a1dd071 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -15,56 +15,3 @@ vim.cmd("set number") require("vim-options") require("lazy").setup("plugins") vim.opt.termguicolors = true -local pywal = require('pywal') -pywal.setup() - -require('gitsigns').setup { - signs = { - add = { text = '┃' }, - change = { text = '┃' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - untracked = { text = '┆' }, - }, - signs_staged = { - add = { text = '┃' }, - change = { text = '┃' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - untracked = { text = '┆' }, - }, - signs_staged_enable = true, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - follow_files = true - }, - auto_attach = true, - attach_to_untracked = false, - current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' - delay = 1000, - ignore_whitespace = false, - virt_text_priority = 100, - use_focus = true, - }, - current_line_blame_formatter = ', - ', - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 40000, -- Disable if file is longer than this (in lines) - preview_config = { - -- Options passed to nvim_open_win - border = 'single', - style = 'minimal', - relative = 'cursor', - row = 0, - col = 1 - }, -} diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index f4bbdb0..7c909bf 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,19 +1,21 @@ { - "LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" }, "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, - "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, - "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, - "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, + "gitsigns.nvim": { "branch": "main", "commit": "817bd848fffe82e697b4da656e3f2834cd0665c5" }, + "glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" }, + "lazy.nvim": { "branch": "main", "commit": "d8f26efd456190241afd1b0f5235fe6fdba13d4a" }, "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, + "mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "e6645ecfcba3e064446a6def1c10d788c9873f51" }, + "noice.nvim": { "branch": "main", "commit": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f" }, "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, - "nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" }, - "nvim-treesitter": { "branch": "master", "commit": "2405274937718d520a40e03df92030dca6b4f0fd" }, - "nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" }, - "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "pywal": { "branch": "main", "commit": "d11b673c0e3d6eb8cbee7ea8cf4a8911f6ee24b9" }, + "nvim-notify": { "branch": "master", "commit": "a3020c2cf4dfc4c4f390c4a21e84e35e46cf5d17" }, + "nvim-treesitter": { "branch": "master", "commit": "5da195ac3dfafd08d8b10756d975f0e01e1d563a" }, + "nvim-web-devicons": { "branch": "master", "commit": "aafa5c187a15701a7299a392b907ec15d9a7075f" }, + "plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" }, + "pywal.nvim": { "branch": "main", "commit": "d11b673c0e3d6eb8cbee7ea8cf4a8911f6ee24b9" }, + "snacks.nvim": { "branch": "main", "commit": "0b67934bb9c2ba4b9797759315d8cec1734209e8" }, + "tabline.nvim": { "branch": "main", "commit": "ff33d12a20d52daafa5393162cae4108faf8128b" }, + "telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" } } diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/plugins/alpha.lua index 14b8711..b9881a9 100644 --- a/.config/nvim/lua/plugins/alpha.lua +++ b/.config/nvim/lua/plugins/alpha.lua @@ -5,21 +5,89 @@ return { }, config = function() - local alpha = require("alpha") - local dashboard = require("alpha.themes.startify") + local dashboard = require("alpha.themes.dashboard") + vim.cmd("source ~/.cache/wal/colors-wal.vim") + local color9 = vim.g.color9 or "#ffffff" + local color3 = vim.g.color3 or "#ffffff" + local color4 = vim.g.color4 or "#ffffff" + local color5 = vim.g.color5 or "#ffffff" + local color6 = vim.g.color6 or "#ffffff" - dashboard.section.header.val = { -[[ ██████████ █████████  ]], -[[ ████████████ ████████████████ █ ██ ]], -[[ ██ ███ █████ ██ ]], -[[ ██████████ ██████████ ████████ ███ ███████████ ]], -[[ ██████████ ██████████ ████████ █████ ██████████████ ]], -[[ ██ ██ ███████ █████ █████ ████ █████ ]], -[[ ██████████ ██ ██████ █████ █████ ████ █████ ]], -[[ ████████████ ██ ███ ████ █████ █████ ████ ██████ ]], + -- helper function for utf8 chars + local function getCharLen(s, pos) + local byte = string.byte(s, pos) + if not byte then + return nil + end + return (byte < 0x80 and 1) or (byte < 0xE0 and 2) or (byte < 0xF0 and 3) or (byte < 0xF8 and 4) or 1 + end + + local function applyColors(logo, colors, logoColors) + dashboard.section.header.val = logo + + for key, color in pairs(colors) do + local name = "Alpha" .. key + vim.api.nvim_set_hl(0, name, color) + colors[key] = name + end + + dashboard.section.header.opts.hl = {} + for i, line in ipairs(logoColors) do + local highlights = {} + local pos = 0 + + for j = 1, #line do + local opos = pos + pos = pos + getCharLen(logo[i], opos + 1) + + local color_name = colors[line:sub(j, j)] + if color_name then + table.insert(highlights, { color_name, opos, pos }) + end + end + + table.insert(dashboard.section.header.opts.hl, highlights) + end + return dashboard.opts + end + + require("alpha").setup(applyColors({ + [[███████╗ ██████╗ ]], + [[██╔════╝ ██╔═══╝ ]], + [[█████╗ ██████╗ ]], + [[██╔══╝ ██╔═══╝ ]], + [[███████╗ ██║ ]], + [[╚══════╝ ╚═╝ ]], + [[N E O V I M ]], + }, { + ["a"] = { fg = color9, ctermfg = 33}, + ["b"] = { fg = color3, ctermfg = 33}, + ["c"] = { fg = color4, ctermfg = 33}, + ["d"] = { fg = color5, ctermfg = 33}, + ["e"] = { fg = color6, ctermfg = 33}, + }, { + [[bbbbbbba cccccca ]], + [[bbaaaaaa ccaaaaa ]], + [[bbbbba cccccca ]], + [[bbaaaa ccaaaaa ]], + [[bbbbbbba cca ]], + [[aaaaaaaa aaa ]], + [[d d d e e e ]], + })) + dashboard.section.buttons.val = { + dashboard.button( "e", " > New file" , ":ene startinsert "), + dashboard.button( "f", " > Find file", ":lua require('telescope.builtin').find_files({ find_command = { 'rg', '--files' } })"), + dashboard.button( "F", "󰥨 > Find folder", ":lua search_and_scope_into_directory()"), + dashboard.button( "r", " > Recent" , ":Telescope oldfiles"), + dashboard.button( "c", " > Config" , ":cd ~/.config/nvim | Telescope find_files"), + dashboard.button( "l", "󰒲 > Lazy", ":Lazy"), + dashboard.button( "q", " > Quit", ":qa"), } + dashboard.section.footer.val = { + "", + "Welcome!", + } - alpha.setup(dashboard.opts) end, } diff --git a/.config/nvim/lua/plugins/cmdline.lua b/.config/nvim/lua/plugins/cmdline.lua new file mode 100644 index 0000000..c949a52 --- /dev/null +++ b/.config/nvim/lua/plugins/cmdline.lua @@ -0,0 +1,38 @@ +return { + "folke/noice.nvim", + event = "VeryLazy", + opts = { + -- add any options here + }, + dependencies = { + "MunifTanjim/nui.nvim", + "rcarriga/nvim-notify", + }, + config = function() + vim.cmd("source ~/.cache/wal/colors-wal.vim") + local color9 = vim.g.color9 or "#808080" + local color5 = vim.g.color5 or "#ffffff" + require("noice").setup({ + lsp = { + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, + }, + }, + presets = { + bottom_search = false, + command_palette = true, + long_message_to_split = true, + inc_rename = false, + lsp_doc_border = false, + }, + }) + vim.cmd('highlight NoiceCmdlineIcon guifg=' .. color9) + vim.cmd('highlight NoiceCmdlinePopupBorder guifg=' .. color5) + vim.cmd('highlight NotifyINFOBorder guifg=' .. color5) + vim.cmd('highlight NotifyINFOIcon guifg=' .. color9) + vim.cmd('highlight NotifyINFOTitle guifg=' .. color5) + end, +} + diff --git a/.config/nvim/lua/plugins/colors.lua b/.config/nvim/lua/plugins/colors.lua index 69e1053..cd76f87 100644 --- a/.config/nvim/lua/plugins/colors.lua +++ b/.config/nvim/lua/plugins/colors.lua @@ -1,3 +1,11 @@ return { - { 'AlphaTechnolog/pywal.nvim', name = 'pywal' } + "AlphaTechnolog/pywal.nvim", + lazy = false, -- Load immediately on startup + priority = 1000, -- Ensure it loads before other colorscheme plugins + config = function() + -- Set up pywal and load the colors + require("pywal").setup() + + end, } + diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.txt similarity index 100% rename from .config/nvim/lua/plugins/completions.lua rename to .config/nvim/lua/plugins/completions.txt diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua index b7077f4..622d2a1 100644 --- a/.config/nvim/lua/plugins/git.lua +++ b/.config/nvim/lua/plugins/git.lua @@ -1,3 +1,56 @@ return { - "lewis6991/gitsigns.nvim" + "lewis6991/gitsigns.nvim", -- Add a comma here + config = function() + require('gitsigns').setup { + signs = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged_enable = true, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + follow_files = true + }, + auto_attach = true, + attach_to_untracked = false, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + virt_text_priority = 100, + use_focus = true, + }, + current_line_blame_formatter = ', - ', + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, -- Disable if file is longer than this (in lines) + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + } + end } + diff --git a/.config/nvim/lua/plugins/glow.lua b/.config/nvim/lua/plugins/glow.lua new file mode 100644 index 0000000..e454c9e --- /dev/null +++ b/.config/nvim/lua/plugins/glow.lua @@ -0,0 +1,8 @@ +return { + "ellisonleao/glow.nvim", + config = function() + require('glow').setup() + end, + cmd = "Glow", +} + diff --git a/.config/nvim/lua/plugins/icons.lua b/.config/nvim/lua/plugins/icons.lua new file mode 100644 index 0000000..5c6e27a --- /dev/null +++ b/.config/nvim/lua/plugins/icons.lua @@ -0,0 +1,19 @@ +return { + "echasnovski/mini.icons", + lazy = true, + opts = { + file = { + [".keep"] = { glyph = "󰊢", hl = "MiniIconsGrey" }, + ["devcontainer.json"] = { glyph = "", hl = "MiniIconsAzure" }, + }, + filetype = { + dotenv = { glyph = "", hl = "MiniIconsYellow" }, + }, + }, + init = function() + package.preload["nvim-web-devicons"] = function() + require("mini.icons").mock_nvim_web_devicons() + return package.loaded["nvim-web-devicons"] + end + end, +} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index 115aef6..5ab7963 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -1,6 +1,6 @@ return { "nvim-lualine/lualine.nvim", - dependencies = { "nvim-tree/nvim-web-devicons" }, + dependencies = { "nvim-tree/nvim-web-devicons","kdheepak/tabline.nvim" }, config = function() require('lualine').setup { @@ -9,6 +9,7 @@ return { theme = 'auto', component_separators = '', section_separators = { left = '', right = '' }, + component_separators = {'', ''}, disabled_filetypes = { statusline = {}, winbar = {}, @@ -25,8 +26,8 @@ return { }, sections = { lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = {'filepath','filename'}, + lualine_b = {}, + lualine_c = {}, lualine_x = {'filetype'}, lualine_y = {'progress'}, lualine_z = {'location'} @@ -39,7 +40,14 @@ return { lualine_y = {}, lualine_z = {} }, - tabline = {}, + tabline = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { require'tabline'.tabline_buffers }, + lualine_x = { require'tabline'.tabline_tabs }, + lualine_y = {}, + lualine_z = {}, + }, winbar = {}, inactive_winbar = {}, extensions = {} diff --git a/.config/nvim/lua/plugins/snacks.lua b/.config/nvim/lua/plugins/snacks.lua new file mode 100644 index 0000000..c4661df --- /dev/null +++ b/.config/nvim/lua/plugins/snacks.lua @@ -0,0 +1,76 @@ +return { + "folke/snacks.nvim", + priority = 1000, + lazy = false, + ---@type snacks.Config + opts = { + bigfile = { enabled = true }, + dashboard = { + sections = { + { + section = "terminal", + cmd = "chafa ~/wallpapers/pywallpaper.jpg --format symbols --symbols vhalf --size 60x17 --stretch;", + height = 17, + padding = 1, + }, + { + pane = 2, + { section = "keys", gap = 1, padding = 1 }, + { section = "startup" }, + }, + }, + }, + indent = { enabled = true }, + input = { enabled = true }, + quickfile = { enabled = true }, + scroll = { enabled = true }, + statuscolumn = { enabled = true }, + words = { enabled = true }, + }, + keys = { + { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, + { "s", function() Snacks.scratch() end, desc = "Toggle Scratch Buffer" }, + { "S", function() Snacks.scratch.select() end, desc = "Select Scratch Buffer" }, + { "", function() Snacks.terminal() end, desc = "Toggle Terminal" }, + { "gB", function() Snacks.gitbrowse() end, desc = "Git Browse", mode = { "n", "v" } }, + { "gb", function() Snacks.git.blame_line() end, desc = "Git Blame Line" }, + { "gf", function() Snacks.lazygit.log_file() end, desc = "Lazygit Current File History" }, + { "gg", function() Snacks.lazygit() end, desc = "Lazygit" }, + { "gl", function() Snacks.lazygit.log() end, desc = "Lazygit Log (cwd)" }, + { + "N", + desc = "Neovim News", + function() + Snacks.win({ + file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1], + width = 0.6, + height = 0.8, + wo = { + spell = false, + wrap = false, + signcolumn = "yes", + statuscolumn = " ", + conceallevel = 3, + }, + }) + end, + } + }, + init = function() + vim.api.nvim_create_autocmd("User", { + pattern = "VeryLazy", + callback = function() + _G.dd = function(...) + Snacks.debug.inspect(...) + end + _G.bt = function() + Snacks.debug.backtrace() + end + vim.print = _G.dd + -- Create some toggle mappings + Snacks.toggle.option("spell", { name = "Spelling" }):map("us") + Snacks.toggle.option("wrap", { name = "Wrap" }):map("uw") + end, + }) + end, +} diff --git a/.config/nvim/lua/plugins/tab.lua b/.config/nvim/lua/plugins/tab.lua new file mode 100644 index 0000000..c686731 --- /dev/null +++ b/.config/nvim/lua/plugins/tab.lua @@ -0,0 +1,20 @@ +return { + 'kdheepak/tabline.nvim', + config = function() + require'tabline'.setup { + enable = true, + options = { + section_separators = { '','' }, + component_separators = {'', ''}, + max_bufferline_percent = 80, + show_tabs_always = true, + show_devicons = true, + show_bufnr = false, + show_filename_only = true, + modified_italic = true, + show_tabs_only = false, + } + } + end, + requires = {'hoob3rt/lualine.nvim', 'kyazdani42/nvim-web-devicons'} +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 2590b1a..d64e673 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -7,7 +7,30 @@ return { local builtin = require("telescope.builtin") vim.keymap.set("n", "", builtin.find_files, {}) vim.keymap.set("n", "", builtin.live_grep, {}) - end, + + -- Function for searching and scoping into a directory + function search_and_scope_into_directory() + builtin.find_files({ + prompt_title = "Search Directories", + find_command = {"fd", "--type", "d", "--hidden", "--follow"}, + attach_mappings = function(prompt_bufnr, map) + local actions = require("telescope.actions") + actions.select_default:replace(function() + local selection = require("telescope.actions.state").get_selected_entry() + local selected_dir = selection.path + + -- Change the current working directory to the selected directory + vim.cmd("cd " .. selected_dir) + actions.close(prompt_bufnr) + end) + return true + end, + }) + end + + -- Keybinding to trigger directory search and scoping + vim.keymap.set("n", "", search_and_scope_into_directory) + end }, { "nvim-telescope/telescope-ui-select.nvim", @@ -18,8 +41,49 @@ return { require("telescope.themes").get_dropdown({}), }, }, + defaults = { + file_ignore_patterns = { + "node_modules", "build", "dist", "yarn.lock" + }, + vimgrep_arguments = { + "rg", + "--follow", + "--hidden", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + "--glob=!**/.git/*", + "--glob=!**/.idea/*", + "--glob=!**/.vscode/*", + "--glob=!**/build/*", + "--glob=!**/dist/*", + "--glob=!**/yarn.lock", + "--glob=!**/package-lock.json", + }, + }, + + pickers = { + find_files = { + hidden = true, + find_command = { + "rg", + "--files", + "--hidden", + "--glob=!**/.git/*", + "--glob=!**/.idea/*", + "--glob=!**/.vscode/*", + "--glob=!**/build/*", + "--glob=!**/dist/*", + "--glob=!**/yarn.lock", + "--glob=!**/package-lock.json", + }, + }, + }, }) require("telescope").load_extension("ui-select") end, }, } + diff --git a/.config/swaync/style.css b/.config/swaync/style.css index 0614269..8f7a0b1 100644 --- a/.config/swaync/style.css +++ b/.config/swaync/style.css @@ -1,4 +1,4 @@ -@import url('/home/eli/.cache/wal/colors-waybar.css'); +@import url('../../.cache/wal/colors-waybar.css'); @define-color mpris-album-art-overlay alpha(@background, 0.55); @define-color mpris-button-hover alpha(@background, 0.50); @define-color text @color15; diff --git a/.config/waybar/refresh.sh b/.config/waybar/refresh.sh index 8d0f1db..bf64faf 100755 --- a/.config/waybar/refresh.sh +++ b/.config/waybar/refresh.sh @@ -4,10 +4,8 @@ if pgrep -x "waybar" > /dev/null; then # If running, kill the waybar process pkill -x "waybar" - echo "Waybar stopped." else # If not running, start waybar waybar & - echo "Waybar started." fi diff --git a/.config/waybar/style.css b/.config/waybar/style.css index e529f85..662d9ff 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,4 +1,4 @@ -@import url('/home/eli/.cache/wal/colors-waybar.css'); +@import url('../../.cache/wal/colors-waybar.css'); * { font-size:15px; diff --git a/.config/wofi/style.css b/.config/wofi/style.css index f664c65..0748f04 100644 --- a/.config/wofi/style.css +++ b/.config/wofi/style.css @@ -1,4 +1,5 @@ @import url('/home/eli/.cache/wal/colors-waybar.css'); + @define-color mauve @color9; @define-color red @color9; @define-color lavender @color7; @@ -28,9 +29,8 @@ window { } #inner-box { margin: 2px; - padding: 5px; + padding: 5px border: none; - } #outer-box { border: none; @@ -49,8 +49,9 @@ window { border: none; outline: none; color: @text; - box-shadow: 1px 1px 5px rgba(0, 0, 0, .2); + box-shadow: 1px 1px 5px rgba(0, 0, 0, .5); border-radius:10; + background-color: alpha(@background,.2); } #input image { border: none; @@ -64,7 +65,6 @@ window { #input:focus { outline: none; border: none; - box-shadow: 1px 1px 5px rgba(0, 0, 0, .2); border-radius:10; } #text { @@ -76,6 +76,7 @@ window { #entry { border: none; margin: 5px; + padding-left: 10px; } #entry arrow { border: none; diff --git a/.config/wofi/style1.css b/.config/wofi/style1.css index 8874000..e15615f 100644 --- a/.config/wofi/style1.css +++ b/.config/wofi/style1.css @@ -42,8 +42,9 @@ window { border: none; outline: none; color: @text; - box-shadow: 1px 1px 5px rgba(0, 0, 0, .2); + box-shadow: 1px 1px 5px rgba(0,0,0, .5); border-radius:10; + background-color: alpha(@background,.2); } #input image { border: none; @@ -58,7 +59,7 @@ window { #input:focus { outline: none; border: none; - box-shadow: 1px 1px 5px rgba(0, 0, 0, .2); + border-radius:10; } #text { diff --git a/readme.md b/readme.md index f1bf5aa..a61c771 100644 --- a/readme.md +++ b/readme.md @@ -21,9 +21,6 @@ If you do not want this, you can remove it in the Applications style.css and add -E ## My Applications - - -
🖥️ Waybar