diff --git a/hyfetch/hyfetch.json b/hyfetch/hyfetch.json new file mode 100644 index 0000000..136ecab --- /dev/null +++ b/hyfetch/hyfetch.json @@ -0,0 +1,15 @@ +{ + "preset": "transgender", + "mode": "rgb", + "light_dark": "dark", + "lightness": 0.65, + "color_align": { + "mode": "horizontal", + "custom_colors": [], + "fore_back": null + }, + "backend": "neofetch", + "distro": null, + "pride_month_shown": [], + "pride_month_disable": false +} \ No newline at end of file diff --git a/nvim/lua/plugins/bufferline.lua b/nvim/lua/plugins/bufferline.lua new file mode 100644 index 0000000..94b1a98 --- /dev/null +++ b/nvim/lua/plugins/bufferline.lua @@ -0,0 +1,28 @@ +return { + { + 'akinsho/bufferline.nvim', + config = function () + require('bufferline').setup { + options = { + separator_style = "thin", + indicator = { + style = "none" + }, + diagnostics = "nvim_lsp", + always_show_bufferline = false, + offsets = { + { + filetype = "neo-tree", + text = "Explorer", + highlight = "directory", + separator = false + } + } + } + } + end, + dependencies = { + 'nvim-tree/nvim-web-devicons', + }, + }, +} diff --git a/nvim/lua/plugins/dashboard.lua b/nvim/lua/plugins/dashboard.lua new file mode 100644 index 0000000..888503e --- /dev/null +++ b/nvim/lua/plugins/dashboard.lua @@ -0,0 +1,12 @@ +return { + { + 'nvimdev/dashboard-nvim', + event = 'VimEnter', + config = function () + require('dashboard').setup{ + theme = "hyper" + } + end, + dependencies = {{'nvim-tree/nvim-web-devicons'}} + }, +} diff --git a/nvim/lua/plugins/dracula.lua b/nvim/lua/plugins/dracula.lua new file mode 100644 index 0000000..f157d8d --- /dev/null +++ b/nvim/lua/plugins/dracula.lua @@ -0,0 +1,11 @@ +return { + { + 'maxmx03/dracula.nvim', + lazy = false, + config = function () + local dracula = require 'dracula' + dracula.setup() + vim.cmd.colorscheme 'dracula' + end + } +} diff --git a/nvim/lua/plugins/lspconfig.lua b/nvim/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..662b020 --- /dev/null +++ b/nvim/lua/plugins/lspconfig.lua @@ -0,0 +1,45 @@ +return { + { + 'neovim/nvim-lspconfig', + config = function() + local lsp = require('lspconfig') + lsp.rust_analyzer.setup{} + lsp.lua_ls.setup{} + lsp.pyright.setup{} + lsp.tsserver.setup{} + lsp.html.setup{} + lsp.cssls.setup{} + lsp.cssmodules_ls.setup{} + lsp.astro.setup{} + vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('UserLspConfig', {}), + callback = function(ev) + -- Enable completion triggered by + vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' + + -- Buffer local mappings. + -- See `:help vim.lsp.*` for documentation on any of the below functions + local opts = { buffer = ev.buf } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) + vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, opts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) + vim.keymap.set('n', 'f', function() + vim.lsp.buf.format { async = true } + end, opts) + end + }) + + end + } +} diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..336e297 --- /dev/null +++ b/nvim/lua/plugins/lualine.lua @@ -0,0 +1,55 @@ +return { + { + 'nvim-lualine/lualine.nvim', + config = function() + local colors_insert = { + line_background = '#282a36', + line_foreground = '#f8f8f2', + line_midtone = '#44475a', + pink = '#ff79c6', + ourple = '#bd93f9' + } + + local cake_theme_dracula = { + insert = { + a = { fg = colors_insert.line_background, bg = colors_insert.pink }, + b = { fg = colors_insert.line_foreground, bg = colors_insert.line_background }, + z = { fg = colors_insert.line_foreground, bg = colors_insert.line_background } + }, + normal = { + a = { fg = colors_insert.line_background, bg = colors_insert.ourple }, + + b = { fg = colors_insert.fg, bg = colors_insert.line_background }, + + z = { fg = colors_insert.fg, bg = colors_insert.line_background } + }, + visual = { + }, + replace = { + } + } + + require('lualine').setup { + options = { + theme = cake_theme_dracula, + disabled_filetypes = { + statusline = { + "neo-tree" + } + }, + section_separators = "", + component_separators = "", + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'filename', 'location'}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = {'diff','branch'} + } + } + end, + dependencies = {{'nvim-tree/nvim-web-devicons'}}, + } +} diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..ff816f9 --- /dev/null +++ b/nvim/lua/plugins/mason.lua @@ -0,0 +1,8 @@ +return { + { + 'williamboman/mason.nvim', + config = function() + require('mason').setup() + end + } +} diff --git a/nvim/lua/plugins/mkdnflow.lua b/nvim/lua/plugins/mkdnflow.lua new file mode 100644 index 0000000..8f9b453 --- /dev/null +++ b/nvim/lua/plugins/mkdnflow.lua @@ -0,0 +1,8 @@ +return { + { + 'jakewvincent/mkdnflow.nvim', + config = function() + require('mkdnflow').setup({}) + end + } +} diff --git a/nvim/lua/plugins/neo-tree.lua b/nvim/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..fe674de --- /dev/null +++ b/nvim/lua/plugins/neo-tree.lua @@ -0,0 +1,23 @@ +return { + { + 'nvim-neo-tree/neo-tree.nvim', + branch = "v3.x", + dependencies = { + {'nvim-lua/plenary.nvim'}, + {'nvim-tree/nvim-web-devicons'}, + {'MunifTanjim/nui.nvim'} + }, + config = function () + require("neo-tree").setup { + enable_git_status = true, + enable_diagnostics = true, + + filesystem = { + follow_current_file = { + enabled = true + } + } + } + end + } +} diff --git a/nvim/lua/plugins/nvim-autopairs.lua b/nvim/lua/plugins/nvim-autopairs.lua new file mode 100644 index 0000000..a64ee6d --- /dev/null +++ b/nvim/lua/plugins/nvim-autopairs.lua @@ -0,0 +1,9 @@ +return { + { + 'windwp/nvim-autopairs', + event = 'InsertEnter', + config = function () + require('nvim-autopairs').setup{} + end + } +} diff --git a/nvim/lua/plugins/nvim-cmp.lua b/nvim/lua/plugins/nvim-cmp.lua new file mode 100644 index 0000000..db0c728 --- /dev/null +++ b/nvim/lua/plugins/nvim-cmp.lua @@ -0,0 +1,37 @@ +return { + { + 'hrsh7th/nvim-cmp', + config = function() + + require('luasnip.loaders.from_vscode').lazy_load() + + local cmp = require('cmp') + cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end + }, + mapping = cmp.mapping.preset.insert ({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + {name = 'nvim_lsp'}, + {name = 'luasnip'}, + {name = 'buffer'} + }), + }) + end, + dependencies = { + {'hrsh7th/cmp-nvim-lsp'}, + {'saadparwaiz1/cmp_luasnip'}, + {'rafamadriz/friendly-snippets'}, + {'L3MON4D3/LuaSnip'} + } + } +} diff --git a/nvim/lua/plugins/nvim-ts-autotag.lua b/nvim/lua/plugins/nvim-ts-autotag.lua new file mode 100644 index 0000000..3653896 --- /dev/null +++ b/nvim/lua/plugins/nvim-ts-autotag.lua @@ -0,0 +1,8 @@ +return { + { + 'windwp/nvim-ts-autotag', + config = function () + require('nvim-ts-autotag').setup() + end + } +} diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..42f52c4 --- /dev/null +++ b/nvim/lua/plugins/telescope.lua @@ -0,0 +1,6 @@ +return { + { + 'nvim-telescope/telescope.nvim', + dependencies = { 'nvim-lua/plenary.nvim' } + } +} diff --git a/nvim/lua/plugins/treesitter.lua b/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..4554a7b --- /dev/null +++ b/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,15 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function () + local configs = require("nvim-treesitter.configs") + configs.setup({ + ensure_installed = { "c", "rust", "lua", "vim", "vimdoc", "markdown" , "javascript", "typescript", "python", "html", "astro", "tsx" }, + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end + } +} diff --git a/nvim/lua/plugins/trouble.lua b/nvim/lua/plugins/trouble.lua new file mode 100644 index 0000000..c2eaee3 --- /dev/null +++ b/nvim/lua/plugins/trouble.lua @@ -0,0 +1,12 @@ +return { + { + "folke/trouble.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + opts = { + auto_open = true, + auto_close = true, + height = 3, + padding = false + } + } +}