From afae0591a30a57023364f0ae61da2cf9cbe140a5 Mon Sep 17 00:00:00 2001 From: Kendall Whitman Date: Tue, 29 Jul 2025 10:45:50 -0500 Subject: [PATCH 1/3] switch to neovim package manager --- install-nvim.sh | 7 ++ .../plasma-org.kde.plasma.desktop-appletsrc | 72 ++++++++++--------- nvim/.config/nvim/init.lua | 18 ++++- nvim/.config/nvim/lazy-lock.json | 22 ------ nvim/.config/nvim/lua/plugins/copilot.lua | 0 nvim/.config/nvim/lua/plugins/init.lua | 61 ---------------- nvim/.config/nvim/lua/plugins/lsp-zero.lua | 62 ---------------- 7 files changed, 63 insertions(+), 179 deletions(-) create mode 100644 install-nvim.sh delete mode 100644 nvim/.config/nvim/lazy-lock.json delete mode 100644 nvim/.config/nvim/lua/plugins/copilot.lua delete mode 100644 nvim/.config/nvim/lua/plugins/lsp-zero.lua diff --git a/install-nvim.sh b/install-nvim.sh new file mode 100644 index 0000000..cc8ed13 --- /dev/null +++ b/install-nvim.sh @@ -0,0 +1,7 @@ +sudo apt remove gettext-base -y +sudo apt install gettext -y +source ~/.bashrc +git clone https://github.com/neovim/neovim +cd neovim +make CMAKE_BUILD_TYPE=RelWithDebInfo && cd build && cpack -G DEB && sudo dpkg -i nvim-linux-x86_64.deb +cd ~/.dotfiles/ && sudo rm -rf neovim diff --git a/menus/.config/plasma-org.kde.plasma.desktop-appletsrc b/menus/.config/plasma-org.kde.plasma.desktop-appletsrc index b3d956c..4c3a994 100644 --- a/menus/.config/plasma-org.kde.plasma.desktop-appletsrc +++ b/menus/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -4,29 +4,6 @@ RightButton;NoModifier=org.kde.contextmenu [ActionPlugins][1] RightButton;NoModifier=org.kde.contextmenu -[Containments][1] -ItemGeometries-2048x1280= -ItemGeometriesHorizontal= -activityId=c7c7e653-bc30-411f-8acd-99d69a80b70d -formfactor=0 -immutability=1 -lastScreen=0 -location=0 -plugin=org.kde.plasma.folder -wallpaperplugin=org.kde.image - -[Containments][1][ConfigDialog] -DialogHeight=540 -DialogWidth=720 - -[Containments][1][General] -positions={"2048x1280":[]} - -[Containments][1][Wallpaper][org.kde.image][General] -Image=/usr/share/wallpapers/Elarun/ -PreviewImage=/usr/share/wallpapers/Elarun/ -SlidePaths=/usr/share/wallpapers/ - [Containments][2] activityId= formfactor=2 @@ -52,10 +29,6 @@ fontWeight=400 DialogHeight=540 DialogWidth=720 -[Containments][2][Applets][21] -immutability=1 -plugin=org.kde.plasma.minimizeall - [Containments][2][Applets][3] immutability=1 plugin=org.kde.plasma.kickoff @@ -91,7 +64,7 @@ immutability=1 plugin=org.kde.plasma.icontasks [Containments][2][Applets][5][Configuration][General] -launchers=preferred://filemanager,file:///var/lib/flatpak/exports/share/applications/io.gitlab.librewolf-community.desktop,applications:org.kde.konsole.desktop,file:///var/lib/flatpak/exports/share/applications/im.riot.Riot.desktop,file:///var/lib/flatpak/exports/share/applications/com.logseq.Logseq.desktop,file:///usr/share/applications/steam.desktop,file:///var/lib/flatpak/exports/share/applications/org.darktable.Darktable.desktop +launchers=preferred://filemanager,file:///var/lib/flatpak/exports/share/applications/io.gitlab.librewolf-community.desktop,applications:org.kde.konsole.desktop,file:///var/lib/flatpak/exports/share/applications/im.riot.Riot.desktop,file:///usr/share/applications/steam.desktop,file:///var/lib/flatpak/exports/share/applications/org.darktable.Darktable.desktop [Containments][2][Applets][6] immutability=1 @@ -106,7 +79,42 @@ PreloadWeight=100 SystrayContainmentId=8 [Containments][2][General] -AppletOrder=3;4;5;6;7;20;21 +AppletOrder=3;4;5;6;7;20 + +[Containments][27] +ItemGeometries-2048x1280= +ItemGeometriesHorizontal= +activityId=b11f6e63-e961-4984-9d43-b6776df8ab0b +formfactor=0 +immutability=1 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][27][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][27][General] +positions={"2048x1280":[]} + +[Containments][27][Wallpaper][org.kde.image][General] +Image=/home/kendall/Pictures/Wallpapers/blue_yellow_lens.jpg +PreviewImage=/home/kendall/Pictures/Wallpapers/blue_yellow_lens.jpg +SlidePaths=/usr/share/wallpapers/ + +[Containments][31] +activityId=b11f6e63-e961-4984-9d43-b6776df8ab0b +formfactor=0 +immutability=1 +lastScreen=1 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][31][General] +positions={"1920x1080":[]} [Containments][8] activityId= @@ -184,7 +192,7 @@ immutability=1 plugin=org.kde.plasma.volume [Containments][8][Applets][19][Configuration] -PreloadWeight=42 +PreloadWeight=92 [Containments][8][Applets][19][Configuration][General] migrated=true @@ -210,7 +218,7 @@ immutability=1 plugin=org.kde.plasma.bluetooth [Containments][8][Applets][25][Configuration] -PreloadWeight=82 +PreloadWeight=84 [Containments][8][Applets][26] immutability=1 @@ -231,7 +239,7 @@ immutability=1 plugin=org.kde.plasma.battery [Containments][8][Applets][30][Configuration] -PreloadWeight=86 +PreloadWeight=0 [Containments][8][Applets][31][Configuration] PreloadWeight=42 diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 91d6915..d261353 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -80,5 +80,19 @@ api.nvim_exec([[ autocmd FocusLost,WinLeave * if &modifiable | let w:save_cursor = getcurpos() | %s/\s\+$//e | call setpos('.', w:save_cursor) | endif ]], false) --- Lazy.nvim -require("plugins") +-- Plugins +vim.pack.add({ + "https://github.com/ellisonleao/gruvbox.nvim", + "https://github.com/windwp/nvim-autopairs", + "https://github.com/Pocco81/auto-save.nvim", + "https://github.com/lewis6991/gitsigns.nvim", + "https://github.com/lukas-reineke/indent-blankline.nvim", + "https://github.com/nvim-lua/plenary.nvim", -- Dependancy of Telescope + "https://github.com/nvim-telescope/telescope.nvim", + "https://github.com/nvim-tree/nvim-web-devicons", -- Dependancy of Nvim Tree + "https://github.com/nvim-tree/nvim-tree.lua", + "https://github.com/nvim-treesitter/nvim-treesitter", +}) + +-- Plugin Configs +require('plugins'); diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json deleted file mode 100644 index 50ec96a..0000000 --- a/nvim/.config/nvim/lazy-lock.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, - "auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" }, - "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, - "copilot.vim": { "branch": "release", "commit": "18f485d892b56b311fd752039d6977333ebc2a0f" }, - "gitsigns.nvim": { "branch": "main", "commit": "43b0c856ae5f32a195d83f4a27fe21d63e6c966c" }, - "gruvbox.nvim": { "branch": "main", "commit": "dfc89cf5ce9a5ac149dd5d4b347fc1db3c1b2fa4" }, - "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" }, - "mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" }, - "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, - "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-lspconfig": { "branch": "master", "commit": "4bc481b6f0c0cf3671fc894debd0e00347089a4e" }, - "nvim-tree.lua": { "branch": "master", "commit": "ea5097a1e2702b4827cb7380e7fa0bd6da87699c" }, - "nvim-treesitter": { "branch": "master", "commit": "28d480e0624b259095e56f353ec911f9f2a0f404" }, - "nvim-web-devicons": { "branch": "master", "commit": "2c2b4eafce6cdd0cb165036faa17396eff18f847" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" } -} diff --git a/nvim/.config/nvim/lua/plugins/copilot.lua b/nvim/.config/nvim/lua/plugins/copilot.lua deleted file mode 100644 index e69de29..0000000 diff --git a/nvim/.config/nvim/lua/plugins/init.lua b/nvim/.config/nvim/lua/plugins/init.lua index b8d762d..014a44f 100644 --- a/nvim/.config/nvim/lua/plugins/init.lua +++ b/nvim/.config/nvim/lua/plugins/init.lua @@ -1,67 +1,6 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable release - lazypath, - }) -end -vim.opt.rtp:prepend(lazypath) - --- Plugins -require("lazy").setup({ - { "windwp/nvim-autopairs" }, - { "Pocco81/auto-save.nvim" }, - { "ellisonleao/gruvbox.nvim" }, - { "lewis6991/gitsigns.nvim" }, - { "lukas-reineke/indent-blankline.nvim" }, - { - "VonHeikemen/lsp-zero.nvim", - branch = "v3.x", - dependencies = { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", - "neovim/nvim-lspconfig", - "hrsh7th/nvim-cmp", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "L3MON4D3/LuaSnip", - }, - }, - { - "nvim-telescope/telescope.nvim", - tag = "0.1.8", - dependencies = "nvim-lua/plenary.nvim", - }, - { - "nvim-tree/nvim-tree.lua", - dependencies = "nvim-tree/nvim-web-devicons", - }, - { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - }, - { - "github/copilot.vim", - config = function() - vim.g.copilot_no_tab_map = true - vim.api.nvim_set_keymap( - "i", - "", - 'copilot#Accept("")', - { silent = true, expr = true } - ) - end, - }, -}) - require('plugins.colorscheme') require('plugins.gitsigns') require('plugins.indent-blankline') -require('plugins.lsp-zero') require('plugins.nvim-autopairs') require('plugins.nvim-tree') require('plugins.telescope') diff --git a/nvim/.config/nvim/lua/plugins/lsp-zero.lua b/nvim/.config/nvim/lua/plugins/lsp-zero.lua deleted file mode 100644 index 90c79e3..0000000 --- a/nvim/.config/nvim/lua/plugins/lsp-zero.lua +++ /dev/null @@ -1,62 +0,0 @@ -local lsp_zero = require('lsp-zero') -local cmp = require('cmp') -local cmp_action = lsp_zero.cmp_action() - --- LSP Zero -lsp_zero.on_attach(function(client, bufnr) - lsp_zero.default_keymaps({buffer = bufnr}) -end) - -lsp_zero.set_sign_icons({ - error = '✘', - warn = '▲', - hint = '⚑', - info = '»' -}) - --- CMP -cmp.setup({ - source = { - { name = 'nvim_lsp' }, - { name = 'buffer' }, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - preselect = 'item', - completion = { - completeopt = 'menu,menuone,noinsert' - }, - mapping = { - [''] = cmp_action.luasnip_supertab(), - [''] = cmp_action.luasnip_shift_supertab(), - [''] = cmp.mapping.confirm({select = true}), - } -}) - --- Mason -require('mason').setup({}) - -require('mason-lspconfig').setup({ - ensure_installed = { - 'lua_ls', - 'ts_ls', - 'html', - 'cssls', - 'jsonls', - 'emmet_ls', - }, - handlers = { - function(server_name) - require('lspconfig')[server_name].setup({}) - end, - }, -}) - --- Show line diagnostics automatically in hover window -vim.diagnostic.config({ - virtual_text = false, -}) - -vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] From 927b5fe7164050f4dfa8271578100f0e7ae6dc54 Mon Sep 17 00:00:00 2001 From: Kendall Whitman Date: Tue, 29 Jul 2025 14:49:54 -0500 Subject: [PATCH 2/3] update nvim config --- nvim/.config/nvim/lua/plugins/cmp.lua | 47 +++++++++++++++++++ nvim/.config/nvim/lua/plugins/diagnostics.lua | 34 ++++++++++++++ nvim/.config/nvim/lua/plugins/init.lua | 3 ++ nvim/.config/nvim/lua/plugins/mason.lua | 15 ++++++ 4 files changed, 99 insertions(+) create mode 100644 nvim/.config/nvim/lua/plugins/cmp.lua create mode 100644 nvim/.config/nvim/lua/plugins/diagnostics.lua create mode 100644 nvim/.config/nvim/lua/plugins/mason.lua diff --git a/nvim/.config/nvim/lua/plugins/cmp.lua b/nvim/.config/nvim/lua/plugins/cmp.lua new file mode 100644 index 0000000..1da5f0b --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/cmp.lua @@ -0,0 +1,47 @@ +local cmp = require'cmp' + +cmp.setup({ + snippet = { + expand = function(args) + vim.snippet.expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = { + [''] = function(fallback) + if cmp.visible() then + if not cmp.select_next_item() then + if vim.bo.buftype ~= 'prompt' and has_words_before() then + cmp.complete() + else + fallback() + end + end + else + return vim.cmd(">") + end + end, + + [''] = function(fallback) + if cmp.visible() then + if not cmp.select_prev_item() then + if vim.bo.buftype ~= 'prompt' and has_words_before() then + cmp.complete() + else + fallback() + end + end + else + return vim.cmd("<") + end + end, + [''] = cmp.mapping.confirm({ select = true }), + }, + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'buffer' }, + }) +}) diff --git a/nvim/.config/nvim/lua/plugins/diagnostics.lua b/nvim/.config/nvim/lua/plugins/diagnostics.lua new file mode 100644 index 0000000..162b636 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/diagnostics.lua @@ -0,0 +1,34 @@ +local levels = vim.diagnostic.severity + +local opts = { + virtual_text = false, + float = { + border = "rounded", + }, + signs = { + text = { + [levels.ERROR] = '✘', + [levels.WARN] = '▲', + [levels.HINT] = '⚑', + [levels.INFO] = '»', + }, + }, +} + +local sign_define = function(name, text) + local hl = 'DiagnosticSign' .. name + vim.fn.sign_define(hl, { + texthl = hl, + text = text, + numhl = '' + }) +end + +if vim.fn.has('nvim-0.10') == 0 then + sign_define('Error', opts.signs.text[levels.ERROR]) + sign_define('Warn', opts.signs.text[levels.WARN]) + sign_define('Hint', opts.signs.text[levels.HINT]) + sign_define('Info', opts.signs.text[levels.INFO]) +end + +vim.diagnostic.config(opts) diff --git a/nvim/.config/nvim/lua/plugins/init.lua b/nvim/.config/nvim/lua/plugins/init.lua index 014a44f..ffab896 100644 --- a/nvim/.config/nvim/lua/plugins/init.lua +++ b/nvim/.config/nvim/lua/plugins/init.lua @@ -1,7 +1,10 @@ require('plugins.colorscheme') +require('plugins.diagnostics') require('plugins.gitsigns') require('plugins.indent-blankline') require('plugins.nvim-autopairs') require('plugins.nvim-tree') require('plugins.telescope') require('plugins.treesitter') +require('plugins.cmp') +require('plugins.mason') diff --git a/nvim/.config/nvim/lua/plugins/mason.lua b/nvim/.config/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..b88f311 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/mason.lua @@ -0,0 +1,15 @@ +require('mason').setup({}) +require('mason-lspconfig').setup({ + ensure_installed = { + 'lua_ls', + 'ts_ls', + 'html', + 'cssls', + 'jsonls', + }, + handlers = { + function(server_name) + require('lspconfig')[server_name].setup({}) + end, + }, +}) From 5fed15f830ba144ee21f36546c289098a875d7ea Mon Sep 17 00:00:00 2001 From: Kendall Whitman Date: Tue, 29 Jul 2025 14:51:08 -0500 Subject: [PATCH 3/3] update nvim config --- nvim/.config/nvim/init.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index d261353..4f2ef78 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -2,7 +2,6 @@ local g = vim.g local o = vim.o local keymap = vim.keymap.set local cmd = vim.cmd -local fn = vim.fn local api = vim.api -- Leader Key @@ -92,6 +91,12 @@ vim.pack.add({ "https://github.com/nvim-tree/nvim-web-devicons", -- Dependancy of Nvim Tree "https://github.com/nvim-tree/nvim-tree.lua", "https://github.com/nvim-treesitter/nvim-treesitter", + "https://github.com/neovim/nvim-lspconfig", + "https://github.com/hrsh7th/nvim-cmp", + "https://github.com/hrsh7th/cmp-nvim-lsp", + "https://github.com/hrsh7th/cmp-buffer", + "https://github.com/williamboman/mason.nvim", + "https://github.com/williamboman/mason-lspconfig.nvim", }) -- Plugin Configs