Compare commits

...

66 Commits

Author SHA1 Message Date
venus
84fa3b8363 added an antigravity plugin and custom keybind for integrated support 2026-08-14 04:08:16 -05:00
venus
999891e3a2 changed fold method to expression for code based auto folding 2026-08-14 03:52:18 -05:00
venus
f55b90e55b added obsidian plugin 2026-08-14 03:49:32 -05:00
venus
9adc20950f added obsidian plugin, still not fully functional 2026-07-28 07:53:24 -05:00
venus
634d9250e5 added some keybinds and obsidian support 2026-07-28 07:52:57 -05:00
venus
04b57e60e6 implemented copilot integration as ghost text and simplified some
keyboard shortcuts
2026-07-24 07:24:45 -05:00
venus
d04ef25170 added some keybinds for telescope. Still working on
codecompanion
2026-06-19 13:59:12 -05:00
venus
976501e9d8 added telescope keybinds 2026-06-17 11:43:30 -05:00
venus
69b825c35f moved telescope file 2026-06-17 11:34:15 -05:00
venus
24babf0be9 working on adding shortcuts for telescope searching 2026-06-17 11:33:28 -05:00
venus
552b3e1a79 Implemented chat and inline functionality with codecompanion!! 2026-06-06 01:56:41 -05:00
venus
b056fe2097 trying to get AI integration to work :( 2026-06-05 03:12:43 -05:00
venus
fdb7cc83d1 adding support for codecompanion! 2026-06-05 02:44:15 -05:00
venus
16e7916672 moved gitsigns out of lsp config 2026-06-02 01:37:32 -05:00
venus
bbed1e2083 added functionality to easily replay last command 2026-06-02 01:36:34 -05:00
venus
07940444c9 actually added keybind lol 2026-06-02 00:47:27 -05:00
venus
0e76ac466d added keybind to refresh current config page without restarting nvim 2026-06-02 00:45:28 -05:00
venus
e7c8b3f9cd patched autocommand issue, simplifying lsp setup 2026-06-01 22:36:15 -05:00
venus
b427c4f09f modified commit message type for neogit 2026-05-31 20:45:22 -05:00
venus
56622a860c added keybinds and modified neogit for more useability 2026-05-31 20:41:39 -05:00
venus
2fe6a440b7 added some custom fucntions and a new api 2026-05-31 19:46:05 -05:00
venus
ccbebb5ceb Working on Neogit keybind integration, plus other changes 2026-05-31 19:45:22 -05:00
venus
85d4c44b31 added some plugions 2026-05-22 05:43:19 -05:00
venus
3882f7f805 neoburner support sorta, and hex editors for re 2026-04-25 11:53:20 -05:00
venus
3a85cfd58f disabled hardtime 2026-04-14 15:06:25 -05:00
venus
528e601702 added jq plugin 2026-04-10 18:30:11 -05:00
venus
6c333586fd added some plugins from the reddit 2026-04-06 22:25:21 -05:00
venus
5f387b0f7f log syntax highligh plugin 2026-04-01 22:01:14 -05:00
venus
66b8d10aea removed hexdump 2026-04-01 01:59:18 -05:00
venus
84294ac88d tested hexdump, sort of working 2026-04-01 01:52:20 -05:00
venus
69a847d43c added hexeditor, not tested 2026-04-01 01:46:48 -05:00
venus
5f35501f68 image support with snacks 2026-03-25 11:28:59 -05:00
venus
405659af0a updated spellcheck with keybinds and default off on most filetypes 2026-03-25 11:02:49 -05:00
venus
eec1f820fc updated spellcheck 2026-03-25 10:44:31 -05:00
venus
44811bbfcd grammar support for spellecehcker 2026-03-24 22:27:47 -05:00
venus
6659e4a691 adding spellcheck/grammar 2026-03-24 22:17:27 -05:00
venus
f859e98b82 commnets 2026-03-24 15:26:29 -05:00
venus
7bdce4f6b8 added dashboard 2026-03-24 02:26:47 -05:00
venus
03dc7fbe72 minor changes 2026-03-24 01:56:36 -05:00
venus
0b910f6e49 bufferline 2026-03-24 01:49:02 -05:00
venus
f2d5a10748 lazy plugins in one spot 2026-03-24 00:52:58 -05:00
venus
36806958e1 added trouble diagnostic tool 2026-03-24 00:43:18 -05:00
venus
a5dafdfbff combined gitsigns and lsp files 2026-03-23 22:08:01 -05:00
venus
1451c9db00 combined tressitter and lsp files, added zsh treesitter 2026-03-23 22:06:29 -05:00
venus
ea948d4508 explained all plugins 2026-03-23 22:02:19 -05:00
venus
8f70254615 moved resize plugin fike to keybinds 2026-03-23 21:52:56 -05:00
venus
2bad7ec707 consoildating plugins by function. updated repeat command shortcut 2026-03-23 21:51:07 -05:00
venus
27820d5005 run last now executes termexec script, will break remote configs... 2026-03-15 04:26:28 -05:00
venus
dcfe759794 fixed gitignore 2026-03-11 21:31:16 -05:00
venus
b7237dacaf colors updated need to ignore 2026-03-11 17:57:20 -05:00
venus
63bd661602 updated lsp with autocomplete 2026-03-10 16:34:31 -05:00
venus
be84313c2c configured lsp plugins 2026-03-10 02:12:25 -05:00
venus
d223037865 removed treesitter and lsp to reconfigure 2026-03-10 00:51:24 -05:00
venus
6fbf3b768f updated plugins 2026-03-10 00:24:22 -05:00
venus
99638caa52 background opacity of terminal changes when nvim opens using kitty 2026-03-10 00:13:13 -05:00
venus
7c602e62bc added noctalia theme sync 2026-03-09 23:30:00 -05:00
venus
55a7f6dc13 moved lazy setup into init file 2026-03-09 23:14:47 -05:00
venus
02e8dfa531 removed simple.lua file 2026-03-09 23:09:07 -05:00
venus
8cb9838e07 moved basic plugins into lazy file 2026-03-09 23:06:12 -05:00
venus
f6a1d7e158 moved lazy from base init 2026-03-09 23:03:59 -05:00
venus
0ffe1c07cf moved keybind and config files out of init, working 2026-03-09 22:57:02 -05:00
venus
eac6d7dd53 moved keybind and config files out of init 2026-03-09 16:26:23 -05:00
venus
bbb47d1a93 added a few plugins 2026-03-09 15:58:24 -05:00
river
ab96aa95e1 java support 2026-02-11 14:36:43 -06:00
river
930b5f7190 slightly more kb shortcuts 2026-02-05 19:07:09 -06:00
river
c2941ef7ea configured for hyprland 2026-02-03 22:10:50 -06:00
43 changed files with 1370 additions and 556 deletions

8
.gitignore vendored
View File

@@ -1,7 +1,3 @@
tags
test.sh
.luarc.json
nvim
spell/
lazy-lock.json
spell/*

7
colors/noctalia.lua Normal file
View File

@@ -0,0 +1,7 @@
return {
bg = "#291414",
fg = "#f3f2f2",
accent = "#e46767",
error = "#fd4663",
warning = "#cccc66",
}

57
colors/testTheme.lua Normal file
View File

@@ -0,0 +1,57 @@
return {
-- color approach
red = "#ff3d00",
orange = "#e58e44",
green = "#77b886",
yellow = "#f7cb92",
blue = "#7689d9",
magenta = "#8f509d",
cyan = "#8fb9f4",
black = "#000000",
bright_red = "#ff6347",
bright_orange = "#f6aa6b",
bright_green = "#a3d6a5",
bright_yellow = "#ffe56e",
bright_blue = "#9eabe6",
bright_magenta = "#b78fc2",
bright_cyan = "#a4c4ff",
white = "#ffffff",
gutter_fg = "#78808f",
nontext = "#d2d6dc",
-- element approach
bg = "#0f1c2e",
fg = "#e6e8ee",
cursorline = "#1c2b3a",
selection = "#2e3c55",
linenr = "#4a5a70",
comment = "#7d88a1",
-- Syntax
keyword = "#f28fad",
Function = "#89b4fa",
string = "#f9e2af",
constant = "#cdd6f4",
type = "#cba6f7",
number = "#fab387",
boolean = "#f38ba8",
operator = "#94a3b8",
variable = "#e0def4",
-- UI
cursor = "#f5a97f",
visual = "#2e3c55",
search = "#f5c2e7",
statusline = "#1e293b",
menu_bg = "#1a2535",
menu_sel = "#3b4252",
fold = "#3e4a5a",
split = "#334155",
-- Diagnostics
diag_error = "#f38ba8",
diag_warn = "#fab387",
diag_info = "#89dceb",
diag_hint = "#b4befe",
}

246
init.lua
View File

@@ -1,161 +1,103 @@
-- River Rooks nvim config
-- /init.lua
-- This file is the first thing nvim renderes on boot.
-- from here we tell it to load the options and keybinds files, as well as bootstrap Lazy, our plugin manager
-- [[setup]]
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
-- Set to true if you have a Nerd Font installed and selected in the terminal
vim.g.have_nerd_font = true
-- execute the following files in the /lua directory
require('options')
require('keybinds')
require("config.lazy")
vim.g.netrw_liststyle = 3
vim.g.netrw_banner = 1
vim.g.netrw_altv = 1 -- Create the split of the Netrw window to the left
vim.g.netrw_winsize = 30 -- Set the width of the "drawer"
vim.g.netrw_browse_split = 4 -- Open files in previous window. This emulates the typical "drawer" behaviorkjk
-- [[Setting options]]
-- See `:help vim.o`
-- NOTE: You can change these options as you wish!
-- For more options, you can see `:help option-list`
-- Make line numbers default
vim.o.number = true
-- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it!
vim.o.relativenumber = true
-- Don't show the mode, since it's already in the status line
vim.o.showmode = false
-- Sync clipboard between OS and Neovim.
-- Schedule the setting after `UiEnter` because it can increase startup-time.
-- Remove this option if you want your OS clipboard to remain independent.
-- See `:help 'clipboard'`
vim.schedule(function()
vim.o.clipboard = 'unnamedplus'
end)
-- Enable break indent
-- Save undo history
vim.o.undofile = true
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
vim.o.ignorecase = true
vim.o.smartcase = true
-- Keep signcolumn on by default
vim.o.signcolumn = 'yes'
-- Decrease update time
vim.o.updatetime = 250
-- Decrease mapped sequence wait time
vim.o.timeoutlen = 300
-- Configure how new splits should be opened
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
-- Preview substitutions live, as you type!
vim.o.inccommand = 'split'
-- Show which line your cursor is on
vim.o.cursorline = true
-- Minimal number of screen lines to keep above and below the cursor.
vim.o.scrolloff = 25
-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
-- instead raise a dialog asking if you wish to save the current file(s)
-- See `:help 'confirm'`
vim.o.confirm = true
-- [[Keybinds]]
-- See `:help vim.keymap.set()`
-- See `:help hlsearch`
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
-- Diagnostic keymaps
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
-- run clear and make in open terminal
vim.keymap.set('n','<leader>r','<cmd>TermExec cmd="clear && make"<CR>', { desc = '[r]un make in terminal' })
vim.keymap.set('n','<leader>n', '<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
vim.keymap.set('n','<leader>t', '<cmd>ToggleTerm<CR>', {desc = '[T]oggle all terminals'})
-- TIP: Disable arrow keys in normal mode
vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
-- Keybinds to make split navigation easier.
-- Use CTRL+<hjkl> to switch between windows
--
-- See `:help wincmd` for a list of all window commands
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
-- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes
vim.keymap.set("n", "<C-S-h>", "<C-w>H", { desc = "Move window to the left" })
vim.keymap.set("n", "<C-S-l>", "<C-w>L", { desc = "Move window to the right" })
vim.keymap.set("n", "<C-S-j>", "<C-w>J", { desc = "Move window to the lower" })
vim.keymap.set("n", "<C-S-k>", "<C-w>K", { desc = "Move window to the upper" })
-- [[ Basic Autocommands ]]
vim.api.nvim_create_autocmd('TextYankPost', {
desc = 'Highlight when yanking (copying) text',
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
callback = function()
vim.hl.on_yank()
end,
})
-- [[scripts]]
-- 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)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
-- now that we have loaded our basic settings and started lazy, we need to configure lazy to our liking
require("lazy").setup({
spec = {
-- import your plugins
-- execute all files is /lua/plugins -- this is where I put plugins with more complex setups
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "retrobox" } },
-- automatically check for plugin updates
checker = { enabled = true },
},
{
ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
icons = vim.g.have_nerd_font and {} or {
cmd = '',
config = '🛠',
event = '📅',
ft = '📂',
init = '',
keys = '🗝',
plugin = '🔌',
runtime = '💻',
require = '🌙',
source = '📄',
start = '🚀',
task = '📌',
lazy = '💤 ',
-- import the following list of plugins -- this is where i put plugins with minial settings
{
'ThePrimeagen/vim-be-good',
"xiyaowong/transparent.nvim",
"karb94/neoscroll.nvim", --Smooth Scrolling
-- 'paretje/nvim-man', -- man page syntax highlighting
'fei6409/log-highlight.nvim', -- generic log syntax highlighting
'mikevskater/nvim-colorpicker', --Color picking tool
'stevearc/conform.nvim', --auto formats certain text
'tpope/vim-commentary', -- commenting lines with shortcut
'vigoux/ltex-ls.nvim', -- grammer checking
'pynappo/hyprlang-to-lua.nvim',
-- 'vimpostor/vim-tpipeline', -- integrate with tmux status-line
'kshenoy/vim-signature', -- tag lines
'mg979/vim-visual-multi', -- work on multiple lines at once
'0xm4n/resize.nvim', -- adds commands to resize panes
'nvim-tree/nvim-web-devicons', -- nerdfont!
'TamaMcGlinn/vim-termhere', --simple terminal QOL
'basola21/PDFview', -- rendering pdfs in nvim
'rcarriga/nvim-notify', -- notification manager
-- { 'jokajak/keyseer.nvim', version = '*' }, -- keybinds visualizer
{ 'smjonas/inc-rename.nvim', config = true }, --lsp plugin for renaming variable
{ "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying
{ "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice
{ 'norcalli/nvim-colorizer.lua', config = function() require('colorizer').setup{"*"} end,}, -- preview colors
{ 'edluffy/hologram.nvim', auto_display = true,}, --image viewer
{ "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart
{ 'akinsho/toggleterm.nvim', version = "*", config = true}, -- terminal toggling and commands
{ 'nvim-java/nvim-java', config = function() require('java').setup() vim.lsp.enable('jdtls') end, }, --java QOL
-- disable matugen if not using noctalia shell
{ 'RRethy/base16-nvim', config = function() require('matugen').setup() end,}, --colorshceme for noctalia integration
{ "lervag/vimtex", lazy = false, init = function() vim.g.vimtex_view_method = "zathura" end }, -- for latex editing
{ 'windwp/nvim-autopairs', event = "InsertEnter", config = true },
{ "folke/ts-comments.nvim", event = "VeryLazy", }, -- qol for commenting
{ "marcinjahn/gemini-cli.nvim", cmd = "Gemini", dependencies = { "folke/snacks.nvim", }, config = true, },
{ "cenk1cenk2/jq.nvim", dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", "grapp-dev/nui-components.nvim", },
}
},
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins before loaded the matugen plugin for desktop colorscheme.
install = { colorscheme = { "miniautumn" } },
-- automatically check for plugin updates
checker = { enabled = false },
})
-- sync nvim colorscheme with noctalia
local theme_ok, matugen = pcall(require, "matugen")
if theme_ok then
matugen.setup()
end
-- load lsp and bufferline plugins
require("config.lsp")
-- render bufferline
require("bufferline").setup{}
-- optimize keypresses
-- require("hardtime").setup()
--fix notifications
vim.notify = require("notify")
-- jq setup
require("jq").setup()
-- require("jq").run({
-- --- you can pass additional options to configure the current instance
-- -- if you want to toggle from the memory
-- toggle = true,
-- -- commands for the instance else it will use the default
-- -- the default command would be the first one in the table
-- commands = {
-- {
-- -- command to be run
-- command = "jq",
-- -- filetype of the output
-- filetype = "json",
-- -- hidden arguments that will not be shown in the ui
-- arguments = "-r"
-- },
-- },
-- -- arguments to start with in the ui
-- arguments = "",
-- -- query to start with, if not provided it will use the default
-- query = ".",
-- })
-- -- bind undotree
-- -- TODO fix the require file not found when in keybinds.lua
-- vim.cmd("packadd nvim.undotree")
-- vim.keymap.set("n", "<leader>u", require("undotree").open) -- undotree

113
layout_snap.vim Normal file
View File

@@ -0,0 +1,113 @@
let SessionLoad = 1
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
let v:this_session=expand("<sfile>:p")
doautoall SessionLoadPre
silent only
silent tabonly
cd ~/.config/nvim
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
let s:wipebuf = bufnr('%')
endif
let s:shortmess_save = &shortmess
set shortmess+=aoO
badd +35 lua/keybinds.lua
badd +27 lua/custom-functions.lua
argglobal
%argdel
$argadd lua/keybinds.lua
edit lua/keybinds.lua
let s:save_splitbelow = &splitbelow
let s:save_splitright = &splitright
set splitbelow splitright
wincmd _ | wincmd |
vsplit
wincmd _ | wincmd |
vsplit
2wincmd h
wincmd w
wincmd w
let &splitbelow = s:save_splitbelow
let &splitright = s:save_splitright
wincmd t
let s:save_winminheight = &winminheight
let s:save_winminwidth = &winminwidth
set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
exe 'vert 1resize ' . ((&columns * 30 + 106) / 212)
exe 'vert 2resize ' . ((&columns * 90 + 106) / 212)
exe 'vert 3resize ' . ((&columns * 90 + 106) / 212)
argglobal
enew
file NvimTree_1
balt lua/keybinds.lua
setlocal foldmethod=manual
setlocal foldexpr=0
setlocal foldmarker={{{,}}}
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal nofoldenable
wincmd w
argglobal
balt lua/custom-functions.lua
setlocal foldmethod=marker
setlocal foldexpr=v:lua.vim.treesitter.foldexpr()
setlocal foldmarker={{{,}}}
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldenable
let s:l = 35 - ((12 * winheight(0) + 24) / 48)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 35
normal! 0136|
wincmd w
argglobal
if bufexists(fnamemodify("term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1", ":p")) | buffer term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1 | else | edit term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1 | endif
if &buftype ==# 'terminal'
silent file term://~/.config/nvim//1942532:/usr/bin/zsh;\#toggleterm\#1
endif
balt lua/keybinds.lua
setlocal foldmethod=marker
setlocal foldexpr=0
setlocal foldmarker={{{,}}}
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal nofoldenable
let s:l = 3 - ((2 * winheight(0) + 24) / 48)
if s:l < 1 | let s:l = 1 | endif
keepjumps exe s:l
normal! zt
keepjumps 3
normal! 033|
wincmd w
exe 'vert 1resize ' . ((&columns * 30 + 106) / 212)
exe 'vert 2resize ' . ((&columns * 90 + 106) / 212)
exe 'vert 3resize ' . ((&columns * 90 + 106) / 212)
tabnext 1
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
silent exe 'bwipe ' . s:wipebuf
endif
unlet! s:wipebuf
set winheight=1 winwidth=20
let &shortmess = s:shortmess_save
let &winminheight = s:save_winminheight
let &winminwidth = s:save_winminwidth
let s:sx = expand("<sfile>:p:r")."x.vim"
if filereadable(s:sx)
exe "source " . fnameescape(s:sx)
endif
let &g:so = s:so_save | let &g:siso = s:siso_save
set hlsearch
nohlsearch
doautoall SessionLoadPost
unlet SessionLoad
" vim: set ft=vim :

43
lua/autocommands.lua Normal file
View File

@@ -0,0 +1,43 @@
-- [[dynamicallt change kitty window opacity when opening and closing]]
-- Define the target opacities
local nvim_opacity = "0.85"
local default_opacity = "0.6"
-- Function to talk to Kitty
local function set_kitty_opacity(opacity)
-- Use os.execute to run the kitty remote command
os.execute("kitty @ set-background-opacity " .. opacity)
end
-- Set up the autocommands
local kitty_group = vim.api.nvim_create_augroup("KittyOpacity", { clear = true })
vim.api.nvim_create_autocmd("VimEnter", {
vim.api.nvim_set_hl(0, "Normal", { bg = "NONE", ctermbg = "NONE" }),
vim.api.nvim_set_hl(0, "NormalNC", { bg = "NONE", ctermbg = "NONE" }),
group = kitty_group,
callback = function()
set_kitty_opacity(nvim_opacity)
end,
})
vim.api.nvim_create_autocmd("VimLeave", {
group = kitty_group,
callback = function()
set_kitty_opacity(default_opacity)
end,
})
vim.api.nvim_create_autocmd('TextYankPost', {
desc = 'Highlight when yanking (copying) text',
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
callback = function()
vim.hl.on_yank()
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "toggleterm", "NvimTree", "help", "dashboard" },
callback = function()
vim.b.miniindentscope_disable = true
end,
})

View File

@@ -15,21 +15,3 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
-- vim.g.mapleader = " "
-- vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

51
lua/config/lsp.lua Normal file
View File

@@ -0,0 +1,51 @@
-- lsp config
require('lspconfig')
local lsp_servers = {
'clangd',
'pyright',
'bashls',
'lua_ls',
}
for _, server in ipairs(lsp_servers) do
local config = {}
-- Special settings for Lua
if server == 'lua_ls' then
config.settings = {
Lua = {
diagnostics = {
-- Tell the language server that 'vim' is a global
globals = { 'vim' },
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
},
}
end
if server == 'bashls' then
config.filetypes = { 'sh', 'bash', 'zsh' }
end
-- Apply the config and enable
vim.lsp.config(server, config)
vim.lsp.enable(server)
end
-- highlight error messages
vim.diagnostic.config({
virtual_text = {
prefix = '',
spacing = 4,
},
-- Show signs in the gutter (left side)
signs = true,
-- Underline the actual code that has the error
underline = true,
-- Don't update diagnostics while typing (keeps it less distracting)
update_in_insert = true,
-- Better looking border for float windows
float = { border = "rounded" },
})

0
lua/config/markdown.lua Normal file
View File

39
lua/custom-functions.lua Normal file
View File

@@ -0,0 +1,39 @@
-- lua/custom-functions.lua
-- A library file with custom functions for cleaner code elsewhere
local C = {}
function C.RunCommand(Command)
-- TODO IMplement an autocompiler function based on context
local tt = require("toggleterm")
local command = string.lower(Command)
if command == "l" or command == "last" then tt.exec("clear && fc -e -\r") end
if command == "c" or command == "compile" then tt.exec("clear && make\r") end
vim.defer_fn(function ()
vim.api.nvim_echo({
{ "▶ Terminal: ", "WarningMsg" },
{ "Running previous terminal command... ", "Normal" },
}, true, {})
end, 50)
return ""
end
-- Save current layout snapshot
-- vim.keymap.set("n", "<leader>ss", function()
function C.saveSnapshot()
vim.cmd("mksession! " .. vim.fn.stdpath("config") .. "/layout_snap.vim")
print("Layout snapshot saved.")
end
-- Restore layout snapshot
-- vim.keymap.set("n", "<leader>sr", function()
function C.returnSnapshot()
local path = vim.fn.stdpath("config") .. "/layout_snap.vim"
if vim.fn.filereadable(path) == 1 then
vim.cmd("source " .. path)
print("Layout snapshot restored.")
else
print("No layout snapshot found.")
end
end
return C

122
lua/keybinds.lua Normal file
View File

@@ -0,0 +1,122 @@
--/lua/keybinds.lua
-- This file defines all of the kybinds for nvim.
-- Add these lines at the very top of your keymaps file
vim.cmd('silent! unmapclear') -- Clears Normal, Visual, Select, and Operator-pending maps
vim.cmd('silent! cmapclear') -- Clears Command-line maps
vim.cmd('silent! imapclear') -- Clears Insert maps
vim.cmd('silent! tmapclear') -- Clears Terminal maps
-- ==========================================
-- Define your current keymaps below this line
-- ==========================================
package.loaded["custom-functions"] = nil
local utils = require("custom-functions")
-- move betwwen buffers and tabs easier
vim.keymap.set('n','<Tab>' ,':bnext<CR>')
vim.keymap.set('n','<S-Tab>' ,':bprev<CR>')
vim.keymap.set('n','<C-Tab>' ,':tabNext<CR>') --TODO fix these
vim.keymap.set('n','<C-S-Tab>' ,':tabprevious<CR>')
vim.keymap.set('n','<leader>tx' ,':tabclose<CR>')
vim.keymap.set('n','<leader>tn' ,':tabnew<CR>')
vim.keymap.set('n','<leader>bx' ,':bdelete<CR>')
vim.keymap.set('n','<leader>x' ,':bdelete<CR>')
-- resizing pains with resize.lua shortcut
vim.keymap.set('n','<M-Left>' ,"<cmd>lua require('resize').ResizeLeft()<CR>")
vim.keymap.set('n','<M-Right>' ,"<cmd>lua require('resize').ResizeRight()<CR>")
vim.keymap.set('n','<M-Up>' ,"<cmd>lua require('resize').ResizeUp()<CR>")
vim.keymap.set('n','<M-Down>' ,"<cmd>lua require('resize').ResizeDown()<CR>")
-- terminal interface shortcuts
vim.keymap.set('n','<Esc>' ,'<cmd>nohlsearch<CR>')
vim.keymap.set('t','<Esc><Esc>' ,'<C-\\><C-n>' ,{ desc = 'Exit terminal mode' })
vim.keymap.set('t','<C-h>' ,'<C-\\><C-n><C-w><C-h>' ,{ desc = 'Move focus to the left window' })
-- vim.keymap.set('n','<leader>r' ,'<cmd>TermExec cmd="clear && make"<CR>' ,{ desc = '[r]un make in terminal' })
vim.keymap.set('n','<leader>l' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command in terminal' })
vim.keymap.set('n','<leader>ss' ,function() utils.saveSnapshot() end ,{ desc = '[S]ave a [S]napshot of the current windows' })
vim.keymap.set('n','<leader>sr' ,function() utils.returnSnapshot() end ,{ desc = '[R]eturn to saved [S]napshot' })
vim.keymap.set('n','<leader>n' ,'<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
vim.keymap.set('n','<leader>te' ,'<cmd>ToggleTerm<CR>' ,{desc = '[T]oggle all terminals'})
vim.keymap.set("n","<leader>e" ,"<cmd>NvimTreeToggle<CR>" ,{desc = 'open [E]xplorer'})
vim.keymap.set("n","<leader>E" ,"<cmd>e!<CR>" ,{desc = '[E]dit current file from disk'})
vim.keymap.set("n","<M-r>" ,"<cmd>e!<CR>" ,{desc = '[E]dit current file from disk'})
-- Diagnostic keymaps
vim.keymap.set('n', '<leader>q' ,vim.diagnostic.setloclist ,{ desc = 'Open diagnostic [Q]uickfix list' })
vim.keymap.set("n", "<leader>R" ,"<cmd>source %<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[S]ource config file"})
vim.keymap.set("n", "<leader><C-R>k" ,"<cmd>source /home/venus/.config/nvim/lua/keybinds.lua<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[R]eload [k]eybinds"})
vim.keymap.set("n", "<leader><C-R>c" ,"<cmd>source /home/venus/.config/nvim/lua/autocommands.lua<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[R]eload [a]utocommands"})
vim.keymap.set("n", "<leader><C-R>o" ,"<cmd>source /home/venus/.config/nvim/lua/options.lua<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[R]eload [o]ptions"})
-- LSP functions
vim.keymap.set('n', 'gd' ,vim.lsp.buf.definition, { desc = "LSP Go to Definition" })
vim.keymap.set('n', 'gr' ,'<cmd>Telescope lsp_references<cr>' ,{ desc = "LSP [R]eferences" })
vim.keymap.set('n', 'gi' ,'<cmd>Telescope lsp_implementations<cr>' ,{ desc = "LSP [I]mplementations" })
vim.keymap.set('n', 'gs' ,'<cmd>Telescope lsp_document_symbols<cr>' ,{ desc = "LSP Document [S]ymbols" })
vim.keymap.set('n', 'sk' ,'<cmd>Telescope keymaps<cr>' ,{ desc = "[S]earch [K]eymaps" })
vim.keymap.set('n', 'sd' ,'<cmd>Telescope diagnostics<cr>' ,{ desc = "[S]earch [D]iagnostics" })
vim.keymap.set('n', 'sw' ,'<cmd>Telescope grep_string<cr>' ,{ desc = "[S]earch current [W]ord" })
vim.keymap.set('n', '<leader>ff' ,'<cmd>Telescope find_files<cr>' ,{ desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg' ,'<cmd>Telescope live_grep<cr>' ,{ desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb' ,'<cmd>Telescope buffers<cr>' ,{ desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh' ,'<cmd>Telescope help_tags<cr>' ,{ desc = 'Telescope help tags' })
vim.keymap.set('n', '<leader>tt' ,'<cmd>Telescope<cr>' ,{ desc = 'Open [T]elescope' })
-- Disable arrow keys in normal mode
vim.keymap.set('n','<left>' ,'<cmd>echo "Use h to move!!"<CR>')
vim.keymap.set('n','<right>' ,'<cmd>echo "Use l to move!!"<CR>')
vim.keymap.set('n','<up>' ,'<cmd>echo "Use k to move!!"<CR>')
vim.keymap.set('n','<down>' ,'<cmd>echo "Use j to move!!"<CR>')
-- See `:help wincmd` for a list of all window commands
vim.keymap.set('n','<C-h>' ,'<C-w><C-h>' ,{ desc = 'Move focus to the left window' })
vim.keymap.set('n','<C-l>' ,'<C-w><C-l>' ,{ desc = 'Move focus to the right window' })
vim.keymap.set('n','<C-j>' ,'<C-w><C-j>' ,{ desc = 'Move focus to the lower window' })
vim.keymap.set('n','<C-k>' ,'<C-w><C-k>' ,{ desc = 'Move focus to the upper window' })
-- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes
vim.keymap.set("n","<C-S-h>" ,"<C-w>H" ,{ desc = "Move window to the left" })
vim.keymap.set("n","<C-S-l>" ,"<C-w>L" ,{ desc = "Move window to the right" })
vim.keymap.set("n","<C-S-j>" ,"<C-w>J" ,{ desc = "Move window to the lower" })
vim.keymap.set("n","<C-S-k>" ,"<C-w>K" ,{ desc = "Move window to the upper" })
-- [[ Basic QOL
vim.keymap.set("n", "<leader>rn" ,":IncRename " ,{ desc = '[R]e[n]ame variable under cursor'})
vim.keymap.set('n', '<leader>I' ,'<cmd>GuessIndent<cr>' ,{ desc = '[G]uess Indent level' })
vim.keymap.set("n", "<leader>i" ,"m'gg=G''" ,{ desc = "Re-indent whole file" })
vim.keymap.set("n", "<leader>y" ,"m'ggyG''" ,{ desc = "[Y]ank whole file" })
vim.keymap.set("n", "<C-A>" ,"m'ggyG''" ,{ desc = "[Y]ank whole file" })
vim.keymap.set("n", "<leader>sr" ,[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]] ,{ desc = "[S]earch/[R]eplace word under cursor" })
-- PLUGIN KEYBINDS
vim.keymap.set({ "n", "v" } ,"<leader>ag" ,"<cmd>Antigravity<cr>" ,{ desc = "Open Antigravity" })
vim.keymap.set({ "n", "v" } ,"<leader>aa" ,"<cmd>CodeCompanionActions<cr>" ,{ desc = "CodeCompanion - Actions" })
vim.keymap.set({ "n", "v" } ,"<leader>ac" ,"<cmd>CodeCompanionChat Toggle<cr>" ,{ desc = "CodeCompanion - Chat" })
vim.keymap.set({ "n", "v" } ,"<leader>ai" ,"<cmd>CodeCompanion<cr>" ,{ desc = "CodeCompanion - Inline" })
vim.keymap.set("v" ,"<leader>ad" ,"<cmd>CodeCompanionChat Add<cr>" ,{ desc = "CodeCompanion - Add to Chat" })
-- Expand 'cc' into 'CodeCompanion' in the command line
vim.cmd([[cab cc CodeCompanion]])
--spellcheck keybind to toggle on current buffer
vim.keymap.set('n',"<leader>ze" ,"<cmd>setlocal spell<cr>" ,{ desc = "enable spellecheck on buffer" })
vim.keymap.set('n',"<leader>zd" ,"<cmd>setlocal nospell<cr>" ,{ desc = "Disable spellecheck on buffer" })
--Hex Editing
vim.keymap.set('n', '<leader>hh' ,'<cmd>Hex<CR>' ,{ desc = 'open [H]ex view of a file' })
--Neogit
-- <leader>gg bound to UI toggle
vim.keymap.set('n', '<leader>gg' ,'<cmd>Neogit<cr>' ,{ desc = 'open Neo[g]it interface' })
vim.keymap.set('n', '<leader>gc' ,'<cmd>Neogit commit<cr>' ,{ desc = 'open Neogit [c]ommit page' })
vim.keymap.set('n', '<leader>gd' ,'<cmd>Neogit diff<cr>' ,{ desc = 'open Neogit [d]iff page' })
vim.keymap.set('n', '<leader>gt' ,'<cmd>Neogit tagg<cr>' ,{ desc = 'open Neogit [t]agg page' })
-- Obsidian
vim.keymap.set("n", "gf", function()
if require("obsidian").util.cursor_on_markdown_link() then
return "ObsidianFollowLink"
else
return "gf"
end
end, { expr = true, desc = "Follow Obsidian link" })
vim.keymap.set("n", "<leader>os" , "ObsidianSearch" , { desc = "Search Obsidian" })
vim.keymap.set("n", "<leader>on" , "ObsidianNew" , { desc = "New Obsidian note" })

37
lua/matugen-template.lua Normal file
View File

@@ -0,0 +1,37 @@
local M = {}
function M.setup()
require('base16-colorscheme').setup {
-- Background tones
base00 = '{{colors.surface.default.hex}}', -- Default Background
base01 = '{{colors.surface_container.default.hex}}', -- Lighter Background (status bars)
base02 = '{{colors.surface_container_high.default.hex}}', -- Selection Background
base03 = '{{colors.outline.default.hex}}', -- Comments, Invisibles
-- Foreground tones
base04 = '{{colors.on_surface_variant.default.hex}}', -- Dark Foreground (status bars)
base05 = '{{colors.on_surface.default.hex}}', -- Default Foreground
base06 = '{{colors.on_surface.default.hex}}', -- Light Foreground
base07 = '{{colors.on_background.default.hex}}', -- Lightest Foreground
-- Accent colors
base08 = '{{colors.error.default.hex}}', -- Variables, XML Tags, Errors
base09 = '{{colors.tertiary.default.hex}}', -- Integers, Constants
base0A = '{{colors.secondary.default.hex}}', -- Classes, Search Background
base0B = '{{colors.primary.default.hex}}', -- Strings, Diff Inserted
base0C = '{{colors.tertiary_fixed_dim.default.hex}}', -- Regex, Escape Chars
base0D = '{{colors.primary_fixed_dim.default.hex}}', -- Functions, Methods
base0E = '{{colors.secondary_fixed_dim.default.hex}}', -- Keywords, Storage
base0F = '{{colors.error_container.default.hex}}', -- Deprecated, Embedded Tags
}
end
-- Register a signal handler for SIGUSR1 (matugen updates)
local signal = vim.uv.new_signal()
signal:start(
'sigusr1',
vim.schedule_wrap(function()
package.loaded['matugen'] = nil
require('matugen').setup()
end)
)
return M

37
lua/matugen.lua Normal file
View File

@@ -0,0 +1,37 @@
local M = {}
function M.setup()
require('base16-colorscheme').setup {
-- Background tones
base00 = '#000000', -- Default Background
base01 = '#110d1a', -- Lighter Background (status bars)
base02 = '#1a1428', -- Selection Background
base03 = '#644c94', -- Comments, Invisibles
-- Foreground tones
base04 = '#b58fff', -- Dark Foreground (status bars)
base05 = '#e8d8ff', -- Default Foreground
base06 = '#e8d8ff', -- Light Foreground
base07 = '#e8d8ff', -- Lightest Foreground
-- Accent colors
base08 = '#ff6f9b', -- Variables, XML Tags, Errors
base09 = '#d8b4ff', -- Integers, Constants
base0A = '#c79aff', -- Classes, Search Background
base0B = '#b58fff', -- Strings, Diff Inserted
base0C = '#bd80ff', -- Regex, Escape Chars
base0D = '#ab80ff', -- Functions, Methods
base0E = '#b880ff', -- Keywords, Storage
base0F = '#bc0039', -- Deprecated, Embedded Tags
}
end
-- Register a signal handler for SIGUSR1 (matugen updates)
local signal = vim.uv.new_signal()
signal:start(
'sigusr1',
vim.schedule_wrap(function()
package.loaded['matugen'] = nil
require('matugen').setup()
end)
)
return M

67
lua/options.lua Normal file
View File

@@ -0,0 +1,67 @@
-- /lua/options.lua
-- This file is where i set all of the options and settings for nvim
-- [[setup]]
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
vim.g.have_nerd_font = true
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
-- [[Setting options]]
vim.o.spell = false -- turn on spellcheck
vim.o.spelllang = 'en_us' -- set English as spellcheck language
vim.opt.spellcapcheck = ""
vim.o.number = true -- Make line numbers default
vim.o.relativenumber = true
vim.o.showmode = false
vim.o.foldmethod = "expr"
-- Sync clipboard between OS and Neovim.
-- Schedule the setting after `UiEnter` because it can increase startup-time.
-- Remove this option if you want your OS clipboard to remain independent.
-- See `:help 'clipboard'`
vim.schedule(function()
vim.o.clipboard = 'unnamedplus'
end)
-- Enable break indent
-- Save undo history
vim.o.undofile = true
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
vim.o.ignorecase = true
vim.o.smartcase = true
-- Keep signcolumn on by default
vim.o.signcolumn = 'yes'
-- Decrease update time
vim.o.updatetime = 250
-- Decrease mapped sequence wait time
vim.o.timeoutlen = 300
-- Configure how new splits should be opened
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
-- Preview substitutions live, as you type!
vim.o.inccommand = 'split'
-- Show which line your cursor is on
vim.o.cursorline = true
-- Minimal number of screen lines to keep above and below the cursor.
vim.o.scrolloff = 25
-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
-- instead raise a dialog asking if you wish to save the current file(s)
-- See `:help 'confirm'`
vim.o.confirm = true
-- vim.opt.expandtab = false -- Do NOT turn tabs into spaces
-- vim.opt.tabstop = 4 -- A literal \t character looks 4 columns wide
-- vim.opt.shiftwidth = 4 -- Number of spaces for automated indentation (<< or >>)
-- vim.opt.softtabstop = 0 -- Let the backspace key delete a full hard tab
vim.opt.termguicolors = true -- required for colorizer
--set background color on entering and leaving nvim
require('autocommands')
vim.env.PATH = vim.fn.stdpath("data") .. "/mason/bin" .. ":" .. vim.env.PATH

View File

@@ -0,0 +1,13 @@
return {
"NakLast/antigravity-cli.nvim",
config = function()
require("antigravity").setup({
-- You can override the default command here if needed
cmd = "agy",
width_ratio = 0.4,
height_ratio = 0.8,
border = "rounded",
style = "vsplit",
})
end
}

View File

@@ -0,0 +1,129 @@
return {
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
--{{{ Options
opts = {
--- {{{ Display
display = {
chat = {
window = {
layout = "vertical",
width = 0.35,
height = 0.35,
},
keymaps = {
close = {
modes = {
n = "q", -- Bind "q" in normal mode to close the chat
},
index = 1,
callback = "keymaps.close",
description = "Close Chat",
},
}
},
},
-- }}}
--
-- {{{ INTERACTIONS
interactions = {
chat = {
adapter = "ollama_coder", -- Removed the curly braces
},
inline = {
adapter = "ollama_coder", -- Removed the curly braces
},
background = {
adapter = "ollama_bg", -- Pointed this to the new extended adapter string
}
},
-- }}}
--
-- {{{ Adapters
adapters = {
http = {
gemini_pro = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_pro",
schema = {
model = {
default = "gemini-3.5-flash",
},
},
})
end,
gemini_flash = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_flash",
schema = {
model = {
default = "gemini-2.0-flash",
},
},
})
end,
-- local ollama coding model
ollama_coder = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen2.5-coder:7b",
},
},
})
end,
-- Added an extended Ollama adapter to fix your background task
ollama_bg = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen3.5:4b",
},
},
})
end,
},
},
-- }}}
--
-- {{{ Library
prompt_library = {
["Local Executor"] = {
strategy = "chat",
description = "Executes implementation diffs locally and writes TDD test cases.",
opts = {
adapter = "ollama_coder", -- Force it to use your local hardware
is_default = false,
is_slash_cmd = false,
},
prompts = {
{
role = "system",
content = [[You are the Last Mile Executor.
You run in a stateless context. I will provide you with a unified diff and a testing plan.
Your strict execution order is:
1. Output the test case file modifications first (SDET-first).
2. Output the production implementation code modifications.
Do not write markdown headers (H1/H2). Use code blocks with the language ID.
Precede every code block with a line comment specifying the exact 'filepath:'.
Do not use bash syntax; adhere strictly to POSIX sh if writing shell automation.
Do not execute terminal commands directly. Output the code blocks for manual unstaged review.]],
},
{
role = "user",
content = "I am ready to provide the Planner's diff. Await my input.",
},
},
},
},
-- }}}
}
--}}}
}

17
lua/plugins/copilot.lua Normal file
View File

@@ -0,0 +1,17 @@
return {
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
opts = {
suggestion = {
enabled = false,
-- debounce = 150,
-- auto_trigger = true,
-- keymap = { accept = "M-CR"}
},
panel = { enabled = false },
},
},
{ "giuxtaposition/blink-cmp-copilot", dependencies = { "zbirenbaum/copilot.lua" } }
}

44
lua/plugins/dashboard.lua Normal file
View File

@@ -0,0 +1,44 @@
return {
'nvimdev/dashboard-nvim',
event = 'VimEnter',
lazy = false,
config = function()
require('dashboard').setup(
{
theme = 'hyper',
config = {
week_header = {
enable = true,
},
project = {
enable = false,
},
shortcut = {
{ desc = '󰊳 Update', group = '@property', action = 'Lazy update', key = 'u' },
{
icon = '',
icon_hl = '@variable',
desc = 'Files',
group = 'Label',
action = 'Telescope find_files',
key = 'f',
},
{
desc = ' file manager',
group = 'Label',
action = 'NvimTreeOpen',
key = 'e',
},
{
icon = '',
desc = ' Quit',
group = 'Label',
action = 'quitall',
key = 'q',
},
},
},
})
end,
dependencies = { {'nvim-tree/nvim-web-devicons'}}
}

17
lua/plugins/games.lua Normal file
View File

@@ -0,0 +1,17 @@
return {
-- "John-Bush14/neoburner",
-- config = function()
-- require("neoburner").setup({
-- -- needed
-- filesystem = "/home/venus/code/bitburner/", -- where bitburner filesystem will be placed
-- -- optional
-- address = "ws://localhost", -- localhost
-- port = 12525,
-- servers = {"home"}, -- servers wich will be in filesystem, cannot be set to "*" because of api limitations.
-- root_server = "home", -- or nil
-- servers_folder = "servers", -- or nil
-- })
-- end
}

View File

@@ -1,12 +1,12 @@
return { -- Adds git related signs to the gutter, as well as utilities for managing changes
'lewis6991/gitsigns.nvim',
opts = {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
},
}
'lewis6991/gitsigns.nvim',
opts = {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
},
}

View File

@@ -0,0 +1,10 @@
return {
'NMAC427/guess-indent.nvim',
config = function()
require('guess-indent').setup {
auto_cmd = true, -- Set to false to disable automatic execution
filetype_exclude = { 'netrw', 'tutor' }, -- A list of filetypes for which the auto command gets disabled
buftype_exclude = { 'help', 'nofile', 'terminal', 'prompt' }, -- A list of buffer types for which the auto command gets disabled
}
end,
} -- Detect tabstop and shiftwidth automatically

View File

@@ -0,0 +1,49 @@
return {
{
"folke/trouble.nvim",
cmd = { "Trouble" },
opts = {
modes = {
lsp = {
win = { position = "right" },
},
},
},
keys = {
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
{ "<leader>cs", "<cmd>Trouble symbols toggle<cr>", desc = "Symbols (Trouble)" },
{ "<leader>cS", "<cmd>Trouble lsp toggle<cr>", desc = "LSP references/definitions/... (Trouble)" },
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
{
"[q",
function()
if require("trouble").is_open() then
require("trouble").prev({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cprev)
if not ok then
vim.notify(err, vim.log.levels.ERROR)
end
end
end,
desc = "Previous Trouble/Quickfix Item",
},
{
"]q",
function()
if require("trouble").is_open() then
require("trouble").next({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cnext)
if not ok then
vim.notify(err, vim.log.levels.ERROR)
end
end
end,
desc = "Next Trouble/Quickfix Item",
},
},
},
}

View File

@@ -1,239 +1,108 @@
return {
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
-- used for completion, annotations and signatures of Neovim apis
'folke/lazydev.nvim',
ft = 'lua',
opts = {
library = {
-- Load luvit types when the `vim.uv` word is found
{ path = '${3rd}/luv/library', words = { 'vim%.uv' } },
},
},
return { -- adds lsp functionality and api for included languages
{
-- Main LSP Configuration
'neovim/nvim-lspconfig',
"neovim/nvim-lspconfig",
dependencies = {
-- Automatically install LSPs and related tools to stdpath for Neovim
-- Mason must be loaded before its dependents so we need to set it up here.
-- NOTE: `opts = {}` is the same as calling `require('mason').setup({})`
{ 'mason-org/mason.nvim', opts = {} },
'mason-org/mason-lspconfig.nvim',
'WhoIsSethDaniel/mason-tool-installer.nvim',
-- Useful status updates for LSP.
{ 'j-hui/fidget.nvim', opts = {} },
-- Allows extra capabilities provided by blink.cmp
'saghen/blink.cmp',
},
config = function()
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }),
callback = function(event)
local map = function(keys, func, desc, mode)
mode = mode or 'n'
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
end
-- Rename the variable under your cursor.
-- Most Language Servers support renaming across files, etc.
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
-- Execute a code action, usually your cursor needs to be on top of an error
-- or a suggestion from your LSP for this to activate.
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
-- Find references for the word under your cursor.
map('grr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
-- Jump to the implementation of the word under your cursor.
-- Useful when your language has ways of declaring types without an actual implementation.
map('gri', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
-- Jump to the definition of the word under your cursor.
-- This is where a variable was first declared, or where a function is defined, etc.
-- To jump back, press <C-t>.
map('grd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition')
-- WARN: This is not Goto Definition, this is Goto Declaration.
-- For example, in C this would take you to the header.
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- Fuzzy find all the symbols in your current document.
-- Symbols are things like variables, functions, types, etc.
map('gO', require('telescope.builtin').lsp_document_symbols, 'Open Document Symbols')
-- Fuzzy find all the symbols in your current workspace.
-- Similar to document symbols, except searches over your entire project.
map('gW', require('telescope.builtin').lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
-- Jump to the type of the word under your cursor.
-- Useful when you're not sure what type a variable is and you want to see
-- the definition of its *type*, not where it was *defined*.
map('grt', require('telescope.builtin').lsp_type_definitions, '[G]oto [T]ype Definition')
-- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10)
---@param client vim.lsp.Client
---@param method vim.lsp.protocol.Method
---@param bufnr? integer some lsp support methods only in specific files
---@return boolean
local function client_supports_method(client, method, bufnr)
if vim.fn.has 'nvim-0.11' == 1 then
return client:supports_method(method, bufnr)
else
return client.supports_method(method, { bufnr = bufnr })
end
end
-- The following two autocommands are used to highlight references of the
-- word under your cursor when your cursor rests there for a little while.
-- See `:help CursorHold` for information about when this is executed
--
-- When you move your cursor, the highlights will be cleared (the second autocommand).
local client = vim.lsp.get_client_by_id(event.data.client_id)
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.document_highlight,
})
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.clear_references,
})
vim.api.nvim_create_autocmd('LspDetach', {
group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
callback = function(event2)
vim.lsp.buf.clear_references()
vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
{ "mason-org/mason.nvim", config = true }, -- The "App Store"
{ "mason-org/mason-lspconfig.nvim", config = true }, -- The "Bridge"
{
'saghen/blink.cmp',
version = '*', -- Downloads pre-built binaries (fast!)
opts =
{
keymap = {
preset = 'none',
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
['<C-e>'] = { 'hide', 'fallback' },
-- Use home-row modifications for navigation
['<C-n>'] = { 'select_next', 'fallback' },
['<C-p>'] = { 'select_prev', 'fallback' },
-- A robust Tab behavior that accepts selections and jumps through snippets
['<Tab>'] = {
function(cmp)
if cmp.is_visible() then return cmp.accept() end
if cmp.snippet_active() then return cmp.snippet_forward() end
end,
})
end
-- The following code creates a keymap to toggle inlay hints in your
-- code, if the language server you are using supports them
--
-- This may be unwanted, since they displace some of your code
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
map('<leader>th', function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
end, '[T]oggle Inlay [H]ints')
end
end,
})
-- Diagnostic Config
-- See :help vim.diagnostic.Opts
vim.diagnostic.config {
severity_sort = true,
float = { border = 'rounded', source = 'if_many' },
underline = { severity = vim.diagnostic.severity.ERROR },
signs = vim.g.have_nerd_font and {
text = {
[vim.diagnostic.severity.ERROR] = '󰅚 ',
[vim.diagnostic.severity.WARN] = '󰀪 ',
[vim.diagnostic.severity.INFO] = '󰋽 ',
[vim.diagnostic.severity.HINT] = '󰌶 ',
'fallback'
},
['<S-Tab>'] = {
function(cmp)
if cmp.snippet_active() then return cmp.snippet_backward() end
end,
'fallback'
},
},
} or {},
virtual_text = {
source = 'if_many',
spacing = 2,
format = function(diagnostic)
local diagnostic_message = {
[vim.diagnostic.severity.ERROR] = diagnostic.message,
[vim.diagnostic.severity.WARN] = diagnostic.message,
[vim.diagnostic.severity.INFO] = diagnostic.message,
[vim.diagnostic.severity.HINT] = diagnostic.message,
}
return diagnostic_message[diagnostic.severity]
end,
},
}
-- LSP servers and clients are able to communicate to each other what features they support.
-- By default, Neovim doesn't support everything that is in the LSP specification.
-- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities.
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
local capabilities = require('blink.cmp').get_lsp_capabilities()
-- Enable the following language servers
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
--
-- Add any additional override configuration in the following tables. Available keys are:
-- - cmd (table): Override the default command used to start the server
-- - filetypes (table): Override the default list of associated filetypes for the server
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
-- - settings (table): Override the default settings passed when initializing the server.
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
local servers = {
clangd = {},
-- intelephense = {},
-- gopls = {},
-- pyright = {},
-- rust_analyzer = {},
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
--
-- Some languages (like typescript) have entire language plugins that can be useful:
-- https://github.com/pmizio/typescript-tools.nvim
--
-- But for many setups, the LSP (`ts_ls`) will work just fine
-- ts_ls = {},
--
lua_ls = {
-- cmd = { ... },
-- filetypes = { ... },
-- capabilities = {},
settings = {
Lua = {
completion = {
callSnippet = 'Replace',
-- keymap = {
-- preset = 'none',
-- ['<Down>'] = { 'select_next', 'fallback' },
-- ['<Up>'] = { 'select_prev', 'fallback' },
-- ['<Tab>'] = { 'accept', 'fallback' },
-- ['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
-- },
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer', 'copilot' },
providers = {
copilot = { name = 'copilot', module = 'blink-cmp-copilot', score_offset = 100, async = true }
},
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
-- diagnostics = { disable = { 'missing-fields' } },
},
completion = {
ghost_text = { enabled = true },
},
},
},
}
-- Ensure the servers and tools above are installed
--
-- To check the current status of installed tools and/or manually install
-- other tools, you can run
-- :Mason
--
-- You can press `g?` for help in this menu.
--
-- `mason` had to be setup earlier: to configure its options see the
-- `dependencies` table for `nvim-lspconfig` above.
--
-- You can add other tools here that you want Mason to install
-- for you, so that they are available from within Neovim.
local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, {
'stylua', -- Used to format Lua code
})
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
require('mason-lspconfig').setup {
ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
automatic_installation = false,
handlers = {
function(server_name)
local server = servers[server_name] or {}
-- This handles overriding only values explicitly passed
-- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server)
end,
{
'MeanderingProgrammer/render-markdown.nvim',
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.nvim' }, -- if you use the mini.nvim suite
---@module 'render-markdown'
},
}
end,
},
}
config = function()
local lspconfig = require('lspconfig')
-- Since you are using blink.cmp, extract its capabilities
local capabilities = require('blink.cmp').get_lsp_capabilities()
-- Configure OmniSharp for C# / nanoFramework development
lspconfig.omnisharp.setup({
capabilities = capabilities,
cmd = { "omnisharp" },
settings = {
FormattingOptions = {
EnableEditorConfigSupport = true,
},
MsBuild = {
LoadProjectsOnDemand = false,
},
},
on_attach = function(client, bufnr)
local opts = { buffer = bufnr, remap = false }
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
vim.keymap.set("n", "<leader>ca", function() vim.lsp.buf.code_action() end, opts)
end,
})
end
},
},
{
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- Only load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
-- always load the LazyVim library
"LazyVim",
-- Only load the lazyvim library when the `LazyVim` global is found
{ path = "LazyVim", words = { "LazyVim" } },
-- Load the wezterm types when the `wezterm` module is required
-- Needs `DrKJeff16/wezterm-types` to be installed
{ path = "wezterm-types", mods = { "wezterm" } },
-- Load the xmake types when opening file named `xmake.lua`
-- Needs `LelouchHe/xmake-luals-addon` to be installed
{ path = "xmake-luals-addon/library", files = { "xmake.lua" } },
},
-- disable when a .luarc.json file is found
enabled = function(root_dir)
return not vim.uv.fs_stat(root_dir .. "/.luarc.json")
end,
},
},
}

View File

@@ -1,64 +1,90 @@
return {
return { -- adds more detailed bar below the pane
{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'auto',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
always_show_tabline = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
refresh_time = 16, -- ~60fps
events = {
'WinEnter',
'BufEnter',
'BufWritePost',
'SessionLoadPost',
'FileChangedShellPost',
'VimResized',
'Filetype',
'CursorMoved',
'CursorMovedI',
'ModeChanged',
options = {
icons_enabled = true,
theme = 'auto',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
always_show_tabline = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
refresh_time = 16, -- ~60fps
events = {
'WinEnter',
'BufEnter',
'BufWritePost',
'SessionLoadPost',
'FileChangedShellPost',
'VimResized',
'Filetype',
'CursorMoved',
'CursorMovedI',
'ModeChanged',
},
}
},
sections = {
lualine_a = {'mode', 'lsp_status'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {'filename'},
-- lualine_d = {'tabs', 'windows'},
lualine_x = {'searchcount', 'selectioncount', 'fileformat', 'filetype'},
lualine_y = {'progress', 'location'},
lualine_z = {{'datetime', style = "%m/%d %H:%M"}}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {
-- lualine_a = {'filename'}
},
winbar = {},
inactive_winbar = {},
extensions = {}
}
end
},
sections = {
lualine_a = {'mode', 'lsp_status'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {'filename'},
-- lualine_d = {'tabs', 'windows'},
lualine_x = {'searchcount', 'selectioncount', 'fileformat', 'filetype'},
lualine_y = {'progress', 'location'},
lualine_z = {{'datetime', style = "%m/%d %H:%M"}}
{
'akinsho/bufferline.nvim',
version = "*",
dependencies = 'nvim-tree/nvim-web-devicons',
config = function()
local bufferline = require('bufferline')
bufferline.setup{
options = {
themable = true,
numbers = "buffer_id",
indicator = {
icon = '', -- this should be omitted if indicator style is not 'icon'
style = 'icon',
},
buffer_close_icon = '󰅖',
modified_icon = '',
close_icon = '',
left_trunc_marker = '',
right_trunc_marker = '',
diagnostics = "nvim_lsp",
}
}
end
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {
-- lualine_a = {'filename'}
},
winbar = {},
inactive_winbar = {},
extensions = {}
}
end
}

View File

@@ -1,5 +1,5 @@
return {
-- Collection of various small independent plugins/modules
return { -- Collection of various small independent plugins/modules
{
'echasnovski/mini.nvim',
config = function()
-- Better Around/Inside textobjects
@@ -29,8 +29,18 @@ return {
require('mini.clue').setup()
require('mini.pairs').setup()
end,
},
{
'folke/snacks.nvim',
config = function()
require("snacks").setup({
image = {
enabled = true,
-- This ensures that when you open an image file, it renders
-- You can also toggle it manually with :SnacksImage
},
})
end,
}
}

View File

@@ -1,4 +1,4 @@
return {
return { -- add git tui functionality
"NeogitOrg/neogit",
lazy = true,
dependencies = {
@@ -14,5 +14,15 @@ return {
cmd = "Neogit",
keys = {
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Show Neogit UI" }
}
},
config = function()
local ng = require("neogit")
ng.setup({
kind = "floating",
commit_editor = {
kind = "floating",
stages_diff_split_kind = "split"
},
})
end,
}

34
lua/plugins/neotest.lua Normal file
View File

@@ -0,0 +1,34 @@
return {
"nvim-neotest/neotest",
dependencies = {
"nvim-neotest/nvim-nio",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-neotest/neotest-python",
"nvim-neotest/neotest-plenary",
"rcarriga/neotest-vim-test",
},
config = function()
local neotest = require("neotest")
neotest.setup({
adapters = {
require("neotest-python")({
dap = { justMyCode = false },
runner = "pytest",
python = ".venv/bin/python"
}),
require("neotest-plenary"),
require("neotest-vim-test")({
ignore_file_types = { "python", "vim", "lua" },
}),
},
})
vim.keymap.set('n', '<leader>tr' ,function() neotest.run.run() end ,{ desc = 'Neo[T]est [R]un' })
vim.keymap.set('n', '<leader>tf' ,function() neotest.run.run(vim.fn.expand("%")) end ,{ desc = 'Neo[T]est Run [F]ile' })
vim.keymap.set('n', '<leader>td' ,function() neotest.run.run({ strategy = "dap" }) end ,{ desc = 'Neo[T]est [D]ebug' })
vim.keymap.set('n', '<leader>to' ,function() neotest.output_panel.toggle() end ,{ desc = 'Neo[T]est [O]utput Panel' })
vim.keymap.set('n', '<leader>ts' ,function() neotest.summary.toggle() end ,{ desc = 'Neo[T]est [S]ummary Sidebar' })
vim.keymap.set('n', ']t' ,function() neotest.jump.next({ status = 'failed' }) end,{ desc = 'Next Failed Test' })
vim.keymap.set('n', '[t' ,function() neotest.jump.prev({ status = 'failed' }) end,{ desc = 'Prev Failed Test' })
end,
}

20
lua/plugins/nerdtree.lua Normal file
View File

@@ -0,0 +1,20 @@
return { -- adds a more in-depth file manager with support for syntax highlighting and more commands
'nvim-tree/nvim-tree.lua',
dependencies = {
'nvim-tree/nvim-web-devicons',
},
config = function()
require("nvim-tree").setup({
view = {
side = "left",
width = 30,
},
actions = {
open_file = {
-- This is the "open in adjacent pane" equivalent
window_picker = { enable = true },
},
},
})
end,
}

40
lua/plugins/obsidian.lua Normal file
View File

@@ -0,0 +1,40 @@
return {
"epwalsh/obsidian.nvim",
version = "*", -- recommended, use latest release instead of latest commit
lazy = true,
-- ft = "markdown",
-- swap event for ft line to load on all markdown files, not just those in the vault
event = {
-- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'.
-- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/*.md"
-- refer to `:h file-pattern` for more examples
"BufReadPre /home/venus/Documents/Notes/*.md",
"BufNewFile /home/venus/Documents/Notes/*.md",
},
dependencies = {
-- Required.
"nvim-lua/plenary.nvim",
},
opts = {
workspaces = {
{
name = "Primay",
path = "~/Notes",
},
{
name = "Old",
path = "~/Documents/Personal-Wiki/",
},
},
daily_notes = {
-- Optional, if you want to change the date format for the ID of daily notes.
date_format = "%Y-%m-%d",
-- Optional, default tags to add to each new daily note created.
default_tags = { "daily" },
-- Optional, if you want to automatically insert a template from your template directory like 'daily.md'
template = "templates/Daily Note.md",
},
new_notes_location = "current_dir",
},
}

View File

@@ -1,4 +1,4 @@
return {
return { -- syncronizes activity with Discord rich presence
'andweeb/presence.nvim',
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
neovim_image_text = 'The One True Text Editor', -- Text displayed when hovered over the Neovim image

11
lua/plugins/re.lua Normal file
View File

@@ -0,0 +1,11 @@
return {
'RaafatTurki/hex.nvim',
config = function()
require 'hex'.setup {
-- cli command used to dump hex data
dump_cmd = 'xxd -g 1 -u',
-- cli command used to assemble from hex data
assemble_cmd = 'xxd -r',
}
end,
}

14
lua/plugins/remote.lua Normal file
View File

@@ -0,0 +1,14 @@
return {
"amitds1997/remote-nvim.nvim",
version = "*", -- Pin to GitHub releases for stability
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
"MunifTanjim/nui.nvim",
},
config = function()
require("remote-nvim").setup({
ssh_config_file_paths = { vim.fn.expand("$HOME/.ssh/config") },
})
end
}

View File

@@ -1,12 +0,0 @@
return {
'0xm4n/resize.nvim',
keys = {
-- Format: { 'key', 'command', desc = 'description', [opts]
{ '<M-Left>', "<cmd>lua require('resize').ResizeLeft()<CR>", { silent = true } },
{ '<M-Right>', "<cmd>lua require('resize').ResizeRight()<CR>", { silent = true } },
{ '<M-Up>', "<cmd>lua require('resize').ResizeUp()<CR>", { silent = true } },
{ '<M-Down>', "<cmd>lua require('resize').ResizeDown()<CR>", { silent = true } },
},
}

View File

@@ -1,17 +0,0 @@
return {
'soywod/iris.vim', -- unsure
'tpope/vim-commentary', -- commenting lines with shortcut
-- 'vimpostor/vim-tpipeline', -- integrate with tmux status-line
'kshenoy/vim-signature', -- tag lines
'mg979/vim-visual-multi', -- work on multiple lines at once
{'NMAC427/guess-indent.nvim', -- Detect tabstop and shiftwidth automatically
config = function() require('guess-indent').setup {} end,},
'obsidian-nvim/obsidian.nvim', -- work with obsidian
{ 'edluffy/hologram.nvim', auto_display = true,}, --image viewer
'nvim-tree/nvim-web-devicons', -- nerdfont!
'nvim-lualine/lualine.nvim', -- lualine
'TamaMcGlinn/vim-termhere', --simple terminal QOL
"rktjmp/lush.nvim", -- better theme editing
{ "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart
{'akinsho/toggleterm.nvim', version = "*", config = true} -- terminal toggling and commands
}

View File

@@ -1,6 +0,0 @@
return {
'xemptuous/sqlua.nvim',
lazy = true,
cmd = 'SQLua',
config = function() require('sqlua').setup() end
}

View File

@@ -1,5 +0,0 @@
return { 'alex-popov-tech/store.nvim',
dependencies = { 'OXY2DEV/markview.nvim' },
opts = {},
cmd = 'Store',
}

View File

@@ -1,4 +1,9 @@
return {
'nvim-telescope/telescope.nvim', tag = 'v0.2.0',
dependencies = { 'nvim-lua/plenary.nvim', 'BurntSushi/ripgrep', 'sharkdp/fd' }
}
return {
'nvim-telescope/telescope.nvim', tag = 'v0.2.0',
dependencies = {
'nvim-lua/plenary.nvim',
'BurntSushi/ripgrep',
'sharkdp/fd'
}
}

View File

@@ -1,21 +1,24 @@
-- Plugin: zaldih/themery.nvim
-- Installed via store.nvim
return {
return { -- adds a command to live view listed themes
-- TODO dynamically update themes
'zaldih/themery.nvim',
lazy = false,
config = function()
require('themery').setup {
themes = {
'catppuccin-latte',
'catppuccin-frappe',
'catppuccin-macchiato',
'catppuccin-mocha',
'noctalia',
'zellner',
'zaibatsu',
'wildcharm',
'vim',
'unokai',
'torte',
'tokyonight-storm',
'tokyonight-night',
'tokyonight-day',
-- 'tokyonight-storm',
-- 'tokyonight-night',
-- 'tokyonight-day',
'sorbet',
'slate',
'shine',

View File

@@ -1,25 +1,36 @@
return { -- Highlight, edit, and navigate code
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
-- main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- -- [[ Configure Treesitter ]] See `:help nvim-treesitter`
-- opts = {
-- ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
-- -- Autoinstall languages that are not installed
-- auto_install = true,
-- highlight = {
-- enable = true,
-- -- Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules.
-- -- If you are experiencing weird indenting issues, add the language to
-- -- the list of additional_vim_regex_highlighting and disabled languages for indent.
-- additional_vim_regex_highlighting = { 'ruby' },
-- },
-- indent = { enable = true, disable = { 'ruby' } },
-- },
-- -- There are additional nvim-treesitter modules that you can use to interact
-- -- with nvim-treesitter. You should go explore a few and see what interests you:
-- --
-- -- - Incremental selection: Included, see `:help nvim-treesitter-incremental-selection-mod`
-- -- - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context
-- -- - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
}
return { -- basic tree sitter parser support
"nvim-treesitter/nvim-treesitter",
opts = {
indent = { enable = true },
highlight = { enable = true },
folds = { enable = true },
ensure_installed = {
"bash",
"c",
"diff",
"html",
"javascript",
"jsdoc",
"json",
"lua",
"luadoc",
"luap",
"markdown",
"markdown_inline",
"printf",
"python",
"query",
"regex",
"toml",
"tsx",
"typescript",
"vim",
"vimdoc",
"xml",
"yaml",
"zsh",
"cmake",
"c_sharp",
},
}
}

View File

@@ -1 +0,0 @@
lua/plugins/simple.lua

30
spell/en.utf-8.add Normal file
View File

@@ -0,0 +1,30 @@
#xploring
gzipped
ext4
picoCTF
#othing
symlinked
Openrc
dir
Picoctf
nc
Gaviria
unix
linux
netcat
Ransomware
tmux
Pico
Pico
VPN
WLAN
GAN
Lan
TCP
UPD
biometrics
WPA
eduroam
pre-defined
#tateful
hashcat

BIN
spell/en.utf-8.add.spl Normal file

Binary file not shown.

0
tar_error.log Normal file
View File