diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index bb5772f..d3d6e1b 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,6 +1,28 @@ vim.g.mapleader = " " require("junikim") + +local function script_path() + local str = debug.getinfo(2, 'S').source:sub(2) + return str:match('(.*' .. '/' .. ')') +end + +local themepkgs = {} +local success, theme = pcall(require, "themes") +if not success then + local file = io.open(script_path() .. './lua/themes/init.lua', 'w') + if file ~= nil then + file:write('return require("themes.catppuccin")') + file:close() + themepkgs = require("themes") + else + themepkgs = require("themes.everforest") + end +else + themepkgs = theme +end + + require("lazy").setup({ { import = 'junikim.plugins' }, - { import = 'arch2025.plugins', enabled = true } + themepkgs }) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index fb7ee00..144fff2 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -2,25 +2,29 @@ "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, - "everforest-nvim": { "branch": "main", "commit": "3598755ade98f87e66415cb0e15d3f99b895bdf8" }, "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, - "lazy.nvim": { "branch": "main", "commit": "ee64abc76be2b237b95d241a924b0323005b868a" }, + "gruvbox.nvim": { "branch": "main", "commit": "68c3460a5d1d1a362318960035c9f3466d5011f5" }, + "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" }, + "mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "none-ls.nvim": { "branch": "main", "commit": "c279e541f73a2deea9deb5231b9c037678dd6353" }, "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, - "nvim-cmp": { "branch": "main", "commit": "ca4d3330d386e76967e53b85953c170658255ecb" }, - "nvim-lspconfig": { "branch": "master", "commit": "47f236c058f0511702286a21ba53bbf42abbd8a8" }, - "nvim-tree.lua": { "branch": "master", "commit": "c7639482a1598f4756798df1b2d72f79fe5bb34f" }, - "nvim-treesitter": { "branch": "master", "commit": "53e20aa728713af5cb4a3e0e2dcfea18975d49fc" }, - "nvim-web-devicons": { "branch": "master", "commit": "21417212f640a1dad28a1408f04468819848f5e7" }, + "nvim-cmp": { "branch": "main", "commit": "3403e2e9391ed0a28c3afddd8612701b647c8e26" }, + "nvim-lspconfig": { "branch": "master", "commit": "4761665b4be82c46612cdfb4ea9c90de25875c4f" }, + "nvim-tree.lua": { "branch": "master", "commit": "375e38673b5c61debd8074ced01cfd4f3b7ce1e9" }, + "nvim-treesitter": { "branch": "master", "commit": "33d27173876499a0f037cb9edff90d583711b6ae" }, + "nvim-ufo": { "branch": "main", "commit": "95cbe2e99901135704aabdc8732d722cf68b12c9" }, + "nvim-web-devicons": { "branch": "master", "commit": "dd0c15170f9ab2ffac695d90212318c05078751d" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "vim-fugitive": { "branch": "master", "commit": "320b18fba2a4f2fe3c8225c778c687e0d2620384" }, - "vimtex": { "branch": "master", "commit": "44a2f1203ce2b6fcf1ff2b03aeca52c45f8a157e" } + "vimtex": { "branch": "master", "commit": "2b7784f8983187a9aa0210f93311f0e1ab1578e7" } } diff --git a/.config/nvim/lua/arch2025/init.lua b/.config/nvim/lua/arch2025/init.lua deleted file mode 100644 index e69de29..0000000 diff --git a/.config/nvim/lua/arch2025/plugins/lualine.lua b/.config/nvim/lua/arch2025/plugins/lualine.lua deleted file mode 100644 index 60f0a41..0000000 --- a/.config/nvim/lua/arch2025/plugins/lualine.lua +++ /dev/null @@ -1,31 +0,0 @@ -local function getWords() - local wordcount = vim.fn.wordcount() - if wordcount.visual_words ~= nil then - return tostring(wordcount.visual_words) .. "/" .. tostring(wordcount.words) .. " W" - end - return tostring(wordcount.words) .. " W" -end - -return { - 'nvim-lualine/lualine.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - init = function() - vim.opt.laststatus = 3 - end, - opts = { - options = { - icons_enabled = true, - theme = 'everforest', - section_separators = { left = '', right = '' }, - component_separators = { left = '', right = '' }, - }, - sections = { - lualine_a = { 'mode' }, - lualine_b = { 'branch', 'diff', 'diagnostics' }, - lualine_c = { 'filename' }, - lualine_x = { 'encoding', 'fileformat', 'filetype' }, - lualine_y = { getWords }, - --lualine_z = { [[require'lsp-status'.status()]] } - }, - } -} diff --git a/.config/nvim/lua/arch2025/plugins/theme.lua b/.config/nvim/lua/arch2025/plugins/theme.lua deleted file mode 100644 index e7dd375..0000000 --- a/.config/nvim/lua/arch2025/plugins/theme.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - "neanias/everforest-nvim", - version = false, - lazy = false, - priority = 1000, -- make sure to load this before all the other start plugins - -- Optional; default configuration will be used if setup isn't called. - config = function() - require("everforest").setup({ - -- Your config here - transparent_background_level = 1, - background = "medium", - }) - vim.cmd.colorscheme 'everforest' - end, -} diff --git a/.config/nvim/lua/junikim/bootstrap-lazy.lua b/.config/nvim/lua/junikim/bootstrap-lazy.lua deleted file mode 100644 index 4bf4cea..0000000 --- a/.config/nvim/lua/junikim/bootstrap-lazy.lua +++ /dev/null @@ -1,16 +0,0 @@ --- Bootstrap lazy.nvim -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - local lazyrepo = "https://github.com/folke/lazy.nvim.git" - local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) - if vim.v.shell_error ~= 0 then - vim.api.nvim_echo({ - { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, - { out, "WarningMsg" }, - { "\nPress any key to exit..." }, - }, true, {}) - vim.fn.getchar() - os.exit(1) - end -end -vim.opt.rtp:prepend(lazypath) diff --git a/.config/nvim/lua/junikim/init.lua b/.config/nvim/lua/junikim/init.lua index 005e867..5e2978d 100644 --- a/.config/nvim/lua/junikim/init.lua +++ b/.config/nvim/lua/junikim/init.lua @@ -1,4 +1,4 @@ vim.g.mapleader = " " -require("junikim.bootstrap-lazy") +require("junikim.bootstrap") require("junikim.options") require("junikim.remaps") diff --git a/.config/nvim/lua/junikim/options.lua b/.config/nvim/lua/junikim/options.lua index 7405529..d7f1370 100644 --- a/.config/nvim/lua/junikim/options.lua +++ b/.config/nvim/lua/junikim/options.lua @@ -13,7 +13,7 @@ vim.opt.textwidth = 80 vim.opt.colorcolumn = "80" vim.opt.list = true vim.opt.wrap = false -vim.opt.conceallevel = 0 +vim.opt.conceallevel = 1 vim.opt.splitbelow = false vim.opt.splitright = false diff --git a/.config/nvim/lua/junikim/plugins/autopairs.lua b/.config/nvim/lua/junikim/plugins/autopairs.lua index 06228d7..62ac821 100644 --- a/.config/nvim/lua/junikim/plugins/autopairs.lua +++ b/.config/nvim/lua/junikim/plugins/autopairs.lua @@ -1,7 +1,10 @@ return { 'windwp/nvim-autopairs', event = "InsertEnter", - config = true + config = true, + opts = { + disable_filetype = { "TelescopePrompt", "vim" }, + } -- use opts = {} for passing setup options -- this is equivalent to setup({}) function } diff --git a/.config/nvim/lua/junikim/plugins/barbar.lua b/.config/nvim/lua/junikim/plugins/barbar.lua index bb3c20a..da1cffb 100644 --- a/.config/nvim/lua/junikim/plugins/barbar.lua +++ b/.config/nvim/lua/junikim/plugins/barbar.lua @@ -39,5 +39,5 @@ return { -- insert_at_start = true, -- …etc. }, - version = '^1.0.0', -- optional: only update when a new 1.x version is released + version = '^1.9.0', -- optional: only update when a new 1.x version is released } diff --git a/.config/nvim/lua/junikim/plugins/lsp.lua b/.config/nvim/lua/junikim/plugins/lsp.lua index d808bc8..a015274 100644 --- a/.config/nvim/lua/junikim/plugins/lsp.lua +++ b/.config/nvim/lua/junikim/plugins/lsp.lua @@ -5,6 +5,29 @@ return { opts = {}, }, + { + "jay-babu/mason-null-ls.nvim", + event = { "BufReadPre", "BufNewFile" }, + dependencies = { + "williamboman/mason.nvim", + "nvimtools/none-ls.nvim", + }, + config = function() + local null_ls = require('null-ls') + require('mason-null-ls').setup({ + ensure_installed = { "black", "gofmt" }, + automatic_installation = true, + automatic_setup = true, + }) + null_ls.setup({ + sources = { + null_ls.builtins.formatting.black, + null_ls.builtins.formatting.gofmt, + }, + }) + end, + }, + -- Autocompletion { 'hrsh7th/nvim-cmp', @@ -38,9 +61,8 @@ return { mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.select_prev_item(cmp_select), [''] = cmp.mapping.select_next_item(cmp_select), - [""] = cmp.mapping.complete(), [''] = cmp.mapping.select_next_item(cmp_select), - [''] = nil, + [''] = cmp.mapping.abort(), [""] = cmp.mapping({ i = function(fallback) -- and cmp.get_selected_entry() @@ -120,7 +142,8 @@ return { 'texlab', 'pyright', 'ltex', - 'jsonls' + 'jsonls', + 'bashls', }, handlers = { -- this first function is the "default handler" diff --git a/.config/nvim/lua/junikim/plugins/telescope.lua b/.config/nvim/lua/junikim/plugins/telescope.lua index 1866d8e..0c5f75e 100644 --- a/.config/nvim/lua/junikim/plugins/telescope.lua +++ b/.config/nvim/lua/junikim/plugins/telescope.lua @@ -1,6 +1,6 @@ return { 'nvim-telescope/telescope.nvim', - tag = '0.1.x', + tag = '0.1.8', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() local builtin = require("telescope.builtin") diff --git a/.config/zathura/everforest b/.config/zathura/everforest new file mode 100644 index 0000000..8dd1704 --- /dev/null +++ b/.config/zathura/everforest @@ -0,0 +1,31 @@ +set default-fg "#d3c6aa" + +set statusbar-fg "#d3c6aa" +set statusbar-bg "#2b3339" + +set inputbar-bg "#2b3339" +set inputbar-fg "#d3c6aa" + +set notification-bg "#2b3339" +set notification-fg "#d3c6aa" + +set notification-error-bg "#2b3339" +set notification-error-fg "#d3c6aa" + +set notification-warning-bg "#2b3339" +set notification-warning-fg "#d3c6aa" + +set highlight-color "#4b565c" +set highlight-active-color "#e67e80" + +set completion-bg "#2b3339" +set completion-fg "#d3c6aa" + +set completion-highlight-fg "#4b565c" +set completion-highlight-bg "#2b3339" + +set recolor-lightcolor "#2b3339" +set recolor-darkcolor "#d3c6aa" + +set recolor "true" +set recolor-keephue "false" diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..0c94b04 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1,10 @@ +include everforest +# Open document in fit-width mode by default +set adjust-open "best-fit" +set selection-clipboard clipboard + +# One page per row by default +set pages-per-row 1 +#set recolor + +set font "JetBrainsMono Nerd Font Mono"