mirror of
https://github.com/tanishq-dubey/.dotfiles.git
synced 2025-01-01 08:17:21 -05:00
Add all dotfiles
This commit is contained in:
commit
3506c21b8d
21
git/.gitconfig
Normal file
21
git/.gitconfig
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
[user]
|
||||||
|
signingkey = 0D0F75C0132BFC41
|
||||||
|
name = Tanishq Dubey
|
||||||
|
email = tdubey@clearstreet.io
|
||||||
|
[core]
|
||||||
|
editor = nvim
|
||||||
|
[init]
|
||||||
|
defaultBranch = develop
|
||||||
|
[color]
|
||||||
|
ui = auto
|
||||||
|
[push]
|
||||||
|
default = upstream
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
[credential]
|
||||||
|
helper = store
|
20
nvim/.config/nvim/init.lua
Normal file
20
nvim/.config/nvim/init.lua
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
require 'dubey.options'
|
||||||
|
require 'dubey.keymap'
|
||||||
|
require 'dubey.theme'
|
||||||
|
require 'dubey.plugins'
|
||||||
|
require 'dubey.plugins.whichkey'
|
||||||
|
require 'dubey.plugins.autopairs'
|
||||||
|
require 'dubey.plugins.term'
|
||||||
|
require 'dubey.plugins.notify'
|
||||||
|
require 'dubey.plugins.bufferline'
|
||||||
|
require 'dubey.plugins.nvimtree'
|
||||||
|
require 'dubey.plugins.lualine'
|
||||||
|
require 'dubey.plugins.complet'
|
||||||
|
require 'dubey.plugins.treesitter'
|
||||||
|
require 'dubey.plugins.lsp'
|
||||||
|
require 'dubey.plugins.telescope'
|
||||||
|
require 'dubey.plugins.folds'
|
||||||
|
require 'dubey.plugins.indent'
|
||||||
|
require 'dubey.plugins.scrollbar'
|
||||||
|
require 'dubey.plugins.session'
|
||||||
|
require 'dubey.plugins.session'
|
27
nvim/.config/nvim/lua/dubey/keymap.lua
Normal file
27
nvim/.config/nvim/lua/dubey/keymap.lua
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
vim.g.maplocalleader = ","
|
||||||
|
vim.g.mapleader = ","
|
||||||
|
|
||||||
|
|
||||||
|
local keymap = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
vim.g.mapleader = ','
|
||||||
|
vim.g.maplocalleader = ','
|
||||||
|
|
||||||
|
-- Escape in terminal Mode
|
||||||
|
keymap('t', '<M-Esc>', '<C-\\><C-n>', {noremap = true})
|
||||||
|
|
||||||
|
-- Vim Tmux Keymaps
|
||||||
|
keymap('n', '<C-h>', ':TmuxNavigateLeft<CR>', { noremap = true, silent = true })
|
||||||
|
keymap('n', '<C-j>', ':TmuxNavigateDown<CR>', { noremap = true, silent = true })
|
||||||
|
keymap('n', '<C-l>', ':TmuxNavigateRight<CR>', { noremap = true, silent = true })
|
||||||
|
keymap('n', '<C-k>', ':TmuxNavigateUp<CR>', { noremap = true, silent = true })
|
||||||
|
|
||||||
|
keymap('n', '<Leader>vp', ':VimuxPromptCommand<CR>', {})
|
||||||
|
keymap('n', '<Leader>vl', ':VimuxRunLastCommand<CR>', {})
|
||||||
|
|
||||||
|
-- LSP Keymaps
|
||||||
|
keymap('n', 'gd', ':lua vim.lsp.buf.definition()<CR>', { noremap = true, silent = true })
|
||||||
|
keymap('n', 'gr', ':lua vim.lsp.buf.references()<CR>', { noremap = true, silent = true })
|
||||||
|
keymap('n', 'gi', ':lua vim.lsp.buf.implementation()<CR>', { noremap = true, silent = true })
|
||||||
|
keymap('n', 'gD', ':lua vim.lsp.buf.declaration()<CR>', { noremap = true, silent = true })
|
35
nvim/.config/nvim/lua/dubey/options.lua
Normal file
35
nvim/.config/nvim/lua/dubey/options.lua
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
local options = {
|
||||||
|
mouse = "a", -- use the mouse
|
||||||
|
tabstop = 2, -- tabs are two spaces
|
||||||
|
wrap = false, -- don't wrap lines
|
||||||
|
cmdheight = 2, -- make bottom command size bigger
|
||||||
|
number = true, -- show numbers on the side
|
||||||
|
hlsearch = true, -- highlight search results
|
||||||
|
shiftwidth = 2, -- Nubmer of spaces to use for each step of (auto)indent
|
||||||
|
undofile = true, -- create and use a undo file
|
||||||
|
numberwidth = 4, -- how wide the number column is
|
||||||
|
swapfile = false, -- I don't like swap files
|
||||||
|
timeoutlen = 100, -- reduce waiting time
|
||||||
|
expandtab = true, -- tabs are spaces
|
||||||
|
smartcase = true, -- case insensitive unless there are caps characters
|
||||||
|
updatetime = 300, -- millis idle before vim saves state
|
||||||
|
ignorecase = true, -- case insensitive search
|
||||||
|
splitbelow = true, -- create splits below current window
|
||||||
|
splitright = true, -- create splits on right side of current window
|
||||||
|
sidescrolloff = 8, -- The minimal number of screen columns to keep to the left and to the right of the cursor
|
||||||
|
cursorline = true, -- show a line at the cursor position (highlight the line)
|
||||||
|
signcolumn = "yes", -- show a column next to numbers for signs (such as git)
|
||||||
|
smartindent = true, -- uhhhh...smartly try to indent text?
|
||||||
|
writebackup = true, -- Make a backup before overwriting a file
|
||||||
|
termguicolors = true, -- really pretty colors
|
||||||
|
foldmethod = "syntax", -- use syntax to fold code
|
||||||
|
fileencoding = "utf-8", -- the best encoding
|
||||||
|
relativenumber = false, -- who even uses relative numbers
|
||||||
|
clipboard = "unnamedplus", -- copy into register and system clipboard
|
||||||
|
completeopt = { "menuone", "noselect" }, -- how to show completion options
|
||||||
|
background = "dark", -- light backgrounds for light themes
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v in pairs(options) do
|
||||||
|
vim.opt[k] = v
|
||||||
|
end
|
31
nvim/.config/nvim/lua/dubey/plugins/autopairs.lua
Normal file
31
nvim/.config/nvim/lua/dubey/plugins/autopairs.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
local present, npairs = pcall(require, "nvim-autopairs")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
npairs.setup({
|
||||||
|
check_ts = true,
|
||||||
|
ts_config = {
|
||||||
|
lua = { "string", "source" },
|
||||||
|
javascript = { "string", "template_string" },
|
||||||
|
},
|
||||||
|
disable_filetype = { "TelescopePrompt" },
|
||||||
|
fast_wrap = {
|
||||||
|
map = "<M-e>",
|
||||||
|
chars = { "{", "[", "(", '"', "'", "<" },
|
||||||
|
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,%>] ]], "%s+", ""),
|
||||||
|
offset = 0,
|
||||||
|
end_key = "$",
|
||||||
|
keys = "qwertyuiopzxcvbnmasdfghjkl",
|
||||||
|
check_comma = true,
|
||||||
|
highlight = "PmenuSel",
|
||||||
|
highlight_grey = "LineNr",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||||
|
local cmp_present, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))
|
90
nvim/.config/nvim/lua/dubey/plugins/bufferline.lua
Normal file
90
nvim/.config/nvim/lua/dubey/plugins/bufferline.lua
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
local present, bufferline = pcall(require, "bufferline")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local _, theme = pcall(require, "afreidz.theme.colors")
|
||||||
|
local colors = theme
|
||||||
|
local highlights = {
|
||||||
|
indicator_selected = {
|
||||||
|
guifg = colors.sky,
|
||||||
|
guibg = colors.black2,
|
||||||
|
},
|
||||||
|
fill = {
|
||||||
|
guifg = colors.black4,
|
||||||
|
guibg = colors.black3,
|
||||||
|
},
|
||||||
|
background = {
|
||||||
|
guifg = colors.gray0,
|
||||||
|
guibg = colors.black3,
|
||||||
|
},
|
||||||
|
buffer_selected = {
|
||||||
|
guifg = colors.white,
|
||||||
|
guibg = colors.black2,
|
||||||
|
gui = "italic",
|
||||||
|
},
|
||||||
|
buffer_visible = {
|
||||||
|
guifg = colors.gray0,
|
||||||
|
guibg = colors.black2,
|
||||||
|
},
|
||||||
|
close_button = {
|
||||||
|
guifg = colors.black4,
|
||||||
|
guibg = colors.black3,
|
||||||
|
},
|
||||||
|
close_button_visible = {
|
||||||
|
guifg = colors.black4,
|
||||||
|
guibg = colors.black2,
|
||||||
|
},
|
||||||
|
close_button_selected = {
|
||||||
|
guifg = colors.gray0,
|
||||||
|
guibg = colors.black2,
|
||||||
|
},
|
||||||
|
separator = {
|
||||||
|
guifg = colors.black3,
|
||||||
|
guibg = colors.black3,
|
||||||
|
},
|
||||||
|
separator_visible = {
|
||||||
|
guifg = colors.black3,
|
||||||
|
guibg = colors.black3,
|
||||||
|
},
|
||||||
|
separator_selected = {
|
||||||
|
guifg = colors.black3,
|
||||||
|
guibg = colors.black3,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local setup = {
|
||||||
|
highlights = highlights,
|
||||||
|
options = {
|
||||||
|
tab_size = 21,
|
||||||
|
numbers = "none",
|
||||||
|
diagnostics = true,
|
||||||
|
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
|
return "("..count..")"
|
||||||
|
end,
|
||||||
|
modified_icon = "●",
|
||||||
|
indicator_icon = "▎",
|
||||||
|
max_name_length = 30,
|
||||||
|
max_prefix_length = 30,
|
||||||
|
close_icon = '',
|
||||||
|
buffer_close_icon = '',
|
||||||
|
left_trunc_marker = '',
|
||||||
|
right_trunc_marker = '',
|
||||||
|
show_close_icon = false,
|
||||||
|
show_buffer_icons = true,
|
||||||
|
separator_style = "slant",
|
||||||
|
middle_mouse_command = nil,
|
||||||
|
show_tab_indicators = true,
|
||||||
|
persist_buffer_sort = true,
|
||||||
|
enforce_regular_tabs = true,
|
||||||
|
close_command = "bdelete! %d",
|
||||||
|
always_show_bufferline = true,
|
||||||
|
show_buffer_close_icons = true,
|
||||||
|
left_mouse_command = "buffer %d",
|
||||||
|
right_mouse_command = "bdelete! %d",
|
||||||
|
diagnostics_update_in_insert = false,
|
||||||
|
offsets = { { filetype = "NvimTree", text = " ", padding = 1, text_align = "left" } },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
bufferline.setup(setup)
|
108
nvim/.config/nvim/lua/dubey/plugins/complet.lua
Normal file
108
nvim/.config/nvim/lua/dubey/plugins/complet.lua
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
local present, cmp = pcall(require, "cmp")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local check_backspace = function()
|
||||||
|
local col = vim.fn.col(".") - 1
|
||||||
|
return col == 0 or vim.fn.getline("."):sub(col, col):match("%s")
|
||||||
|
end
|
||||||
|
|
||||||
|
local kind_icons = {
|
||||||
|
Text = "",
|
||||||
|
Method = "m",
|
||||||
|
Function = "",
|
||||||
|
Constructor = "",
|
||||||
|
Field = "",
|
||||||
|
Variable = "",
|
||||||
|
Class = "",
|
||||||
|
Interface = "",
|
||||||
|
Module = "",
|
||||||
|
Property = "",
|
||||||
|
Unit = "",
|
||||||
|
Value = "",
|
||||||
|
Enum = "",
|
||||||
|
Keyword = "",
|
||||||
|
Snippet = "",
|
||||||
|
Color = "",
|
||||||
|
File = "",
|
||||||
|
Reference = "",
|
||||||
|
Folder = "",
|
||||||
|
EnumMember = "",
|
||||||
|
Constant = "",
|
||||||
|
Struct = "",
|
||||||
|
Event = "",
|
||||||
|
Operator = "",
|
||||||
|
TypeParameter = "",
|
||||||
|
}
|
||||||
|
|
||||||
|
local snp_present, luasnip = pcall(require, "luasnip")
|
||||||
|
if not snp_present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||||
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
elseif luasnip.expandable() then
|
||||||
|
luasnip.expand()
|
||||||
|
elseif luasnip.expand_or_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
elseif check_backspace() then
|
||||||
|
fallback()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
elseif luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { "i", "s" }),
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = { "kind", "abbr", "menu" },
|
||||||
|
format = function(entry, vim_item)
|
||||||
|
vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
||||||
|
vim_item.menu = ({
|
||||||
|
nvim_lsp = "[LSP]",
|
||||||
|
luasnip = "[Snippet]",
|
||||||
|
buffer = "[Buffer]",
|
||||||
|
path = "[Path]",
|
||||||
|
})[entry.source.name]
|
||||||
|
return vim_item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
{ name = "path" },
|
||||||
|
},
|
||||||
|
confirm_opts = {
|
||||||
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
|
select = false,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
documentation = {
|
||||||
|
border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
experimental = {
|
||||||
|
ghost_text = false,
|
||||||
|
native_menu = false,
|
||||||
|
},
|
||||||
|
})
|
24
nvim/.config/nvim/lua/dubey/plugins/folds.lua
Normal file
24
nvim/.config/nvim/lua/dubey/plugins/folds.lua
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
local _fold, fold = pcall(require, "pretty-fold")
|
||||||
|
if not _fold then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local preview = require("pretty-fold.preview")
|
||||||
|
|
||||||
|
fold.setup({
|
||||||
|
keep_indentation = false,
|
||||||
|
fill_char = "━",
|
||||||
|
sections = {
|
||||||
|
left = {
|
||||||
|
"━ ",
|
||||||
|
function()
|
||||||
|
return string.rep("*", vim.v.foldlevel)
|
||||||
|
end,
|
||||||
|
" ━┫",
|
||||||
|
"content",
|
||||||
|
"┣",
|
||||||
|
},
|
||||||
|
right = { "┫ ", "number_of_folded_lines", " ┣━━" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
11
nvim/.config/nvim/lua/dubey/plugins/indent.lua
Normal file
11
nvim/.config/nvim/lua/dubey/plugins/indent.lua
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
local _indent, indent = pcall(require, "indent_blankline")
|
||||||
|
if not _indent then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
indent.setup({
|
||||||
|
char = " ",
|
||||||
|
context_char = "│",
|
||||||
|
show_current_context = true,
|
||||||
|
buftype_exclude = { "terminal" },
|
||||||
|
})
|
133
nvim/.config/nvim/lua/dubey/plugins/init.lua
Normal file
133
nvim/.config/nvim/lua/dubey/plugins/init.lua
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
local fn = vim.fn
|
||||||
|
|
||||||
|
local dir = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||||
|
if fn.empty(fn.glob(dir)) > 0 then
|
||||||
|
bootstrap = fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--depth",
|
||||||
|
"1",
|
||||||
|
"https://github.com/wbthomason/packer.nvim",
|
||||||
|
dir,
|
||||||
|
})
|
||||||
|
print("Installing packer close and reopen Neovim...")
|
||||||
|
vim.cmd([[packadd packer.nvim]])
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd([[
|
||||||
|
augroup packer_user_config
|
||||||
|
autocmd!
|
||||||
|
autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
||||||
|
augroup end
|
||||||
|
]])
|
||||||
|
|
||||||
|
local present, packer = pcall(require, "packer")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
packer.init({
|
||||||
|
display = {
|
||||||
|
open_fn = function()
|
||||||
|
return require("packer.util").float({ border = "rounded" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
return packer.startup(function(use)
|
||||||
|
use("nvim-lua/plenary.nvim")
|
||||||
|
|
||||||
|
use("folke/which-key.nvim") -- Useful popup dialog when doing things
|
||||||
|
use("lambdalisue/suda.vim") -- Repoen files as sudo why not
|
||||||
|
use("rcarriga/nvim-notify") -- Send notifications like a regular program
|
||||||
|
use("windwp/nvim-autopairs") -- Good pairs for brackets and stuff
|
||||||
|
|
||||||
|
use("wbthomason/packer.nvim") -- Packer can manage itself
|
||||||
|
|
||||||
|
use{"akinsho/toggleterm.nvim", branch = 'main'} -- Terminal within vim
|
||||||
|
use("lukas-reineke/indent-blankline.nvim") -- Show lines on indents for aligning
|
||||||
|
|
||||||
|
use{"akinsho/bufferline.nvim", branch = 'main'} -- Snazzy buffer line (aka the tab bar at the top)
|
||||||
|
use("kyazdani42/nvim-tree.lua") -- Tree explorer
|
||||||
|
use("nvim-lualine/lualine.nvim") -- Status line (bottom bar)
|
||||||
|
use("kyazdani42/nvim-web-devicons") -- Better icons for status line, tab bar, and tree explorer
|
||||||
|
|
||||||
|
use("hrsh7th/nvim-cmp") -- Completion engine
|
||||||
|
use("hrsh7th/cmp-buffer") -- Current buffers as a completion source
|
||||||
|
use("hrsh7th/cmp-path") -- Machine paths as a completion source
|
||||||
|
use("hrsh7th/cmp-cmdline") -- Vim command mode completions
|
||||||
|
use("hrsh7th/cmp-nvim-lsp") -- The big daddy, use the LSP
|
||||||
|
|
||||||
|
use("L3MON4D3/LuaSnip") -- Snippet engine for completion
|
||||||
|
use("rafamadriz/friendly-snippets") -- Lots of useful snippets
|
||||||
|
|
||||||
|
use({
|
||||||
|
"nvim-treesitter/nvim-treesitter", -- The best syntax highlighting and context plugin
|
||||||
|
run = ":TSUpdate",
|
||||||
|
})
|
||||||
|
|
||||||
|
use("onsails/lspkind-nvim") -- Pretty pictures when doing completions
|
||||||
|
|
||||||
|
use("neovim/nvim-lspconfig") -- THE configurations for LSPs
|
||||||
|
-- note: https://github.com/neovim/nvim-lspconfig#quickstart
|
||||||
|
-- servers here: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||||
|
|
||||||
|
use("williamboman/nvim-lsp-installer") -- Installs LSP servers for us
|
||||||
|
|
||||||
|
use("jose-elias-alvarez/null-ls.nvim") -- Neovim as a LSP (I don't really know what this does, but lots of people have it)
|
||||||
|
use("ray-x/lsp_signature.nvim") -- Signature hints as you type
|
||||||
|
use("kosayoda/nvim-lightbulb") -- VSCode like lightbulb
|
||||||
|
use("stevearc/aerial.nvim") -- Code structure window
|
||||||
|
|
||||||
|
use("nvim-telescope/telescope.nvim") -- Find files fast
|
||||||
|
use("nvim-telescope/telescope-ui-select.nvim") -- Make the telescope ui Better
|
||||||
|
use("nvim-telescope/telescope-media-files.nvim") -- Preview media (like images) in telescope
|
||||||
|
use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) -- Use builtin fzf to make searching even better
|
||||||
|
use({ "AckslD/nvim-neoclip.lua", requires = { "nvim-telescope/telescope.nvim" } }) -- Search the clipboard
|
||||||
|
|
||||||
|
use("airblade/vim-gitgutter") -- Git symbols in the side
|
||||||
|
|
||||||
|
use({
|
||||||
|
"numToStr/Comment.nvim", -- Better commenting
|
||||||
|
config = function()
|
||||||
|
require("Comment").setup()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
use({
|
||||||
|
"folke/zen-mode.nvim", -- Zen mode (hide everything)
|
||||||
|
config = function()
|
||||||
|
require("zen-mode").setup({})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
use({
|
||||||
|
"folke/twilight.nvim", -- dim parts of code that are out of focus
|
||||||
|
config = function()
|
||||||
|
require("twilight").setup({})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
use("anuvyklack/pretty-fold.nvim") -- Nicer folds
|
||||||
|
use("goolord/alpha-nvim") -- Cool start page
|
||||||
|
use({
|
||||||
|
"Shatur/neovim-session-manager", -- Save a session for later
|
||||||
|
requires = { "nvim-telescope/telescope.nvim" },
|
||||||
|
})
|
||||||
|
|
||||||
|
use("petertriho/nvim-scrollbar") -- Put a scrollbar on the side
|
||||||
|
|
||||||
|
use({
|
||||||
|
"catppuccin/nvim", -- The theme I like
|
||||||
|
as = "catppuccin"
|
||||||
|
})
|
||||||
|
|
||||||
|
use("christoomey/vim-tmux-navigator") -- Use TMUX and Vim as one
|
||||||
|
use("preservim/vimux") -- Send commands from vim to TMUX
|
||||||
|
use("lifepillar/vim-gruvbox8") -- Another theme I like
|
||||||
|
|
||||||
|
use("github/copilot.vim") -- Something that will obslete my job one day
|
||||||
|
|
||||||
|
if bootstrap then
|
||||||
|
require("packer").sync()
|
||||||
|
end
|
||||||
|
end)
|
110
nvim/.config/nvim/lua/dubey/plugins/lsp.lua
Normal file
110
nvim/.config/nvim/lua/dubey/plugins/lsp.lua
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
local _kind, kind = pcall(require, "lspkind")
|
||||||
|
if _kind then
|
||||||
|
kind.init()
|
||||||
|
end
|
||||||
|
|
||||||
|
local _lsp, lspconfig = pcall(require, "lspconfig")
|
||||||
|
if not _lsp then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local _null, null_ls = pcall(require, "null-ls")
|
||||||
|
if not _null then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- Auto-installed LSPs here
|
||||||
|
local _lspinstaller, lspinstaller = pcall(require, "nvim-lsp-installer")
|
||||||
|
if not _lspinstaller then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
lspinstaller.on_server_ready(function(server)
|
||||||
|
local opts = {}
|
||||||
|
server:setup(opts)
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
-- Individual LSP Configs here
|
||||||
|
--
|
||||||
|
-- End Individual LSP configs
|
||||||
|
|
||||||
|
|
||||||
|
local _aerial, aerial = pcall(require, "aerial")
|
||||||
|
local _bulb, bulb = pcall(require, "nvim-lightbulb")
|
||||||
|
vim.cmd [[autocmd CursorHold,CursorHoldI * lua require('nvim-lightbulb').update_lightbulb()]]
|
||||||
|
|
||||||
|
if _aerial then
|
||||||
|
aerial.setup({
|
||||||
|
min_width = 30,
|
||||||
|
show_guides = true,
|
||||||
|
default_direction = "right",
|
||||||
|
open_automatic = true,
|
||||||
|
close_behavior = 'global',
|
||||||
|
placement_editor_edge = true,
|
||||||
|
backends = { "lsp", "treesitter" },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local signs = {
|
||||||
|
{ name = "DiagnosticSignError", text = "" },
|
||||||
|
{ name = "DiagnosticSignWarn", text = "" },
|
||||||
|
{ name = "DiagnosticSignHint", text = "" },
|
||||||
|
{ name = "DiagnosticSignInfo", text = "" },
|
||||||
|
}
|
||||||
|
|
||||||
|
local config = {
|
||||||
|
virtual_text = true,
|
||||||
|
signs = {
|
||||||
|
active = signs,
|
||||||
|
},
|
||||||
|
update_in_insert = true,
|
||||||
|
underline = true,
|
||||||
|
severity_sort = true,
|
||||||
|
float = {
|
||||||
|
focusable = false,
|
||||||
|
style = "minimal",
|
||||||
|
border = "rounded",
|
||||||
|
source = "always",
|
||||||
|
header = "",
|
||||||
|
prefix = "",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, sign in ipairs(signs) do
|
||||||
|
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.diagnostic.config(config)
|
||||||
|
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
if client.resolved_capabilities.document_highlight then
|
||||||
|
vim.api.nvim_exec(
|
||||||
|
[[
|
||||||
|
augroup lsp_document_highlight
|
||||||
|
autocmd! * <buffer>
|
||||||
|
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
|
||||||
|
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
|
||||||
|
augroup END
|
||||||
|
]],
|
||||||
|
false
|
||||||
|
)
|
||||||
|
vim.cmd([[
|
||||||
|
autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, { focus = false, scope = "cursor", header = "Diagnostics:" })
|
||||||
|
]])
|
||||||
|
end
|
||||||
|
|
||||||
|
if _bulb then
|
||||||
|
vim.cmd([[ autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb() ]])
|
||||||
|
end
|
||||||
|
|
||||||
|
if _aerial then
|
||||||
|
aerial.on_attach(client, bufnr)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
null_ls.setup({
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
71
nvim/.config/nvim/lua/dubey/plugins/lualine.lua
Normal file
71
nvim/.config/nvim/lua/dubey/plugins/lualine.lua
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
local present, lualine = pcall(require, "lualine")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local mode = {
|
||||||
|
"mode",
|
||||||
|
fmt = function(str)
|
||||||
|
if str == "NORMAL" then
|
||||||
|
return " normal"
|
||||||
|
end
|
||||||
|
if str == "INSERT" then
|
||||||
|
return " insert"
|
||||||
|
end
|
||||||
|
if str == "COMMAND" then
|
||||||
|
return " command"
|
||||||
|
end
|
||||||
|
if str == "VISUAL" then
|
||||||
|
return "濾 visual"
|
||||||
|
end
|
||||||
|
if str == "REPLACE" then
|
||||||
|
return " replace"
|
||||||
|
end
|
||||||
|
return str
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
local location = {
|
||||||
|
"location",
|
||||||
|
padding = 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
local filename = {
|
||||||
|
"filename",
|
||||||
|
path = 1,
|
||||||
|
file_status = false,
|
||||||
|
}
|
||||||
|
|
||||||
|
local branch = {
|
||||||
|
"branch",
|
||||||
|
padding = 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
lualine.setup({
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
component_separators = { left = "", right = "" },
|
||||||
|
section_separators = { left = "", right = "" },
|
||||||
|
disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline" },
|
||||||
|
always_divide_middle = true,
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = { mode },
|
||||||
|
lualine_b = { location },
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {},
|
||||||
|
lualine_y = { branch },
|
||||||
|
lualine_z = { filename },
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {},
|
||||||
|
lualine_y = { branch },
|
||||||
|
lualine_z = { filename },
|
||||||
|
},
|
||||||
|
tabline = {},
|
||||||
|
extensions = {},
|
||||||
|
})
|
12
nvim/.config/nvim/lua/dubey/plugins/notify.lua
Normal file
12
nvim/.config/nvim/lua/dubey/plugins/notify.lua
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
local present, notify = pcall(require, "notify")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
notify.setup({
|
||||||
|
minimum_width = 40,
|
||||||
|
stages = "fade_in_slide_out",
|
||||||
|
background_colour = "NormalFloat",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.notify = notify
|
106
nvim/.config/nvim/lua/dubey/plugins/nvimtree.lua
Normal file
106
nvim/.config/nvim/lua/dubey/plugins/nvimtree.lua
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
local icons = {
|
||||||
|
git = {
|
||||||
|
staged = "✓",
|
||||||
|
renamed = "➜",
|
||||||
|
deleted = "",
|
||||||
|
ignored = "◌",
|
||||||
|
unstaged = "",
|
||||||
|
unmerged = "",
|
||||||
|
untracked = "★",
|
||||||
|
},
|
||||||
|
folder = {
|
||||||
|
open = "",
|
||||||
|
empty = "",
|
||||||
|
default = "",
|
||||||
|
symlink = "",
|
||||||
|
empty_open = "",
|
||||||
|
symlink_open = "",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local g = vim.g
|
||||||
|
|
||||||
|
local present, tree = pcall(require, "nvim-tree")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local cb = require("nvim-tree.config").nvim_tree_callback
|
||||||
|
local mappings = {
|
||||||
|
{ key = "q", cb = cb("close") },
|
||||||
|
{ key = "d", cb = cb("remove") },
|
||||||
|
{ key = "R", cb = cb("rename") },
|
||||||
|
{ key = "c", cb = cb("create") },
|
||||||
|
{ key = "r", cb = cb("refresh") },
|
||||||
|
{ key = ".", cb = cb("dir_up") },
|
||||||
|
{ key = "y", cb = cb("copy_path") },
|
||||||
|
{ key = "yn", cb = cb("copy_name") },
|
||||||
|
{ key = "<bs>", cb = cb("close_node") },
|
||||||
|
{ key = "h", cb = cb("toggle_ignored") },
|
||||||
|
{ key = "h", cb = cb("toggle_dotfiles") },
|
||||||
|
{ key = { "<RightMouse>" }, cb = cb("cd") },
|
||||||
|
{ key = "yy", cb = cb("copy_absolute_path") },
|
||||||
|
{ key = { "<cr>", "<2-LeftMouse>" }, cb = cb("edit") },
|
||||||
|
}
|
||||||
|
|
||||||
|
tree.setup({
|
||||||
|
hijack_directories = {
|
||||||
|
enable = true,
|
||||||
|
auto_open = true,
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
highlight_opened_files = "all",
|
||||||
|
indent_markers = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
show = {
|
||||||
|
folder_arrow = true,
|
||||||
|
folder = true,
|
||||||
|
file = true,
|
||||||
|
git = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
open_file = {
|
||||||
|
resize_window = true,
|
||||||
|
window_picker = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
open_on_setup = true,
|
||||||
|
update_cwd = true,
|
||||||
|
auto_reload_on_write = true,
|
||||||
|
disable_netrw = true,
|
||||||
|
hijack_cursor = true,
|
||||||
|
diagnostics = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
enable = true,
|
||||||
|
ignore = false,
|
||||||
|
},
|
||||||
|
update_focused_file = {
|
||||||
|
enable = false,
|
||||||
|
update_cwd = false,
|
||||||
|
},
|
||||||
|
view = {
|
||||||
|
hide_root_folder = false,
|
||||||
|
mappings = {
|
||||||
|
custom_only = true,
|
||||||
|
list = mappings,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("BufEnter", {
|
||||||
|
nested = true,
|
||||||
|
callback = function()
|
||||||
|
if #vim.api.nvim_list_wins() == 1 and vim.api.nvim_buf_get_name(0):match("NvimTree_") ~= nil then
|
||||||
|
vim.cmd "quit"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
20
nvim/.config/nvim/lua/dubey/plugins/scrollbar.lua
Normal file
20
nvim/.config/nvim/lua/dubey/plugins/scrollbar.lua
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
local _scrollbar, scrollbar = pcall(require, "scrollbar")
|
||||||
|
if not _scrollbar then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local handle = { text = " ", color = "white" }
|
||||||
|
local marks = {
|
||||||
|
Error = { color = "red" },
|
||||||
|
Info = { color = "blue" },
|
||||||
|
Hint = { color = "green" },
|
||||||
|
Warn = { color = "yellow" },
|
||||||
|
Misc = { color = "purple" },
|
||||||
|
Search = { color = "orange" },
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar.setup({
|
||||||
|
marks = marks,
|
||||||
|
handle = handle,
|
||||||
|
excluded_filetypes = { "nvimtree", "NvimTree" },
|
||||||
|
})
|
11
nvim/.config/nvim/lua/dubey/plugins/session.lua
Normal file
11
nvim/.config/nvim/lua/dubey/plugins/session.lua
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
local _ssm, ssm = pcall(require, "session_manager")
|
||||||
|
if not _ssm then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
ssm.setup({
|
||||||
|
autoload_mode = "Disabled",
|
||||||
|
autosave_last_session = true,
|
||||||
|
autosave_ignore_not_normal = true,
|
||||||
|
autosave_only_in_session = false,
|
||||||
|
})
|
80
nvim/.config/nvim/lua/dubey/plugins/startup.lua
Normal file
80
nvim/.config/nvim/lua/dubey/plugins/startup.lua
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
local _alpha, alpha = pcall(require, "alpha")
|
||||||
|
if not _alpha then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local header = {
|
||||||
|
type = "text",
|
||||||
|
val = {
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⡀⡢⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢄⢮⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠀⡠⡂⣊⠢⡑⡐⠄⠀⠀⠀⠀⠀⠀⢀⢔⡕⣕⢗⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠢⠨⢢⠢⡃⡪⡐⡑⢄⠀⠀⠀⠀⢰⢱⡣⣫⢪⢮⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⡑⠅⢅⠣⡊⡢⡊⢌⠢⡂⡀⠀⠀⢐⢧⢳⢕⢧⢳⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠪⡨⠢⠡⡑⠰⡘⡌⡪⡂⡆⠄⠀⢐⡕⣗⢕⡗⡵⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠕⢌⠪⡨⢌⠀⠘⡰⡑⡌⡪⡊⣂⠀⡯⣪⡳⣹⡪⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠕⡅⠕⢌⠢⠀⠀⠀⢕⢅⢇⢕⢒⢬⢺⢕⢽⢜⢮⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⢕⢘⠜⢌⠪⠀⠀⠀⠀⠪⡢⡣⡣⡣⡳⣹⢕⢯⡳⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⢕⢅⢣⢑⠕⠀⠀⠀⠀⠀⠘⢜⢌⢎⢞⢎⢯⡳⡝⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⢕⢌⠆⠁⠀⠀⠀⠀⠀⠀⠀⠈⢎⢎⣗⢽⠑⠉⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠕⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠓⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀neovim⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
},
|
||||||
|
opts = { position = "center", hl = "String" },
|
||||||
|
}
|
||||||
|
|
||||||
|
local function button(sc, txt, keybind, keybind_opts)
|
||||||
|
local sc_ = sc:gsub("%s", ""):gsub("SPC", "<leader>")
|
||||||
|
local opts = {
|
||||||
|
cursor = 5,
|
||||||
|
width = 50,
|
||||||
|
shortcut = sc,
|
||||||
|
position = "center",
|
||||||
|
hl_shortcut = "Keyword",
|
||||||
|
align_shortcut = "right",
|
||||||
|
}
|
||||||
|
if keybind then
|
||||||
|
keybind_opts = vim.F.if_nil(keybind_opts, { noremap = true, silent = true, nowait = true })
|
||||||
|
opts.keymap = { "n", sc_, keybind, keybind_opts }
|
||||||
|
end
|
||||||
|
|
||||||
|
local function on_press()
|
||||||
|
local key = vim.api.nvim_replace_termcodes(sc_ .. "<Ignore>", true, false, true)
|
||||||
|
vim.api.nvim_feedkeys(key, "normal", false)
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
val = txt,
|
||||||
|
opts = opts,
|
||||||
|
type = "button",
|
||||||
|
on_press = on_press,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local buttons = {
|
||||||
|
type = "group",
|
||||||
|
val = {
|
||||||
|
button("s", " search sessions", "<cmd>SessionManager load_session<cr>"),
|
||||||
|
button("f", " search files", "<cmd>Telescope find_files<cr>"),
|
||||||
|
button("n", " new file", "<cmd>ene <cr>"),
|
||||||
|
},
|
||||||
|
opts = { spacing = 0 },
|
||||||
|
}
|
||||||
|
|
||||||
|
local section = {
|
||||||
|
header = header,
|
||||||
|
buttons = buttons,
|
||||||
|
}
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
layout = {
|
||||||
|
{ type = "padding", val = 2 },
|
||||||
|
section.header,
|
||||||
|
{ type = "padding", val = 2 },
|
||||||
|
section.buttons,
|
||||||
|
},
|
||||||
|
opts = { margin = 5 },
|
||||||
|
}
|
||||||
|
|
||||||
|
alpha.setup(opts)
|
98
nvim/.config/nvim/lua/dubey/plugins/telescope.lua
Normal file
98
nvim/.config/nvim/lua/dubey/plugins/telescope.lua
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
local _telescope, telescope = pcall(require, "telescope")
|
||||||
|
local _clip, clip = pcall(require, "neoclip")
|
||||||
|
if not _telescope then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local actions = require("telescope.actions")
|
||||||
|
|
||||||
|
telescope.setup({
|
||||||
|
defaults = {
|
||||||
|
prompt_prefix = " ",
|
||||||
|
selection_caret = " ",
|
||||||
|
entry_prefix = " ",
|
||||||
|
selection_strategy = "reset",
|
||||||
|
sorting_strategy = "ascending",
|
||||||
|
layout_strategy = "horizontal",
|
||||||
|
layout_config = {
|
||||||
|
horizontal = {
|
||||||
|
prompt_position = "top",
|
||||||
|
preview_width = 0.55,
|
||||||
|
results_width = 0.8,
|
||||||
|
},
|
||||||
|
vertical = {
|
||||||
|
mirror = false,
|
||||||
|
},
|
||||||
|
width = 0.87,
|
||||||
|
height = 0.80,
|
||||||
|
preview_cutoff = 120,
|
||||||
|
},
|
||||||
|
file_ignore_patterns = { "node_modules" },
|
||||||
|
path_display = { "smart" },
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["<C-n>"] = actions.cycle_history_next,
|
||||||
|
["<C-p>"] = actions.cycle_history_prev,
|
||||||
|
["<C-j>"] = actions.move_selection_next,
|
||||||
|
["<C-k>"] = actions.move_selection_previous,
|
||||||
|
["<C-c>"] = actions.close,
|
||||||
|
["<Down>"] = actions.move_selection_next,
|
||||||
|
["<Up>"] = actions.move_selection_previous,
|
||||||
|
["<CR>"] = actions.select_default,
|
||||||
|
["<C-x>"] = actions.select_horizontal,
|
||||||
|
["<C-v>"] = actions.select_vertical,
|
||||||
|
["<C-t>"] = actions.select_tab,
|
||||||
|
["<C-u>"] = actions.preview_scrolling_up,
|
||||||
|
["<C-d>"] = actions.preview_scrolling_down,
|
||||||
|
["<PageUp>"] = actions.results_scrolling_up,
|
||||||
|
["<PageDown>"] = actions.results_scrolling_down,
|
||||||
|
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||||
|
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||||
|
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
|
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
|
["<C-l>"] = actions.complete_tag,
|
||||||
|
["<C-_>"] = actions.which_key,
|
||||||
|
},
|
||||||
|
n = {
|
||||||
|
["<esc>"] = actions.close,
|
||||||
|
["<CR>"] = actions.select_default,
|
||||||
|
["<C-x>"] = actions.select_horizontal,
|
||||||
|
["<C-v>"] = actions.select_vertical,
|
||||||
|
["<C-t>"] = actions.select_tab,
|
||||||
|
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||||
|
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||||
|
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
|
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
|
["j"] = actions.move_selection_next,
|
||||||
|
["k"] = actions.move_selection_previous,
|
||||||
|
["H"] = actions.move_to_top,
|
||||||
|
["M"] = actions.move_to_middle,
|
||||||
|
["L"] = actions.move_to_bottom,
|
||||||
|
["<Down>"] = actions.move_selection_next,
|
||||||
|
["<Up>"] = actions.move_selection_previous,
|
||||||
|
["gg"] = actions.move_to_top,
|
||||||
|
["G"] = actions.move_to_bottom,
|
||||||
|
["<C-u>"] = actions.preview_scrolling_up,
|
||||||
|
["<C-d>"] = actions.preview_scrolling_down,
|
||||||
|
["<PageUp>"] = actions.results_scrolling_up,
|
||||||
|
["<PageDown>"] = actions.results_scrolling_down,
|
||||||
|
["?"] = actions.which_key,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pickers = {
|
||||||
|
find_files = { preview = true },
|
||||||
|
},
|
||||||
|
extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown({
|
||||||
|
previewer = false,
|
||||||
|
layout_strategy = "horizontal",
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
telescope.load_extension("fzf")
|
||||||
|
telescope.load_extension("ui-select")
|
||||||
|
telescope.load_extension("media_files")
|
||||||
|
if _clip then telescope.load_extension("neoclip") end
|
15
nvim/.config/nvim/lua/dubey/plugins/term.lua
Normal file
15
nvim/.config/nvim/lua/dubey/plugins/term.lua
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
local present, term = pcall(require, "toggleterm")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
term.setup({
|
||||||
|
shade_terminals = false,
|
||||||
|
float_opts = {
|
||||||
|
winblend = 0,
|
||||||
|
highlights = {
|
||||||
|
border = "FloatBorder",
|
||||||
|
background = "NormalFloat",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
20
nvim/.config/nvim/lua/dubey/plugins/treesitter.lua
Normal file
20
nvim/.config/nvim/lua/dubey/plugins/treesitter.lua
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
local present, configs = pcall(require, "nvim-treesitter.configs")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
configs.setup({
|
||||||
|
ensure_installed = {"python", "go"},
|
||||||
|
sync_install = false,
|
||||||
|
autopairs = { enable = true },
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
disable = { "" },
|
||||||
|
additional_vim_regex_highlighting = true,
|
||||||
|
},
|
||||||
|
indent = { enable = true, disable = { "yaml" } },
|
||||||
|
context_commentstring = {
|
||||||
|
enable = true,
|
||||||
|
enable_autocmd = false,
|
||||||
|
},
|
||||||
|
})
|
133
nvim/.config/nvim/lua/dubey/plugins/whichkey.lua
Normal file
133
nvim/.config/nvim/lua/dubey/plugins/whichkey.lua
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
local present, which_key = pcall(require, "which-key")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local setup = {
|
||||||
|
plugins = {
|
||||||
|
marks = true,
|
||||||
|
registers = true,
|
||||||
|
spelling = {
|
||||||
|
enabled = true,
|
||||||
|
suggestions = 20,
|
||||||
|
},
|
||||||
|
presets = {
|
||||||
|
operators = true,
|
||||||
|
motions = true,
|
||||||
|
text_objects = true,
|
||||||
|
windows = true,
|
||||||
|
nav = true,
|
||||||
|
z = true,
|
||||||
|
g = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
breadcrumb = "»",
|
||||||
|
separator = "➜",
|
||||||
|
group = "+",
|
||||||
|
},
|
||||||
|
popup_mappings = {
|
||||||
|
scroll_down = "<c-d>",
|
||||||
|
scroll_up = "<c-u>",
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
border = "rounded",
|
||||||
|
position = "bottom",
|
||||||
|
margin = { 1, 0, 1, 0 },
|
||||||
|
padding = { 2, 2, 2, 2 },
|
||||||
|
winblend = 0,
|
||||||
|
},
|
||||||
|
layout = {
|
||||||
|
height = { min = 4, max = 25 },
|
||||||
|
width = { min = 20, max = 50 },
|
||||||
|
spacing = 3,
|
||||||
|
align = "left",
|
||||||
|
},
|
||||||
|
ignore_missing = true,
|
||||||
|
hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " },
|
||||||
|
show_help = true,
|
||||||
|
triggers = "auto",
|
||||||
|
triggers_blacklist = {
|
||||||
|
i = { "j", "k" },
|
||||||
|
v = { "j", "k" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local leader_opts = {
|
||||||
|
mode = "n",
|
||||||
|
prefix = "<leader>",
|
||||||
|
buffer = nil,
|
||||||
|
silent = true,
|
||||||
|
noremap = true,
|
||||||
|
nowait = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
local leader_mappings = {
|
||||||
|
w = {
|
||||||
|
"<esc>:w!<bar>:lua vim.notify(vim.fn.expand('%'), 'success', { title = 'Buffer Saved' })<cr>",
|
||||||
|
"Save Buffer",
|
||||||
|
},
|
||||||
|
W = {
|
||||||
|
"<esc>:SudaWrite<bar>:lua vim.notify(vim.fn.expand('%'), 'success', { title = 'Buffer saved with sudo' })<cr>",
|
||||||
|
"Sudo Save Buffer",
|
||||||
|
},
|
||||||
|
x = { "<cmd>:q<cr>", "Quit Buffer" },
|
||||||
|
z = { "<cmd>ZenMode<cr>", "Zen Mode" },
|
||||||
|
q = { "<cmd>conf qa<cr>", "Quit Nvim" },
|
||||||
|
c = { "<cmd>Bdelete!<cr>", "Close Buffer" },
|
||||||
|
h = { "<cmd>nohlsearch<cr>", "Clear Highlight" },
|
||||||
|
e = { "<cmd>NvimTreeToggle<cr>", "File Explorer" },
|
||||||
|
s = { "<cmd>SessionManager save_current_session<cr>", "Save Session" },
|
||||||
|
f = {
|
||||||
|
name = "Find",
|
||||||
|
y = { "<cmd>Telescope neoclip<cr>", "Yanks" },
|
||||||
|
h = { "<cmd>Telescope help_tags<cr>", "Help" },
|
||||||
|
k = { "<cmd>Telescope keymaps<cr>", "Keymaps" },
|
||||||
|
t = { "<cmd>Telescope live_grep<cr>", "Text" },
|
||||||
|
b = { "<cmd>Telescope buffers<cr>", "Buffers" },
|
||||||
|
f = { "<cmd>Telescope find_files<cr>", "Files" },
|
||||||
|
o = { "<cmd>Telescope oldfiles<cr>", "Recents" },
|
||||||
|
c = { "<cmd>Telescope commands<cr>", "Commands" },
|
||||||
|
m = { "<cmd>Telescope man_pages<cr>", "Manuals" },
|
||||||
|
r = { "<cmd>Telescope registers<cr>", "Registers" },
|
||||||
|
s = { "<cmd>SessionManager load_session<cr>", "Sessions" },
|
||||||
|
},
|
||||||
|
p = {
|
||||||
|
name = "Packer",
|
||||||
|
s = { "<cmd>PackerSync<cr>", "Sync" },
|
||||||
|
S = { "<cmd>PackerStatus<cr>", "Status" },
|
||||||
|
u = { "<cmd>PackerUpdate<cr>", "Update" },
|
||||||
|
c = { "<cmd>PackerCompile<cr>", "Compile" },
|
||||||
|
i = { "<cmd>PackerInstall<cr>", "Install" },
|
||||||
|
},
|
||||||
|
g = {
|
||||||
|
name = "Git",
|
||||||
|
s = { "<cmd>Telescope git_status<cr>", "File Git Status" },
|
||||||
|
c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" },
|
||||||
|
b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
|
||||||
|
},
|
||||||
|
l = {
|
||||||
|
name = "LSP",
|
||||||
|
I = { "<cmd>LspInfo<cr>", "Info" },
|
||||||
|
i = { "<cmd>LspInstall<cr>", "Install" },
|
||||||
|
a = { "<cmd>AerialToggle<cr>", "Aerial" },
|
||||||
|
f = { "<cmd>lua vim.lsp.buf.formatting()<cr>", "Format" },
|
||||||
|
w = { "<cmd>Telescope diagnostics<cr>", "Workspace Diagnostics" },
|
||||||
|
d = { "<cmd>Telescope diagnostics bufnr=0<cr>", "Document Diagnostics" },
|
||||||
|
},
|
||||||
|
t = {
|
||||||
|
name = "Terminal",
|
||||||
|
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" },
|
||||||
|
v = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", "Vertical" },
|
||||||
|
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" },
|
||||||
|
},
|
||||||
|
v = {
|
||||||
|
name = "ViMux",
|
||||||
|
r = { "<cmd>VimuxPromptCommand<CR>", "Run Command" },
|
||||||
|
l = { "<cmd>VimuxRunLastCommand<cr>", "Run Last" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
which_key.setup(setup)
|
||||||
|
which_key.register(leader_mappings, leader_opts)
|
||||||
|
|
1
nvim/.config/nvim/lua/dubey/theme.lua
Normal file
1
nvim/.config/nvim/lua/dubey/theme.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
vim.cmd[[colorscheme gruvbox8]]
|
322
nvim/.config/nvim/plugin/packer_compiled.lua
Normal file
322
nvim/.config/nvim/plugin/packer_compiled.lua
Normal file
@ -0,0 +1,322 @@
|
|||||||
|
-- Automatically generated packer.nvim plugin loader code
|
||||||
|
|
||||||
|
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||||
|
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_command('packadd packer.nvim')
|
||||||
|
|
||||||
|
local no_errors, error_msg = pcall(function()
|
||||||
|
|
||||||
|
local time
|
||||||
|
local profile_info
|
||||||
|
local should_profile = false
|
||||||
|
if should_profile then
|
||||||
|
local hrtime = vim.loop.hrtime
|
||||||
|
profile_info = {}
|
||||||
|
time = function(chunk, start)
|
||||||
|
if start then
|
||||||
|
profile_info[chunk] = hrtime()
|
||||||
|
else
|
||||||
|
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
time = function(chunk, start) end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function save_profiles(threshold)
|
||||||
|
local sorted_times = {}
|
||||||
|
for chunk_name, time_taken in pairs(profile_info) do
|
||||||
|
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||||
|
end
|
||||||
|
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||||
|
local results = {}
|
||||||
|
for i, elem in ipairs(sorted_times) do
|
||||||
|
if not threshold or threshold and elem[2] > threshold then
|
||||||
|
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
_G._packer = _G._packer or {}
|
||||||
|
_G._packer.profile_output = results
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], true)
|
||||||
|
local package_path_str = "/home/tdubey/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/tdubey/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/tdubey/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/tdubey/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||||
|
local install_cpath_pattern = "/home/tdubey/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
|
||||||
|
if not string.find(package.path, package_path_str, 1, true) then
|
||||||
|
package.path = package.path .. ';' .. package_path_str
|
||||||
|
end
|
||||||
|
|
||||||
|
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||||
|
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], false)
|
||||||
|
time([[try_loadstring definition]], true)
|
||||||
|
local function try_loadstring(s, component, name)
|
||||||
|
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||||
|
if not success then
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[try_loadstring definition]], false)
|
||||||
|
time([[Defining packer_plugins]], true)
|
||||||
|
_G.packer_plugins = {
|
||||||
|
["Comment.nvim"] = {
|
||||||
|
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/Comment.nvim",
|
||||||
|
url = "https://github.com/numToStr/Comment.nvim"
|
||||||
|
},
|
||||||
|
LuaSnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||||
|
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||||
|
},
|
||||||
|
["aerial.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/aerial.nvim",
|
||||||
|
url = "https://github.com/stevearc/aerial.nvim"
|
||||||
|
},
|
||||||
|
["alpha-nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/alpha-nvim",
|
||||||
|
url = "https://github.com/goolord/alpha-nvim"
|
||||||
|
},
|
||||||
|
["bufferline.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/bufferline.nvim",
|
||||||
|
url = "https://github.com/akinsho/bufferline.nvim"
|
||||||
|
},
|
||||||
|
catppuccin = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/catppuccin",
|
||||||
|
url = "https://github.com/catppuccin/nvim"
|
||||||
|
},
|
||||||
|
["cmp-buffer"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/cmp-buffer",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-buffer"
|
||||||
|
},
|
||||||
|
["cmp-cmdline"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-cmdline"
|
||||||
|
},
|
||||||
|
["cmp-nvim-lsp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
["cmp-path"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/cmp-path",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-path"
|
||||||
|
},
|
||||||
|
["copilot.vim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/copilot.vim",
|
||||||
|
url = "https://github.com/github/copilot.vim"
|
||||||
|
},
|
||||||
|
["friendly-snippets"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/friendly-snippets",
|
||||||
|
url = "https://github.com/rafamadriz/friendly-snippets"
|
||||||
|
},
|
||||||
|
["indent-blankline.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
|
||||||
|
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
|
||||||
|
},
|
||||||
|
["lsp_signature.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/lsp_signature.nvim",
|
||||||
|
url = "https://github.com/ray-x/lsp_signature.nvim"
|
||||||
|
},
|
||||||
|
["lspkind-nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/lspkind-nvim",
|
||||||
|
url = "https://github.com/onsails/lspkind-nvim"
|
||||||
|
},
|
||||||
|
["lualine.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||||
|
url = "https://github.com/nvim-lualine/lualine.nvim"
|
||||||
|
},
|
||||||
|
["neovim-session-manager"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/neovim-session-manager",
|
||||||
|
url = "https://github.com/Shatur/neovim-session-manager"
|
||||||
|
},
|
||||||
|
["null-ls.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/null-ls.nvim",
|
||||||
|
url = "https://github.com/jose-elias-alvarez/null-ls.nvim"
|
||||||
|
},
|
||||||
|
["nvim-autopairs"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
|
||||||
|
url = "https://github.com/windwp/nvim-autopairs"
|
||||||
|
},
|
||||||
|
["nvim-cmp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||||
|
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||||
|
},
|
||||||
|
["nvim-lightbulb"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-lightbulb",
|
||||||
|
url = "https://github.com/kosayoda/nvim-lightbulb"
|
||||||
|
},
|
||||||
|
["nvim-lsp-installer"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer",
|
||||||
|
url = "https://github.com/williamboman/nvim-lsp-installer"
|
||||||
|
},
|
||||||
|
["nvim-lspconfig"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||||
|
url = "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
["nvim-neoclip.lua"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-neoclip.lua",
|
||||||
|
url = "https://github.com/AckslD/nvim-neoclip.lua"
|
||||||
|
},
|
||||||
|
["nvim-notify"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-notify",
|
||||||
|
url = "https://github.com/rcarriga/nvim-notify"
|
||||||
|
},
|
||||||
|
["nvim-scrollbar"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-scrollbar",
|
||||||
|
url = "https://github.com/petertriho/nvim-scrollbar"
|
||||||
|
},
|
||||||
|
["nvim-tree.lua"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
|
||||||
|
url = "https://github.com/kyazdani42/nvim-tree.lua"
|
||||||
|
},
|
||||||
|
["nvim-treesitter"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||||
|
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
|
},
|
||||||
|
["nvim-web-devicons"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||||
|
url = "https://github.com/kyazdani42/nvim-web-devicons"
|
||||||
|
},
|
||||||
|
["packer.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||||
|
url = "https://github.com/wbthomason/packer.nvim"
|
||||||
|
},
|
||||||
|
["plenary.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||||
|
url = "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
["pretty-fold.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/pretty-fold.nvim",
|
||||||
|
url = "https://github.com/anuvyklack/pretty-fold.nvim"
|
||||||
|
},
|
||||||
|
["suda.vim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/suda.vim",
|
||||||
|
url = "https://github.com/lambdalisue/suda.vim"
|
||||||
|
},
|
||||||
|
["telescope-fzf-native.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||||
|
},
|
||||||
|
["telescope-media-files.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/telescope-media-files.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope-media-files.nvim"
|
||||||
|
},
|
||||||
|
["telescope-ui-select.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/telescope-ui-select.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope-ui-select.nvim"
|
||||||
|
},
|
||||||
|
["telescope.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
|
},
|
||||||
|
["toggleterm.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/toggleterm.nvim",
|
||||||
|
url = "https://github.com/akinsho/toggleterm.nvim"
|
||||||
|
},
|
||||||
|
["twilight.nvim"] = {
|
||||||
|
config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rtwilight\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/twilight.nvim",
|
||||||
|
url = "https://github.com/folke/twilight.nvim"
|
||||||
|
},
|
||||||
|
["vim-gitgutter"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/vim-gitgutter",
|
||||||
|
url = "https://github.com/airblade/vim-gitgutter"
|
||||||
|
},
|
||||||
|
["vim-gruvbox8"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/vim-gruvbox8",
|
||||||
|
url = "https://github.com/lifepillar/vim-gruvbox8"
|
||||||
|
},
|
||||||
|
["vim-tmux-navigator"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator",
|
||||||
|
url = "https://github.com/christoomey/vim-tmux-navigator"
|
||||||
|
},
|
||||||
|
vimux = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/vimux",
|
||||||
|
url = "https://github.com/preservim/vimux"
|
||||||
|
},
|
||||||
|
["which-key.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/which-key.nvim",
|
||||||
|
url = "https://github.com/folke/which-key.nvim"
|
||||||
|
},
|
||||||
|
["zen-mode.nvim"] = {
|
||||||
|
config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rzen-mode\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/tdubey/.local/share/nvim/site/pack/packer/start/zen-mode.nvim",
|
||||||
|
url = "https://github.com/folke/zen-mode.nvim"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
time([[Defining packer_plugins]], false)
|
||||||
|
-- Config for: zen-mode.nvim
|
||||||
|
time([[Config for zen-mode.nvim]], true)
|
||||||
|
try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rzen-mode\frequire\0", "config", "zen-mode.nvim")
|
||||||
|
time([[Config for zen-mode.nvim]], false)
|
||||||
|
-- Config for: twilight.nvim
|
||||||
|
time([[Config for twilight.nvim]], true)
|
||||||
|
try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rtwilight\frequire\0", "config", "twilight.nvim")
|
||||||
|
time([[Config for twilight.nvim]], false)
|
||||||
|
-- Config for: Comment.nvim
|
||||||
|
time([[Config for Comment.nvim]], true)
|
||||||
|
try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim")
|
||||||
|
time([[Config for Comment.nvim]], false)
|
||||||
|
if should_profile then save_profiles() end
|
||||||
|
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not no_errors then
|
||||||
|
error_msg = error_msg:gsub('"', '\\"')
|
||||||
|
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||||
|
end
|
193
pl10k/.p10k.zsh
Normal file
193
pl10k/.p10k.zsh
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
# Generated by Powerlevel10k configuration wizard on 2022-02-23 at 19:43 UTC.
|
||||||
|
# Based on romkatv/powerlevel10k/config/p10k-pure.zsh, checksum 13301.
|
||||||
|
# Wizard options: nerdfont-complete + powerline, small icons, pure, rprompt, 24h time,
|
||||||
|
# 1 line, compact, transient_prompt, instant_prompt=verbose.
|
||||||
|
# Type `p10k configure` to generate another config.
|
||||||
|
#
|
||||||
|
# Config file for Powerlevel10k with the style of Pure (https://github.com/sindresorhus/pure).
|
||||||
|
#
|
||||||
|
# Differences from Pure:
|
||||||
|
#
|
||||||
|
# - Git:
|
||||||
|
# - `@c4d3ec2c` instead of something like `v1.4.0~11` when in detached HEAD state.
|
||||||
|
# - No automatic `git fetch` (the same as in Pure with `PURE_GIT_PULL=0`).
|
||||||
|
#
|
||||||
|
# Apart from the differences listed above, the replication of Pure prompt is exact. This includes
|
||||||
|
# even the questionable parts. For example, just like in Pure, there is no indication of Git status
|
||||||
|
# being stale; prompt symbol is the same in command, visual and overwrite vi modes; when prompt
|
||||||
|
# doesn't fit on one line, it wraps around with no attempt to shorten it.
|
||||||
|
#
|
||||||
|
# If you like the general style of Pure but not particularly attached to all its quirks, type
|
||||||
|
# `p10k configure` and pick "Lean" style. This will give you slick minimalist prompt while taking
|
||||||
|
# advantage of Powerlevel10k features that aren't present in Pure.
|
||||||
|
|
||||||
|
# Temporarily change options.
|
||||||
|
'builtin' 'local' '-a' 'p10k_config_opts'
|
||||||
|
[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
|
||||||
|
[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
|
||||||
|
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
|
||||||
|
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
|
||||||
|
|
||||||
|
() {
|
||||||
|
emulate -L zsh -o extended_glob
|
||||||
|
|
||||||
|
# Unset all configuration options.
|
||||||
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
|
# Zsh >= 5.1 is required.
|
||||||
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
|
# Prompt colors.
|
||||||
|
local grey='242'
|
||||||
|
local red='1'
|
||||||
|
local yellow='3'
|
||||||
|
local blue='4'
|
||||||
|
local magenta='5'
|
||||||
|
local cyan='6'
|
||||||
|
local white='7'
|
||||||
|
|
||||||
|
# Left prompt segments.
|
||||||
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
|
# context # user@host
|
||||||
|
dir # current directory
|
||||||
|
vcs # git status
|
||||||
|
# command_execution_time # previous command duration
|
||||||
|
# virtualenv # python virtual environment
|
||||||
|
prompt_char # prompt symbol
|
||||||
|
)
|
||||||
|
|
||||||
|
# Right prompt segments.
|
||||||
|
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
|
||||||
|
command_execution_time # previous command duration
|
||||||
|
virtualenv # python virtual environment
|
||||||
|
context # user@host
|
||||||
|
time # current time
|
||||||
|
)
|
||||||
|
|
||||||
|
# Basic style options that define the overall prompt look.
|
||||||
|
typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
|
||||||
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
|
||||||
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
|
||||||
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
|
||||||
|
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
|
||||||
|
|
||||||
|
# Add an empty line before each prompt except the first. This doesn't emulate the bug
|
||||||
|
# in Pure that makes prompt drift down whenever you use the Alt-C binding from fzf or similar.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||||
|
|
||||||
|
# Magenta prompt symbol if the last command succeeded.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta
|
||||||
|
# Red prompt symbol if the last command failed.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red
|
||||||
|
# Default prompt symbol.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
|
||||||
|
# Prompt symbol in command vi mode.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
|
||||||
|
# Prompt symbol in visual vi mode is the same as in command mode.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❮'
|
||||||
|
# Prompt symbol in overwrite vi mode is the same as in command mode.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false
|
||||||
|
|
||||||
|
# Grey Python Virtual Environment.
|
||||||
|
typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey
|
||||||
|
# Don't show Python version.
|
||||||
|
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
|
||||||
|
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
|
||||||
|
|
||||||
|
# Blue current directory.
|
||||||
|
typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue
|
||||||
|
|
||||||
|
# Context format when root: user@host. The first part white, the rest grey.
|
||||||
|
typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f"
|
||||||
|
# Context format when not root: user@host. The whole thing grey.
|
||||||
|
typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f"
|
||||||
|
# Don't show context unless root or in SSH.
|
||||||
|
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
|
||||||
|
|
||||||
|
# Show previous command duration only if it's >= 5s.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5
|
||||||
|
# Don't show fractional seconds. Thus, 7s rather than 7.3s.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
||||||
|
# Duration format: 1d 2h 3m 4s.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
|
||||||
|
# Yellow previous command duration.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
|
||||||
|
|
||||||
|
# Grey Git prompt. This makes stale prompts indistinguishable from up-to-date ones.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
|
||||||
|
|
||||||
|
# Disable async loading indicator to make directories that aren't Git repositories
|
||||||
|
# indistinguishable from large Git repositories without known state.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
|
||||||
|
|
||||||
|
# Don't wait for Git status even for a millisecond, so that prompt always updates
|
||||||
|
# asynchronously when Git state changes.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
|
||||||
|
|
||||||
|
# Cyan ahead/behind arrows.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan
|
||||||
|
# Don't show remote branch, current tag or stashes.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind)
|
||||||
|
# Don't show the branch icon.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||||
|
# When in detached HEAD state, show @commit where branch normally goes.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@'
|
||||||
|
# Don't show staged, unstaged, untracked indicators.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON=
|
||||||
|
# Show '*' when there are staged, unstaged or untracked files.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_DIRTY_ICON='*'
|
||||||
|
# Show '⇣' if local branch is behind remote.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=':⇣'
|
||||||
|
# Show '⇡' if local branch is ahead of remote.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=':⇡'
|
||||||
|
# Don't show the number of commits next to the ahead/behind arrows.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1
|
||||||
|
# Remove space between '⇣' and '⇡' and all trailing spaces.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${${${P9K_CONTENT/⇣* :⇡/⇣⇡}// }//:/ }'
|
||||||
|
|
||||||
|
# Grey current time.
|
||||||
|
typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
|
||||||
|
# Format for the current time: 09:51:02. See `man 3 strftime`.
|
||||||
|
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
|
||||||
|
# If set to true, time will update when you hit enter. This way prompts for the past
|
||||||
|
# commands will contain the start times of their commands rather than the end times of
|
||||||
|
# their preceding commands.
|
||||||
|
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
||||||
|
|
||||||
|
# Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
|
||||||
|
# when accepting a command line. Supported values:
|
||||||
|
#
|
||||||
|
# - off: Don't change prompt when accepting a command line.
|
||||||
|
# - always: Trim down prompt when accepting a command line.
|
||||||
|
# - same-dir: Trim down prompt when accepting a command line unless this is the first command
|
||||||
|
# typed after changing current working directory.
|
||||||
|
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
|
||||||
|
|
||||||
|
# Instant prompt mode.
|
||||||
|
#
|
||||||
|
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
|
||||||
|
# it incompatible with your zsh configuration files.
|
||||||
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
|
||||||
|
|
||||||
|
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
|
||||||
|
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
|
||||||
|
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
|
||||||
|
# really need it.
|
||||||
|
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
|
||||||
|
|
||||||
|
# If p10k is already loaded, reload configuration.
|
||||||
|
# This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
|
||||||
|
(( ! $+functions[p10k] )) || p10k reload
|
||||||
|
}
|
||||||
|
|
||||||
|
# Tell `p10k configure` which file it should overwrite.
|
||||||
|
typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
|
||||||
|
|
||||||
|
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
|
||||||
|
'builtin' 'unset' 'p10k_config_opts'
|
97
tmux/.tmux.conf
Normal file
97
tmux/.tmux.conf
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# easy reload config
|
||||||
|
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded."
|
||||||
|
|
||||||
|
# Window Splits
|
||||||
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
# Start numbering at 1
|
||||||
|
set -g base-index 1
|
||||||
|
set-window-option -g pane-base-index 1
|
||||||
|
|
||||||
|
# Allows for faster key repetition
|
||||||
|
set -s escape-time 50
|
||||||
|
|
||||||
|
# Rather than constraining window size to the maximum size of any client
|
||||||
|
# connected to the *session*, constrain window size to the maximum size of any
|
||||||
|
# client connected to *that window*. Much more reasonable.
|
||||||
|
setw -g aggressive-resize on
|
||||||
|
|
||||||
|
# Activity monitoring
|
||||||
|
setw -g monitor-activity on
|
||||||
|
set -g visual-activity on
|
||||||
|
|
||||||
|
# auto window rename
|
||||||
|
set -g allow-rename on
|
||||||
|
set-option -g base-index 1
|
||||||
|
set-window-option -g pane-base-index 1
|
||||||
|
set-option -g renumber-windows on
|
||||||
|
|
||||||
|
# How to get nice colors
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
set -ga terminal-overrides ",*256col*:Tc"
|
||||||
|
|
||||||
|
# Yeah I use the mouse
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
# set prefix to Ctrl-Space
|
||||||
|
unbind C-b
|
||||||
|
set -g prefix C-Space
|
||||||
|
bind Space send-prefix
|
||||||
|
|
||||||
|
# Equalize all windows with x
|
||||||
|
bind x select-layout even-vertical
|
||||||
|
|
||||||
|
# Setup tmux key so that ctrl-VIM can move around panes
|
||||||
|
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||||
|
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||||
|
|
||||||
|
is_fzf="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||||
|
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?fzf$'"
|
||||||
|
|
||||||
|
bind -n C-h run "($is_vim && tmux send-keys C-h) || \
|
||||||
|
tmux select-pane -L"
|
||||||
|
|
||||||
|
bind -n C-j run "($is_vim && tmux send-keys C-j) || \
|
||||||
|
($is_fzf && tmux send-keys C-j) || \
|
||||||
|
tmux select-pane -D"
|
||||||
|
|
||||||
|
bind -n C-k run "($is_vim && tmux send-keys C-k) || \
|
||||||
|
($is_fzf && tmux send-keys C-k) || \
|
||||||
|
tmux select-pane -U"
|
||||||
|
|
||||||
|
bind -n C-l run "($is_vim && tmux send-keys C-l) || \
|
||||||
|
tmux select-pane -R"
|
||||||
|
|
||||||
|
|
||||||
|
# Status Line
|
||||||
|
set-option -g status-position bottom
|
||||||
|
set -g status-bg default
|
||||||
|
set -g status-fg default
|
||||||
|
set -g status-left-length 100
|
||||||
|
set -g status-right " #[fg=default]#W#[fg=red] >> #[fg=white] #{cpu_percentage} | #{ram_percentage} #[fg=red]>> #[fg=white]%d/%m %H:%M "
|
||||||
|
set -g status-right-length 0
|
||||||
|
set -g status-left ""
|
||||||
|
set -g status-justify left
|
||||||
|
setw -g window-status-format '#[fg=white]#I #[fg=black]#W '
|
||||||
|
setw -g window-status-format '#[fg=white,bg=default]#[fg=black,bg=white]#I #[fg=black,bg=white]#W #[fg=white,bg=default]'
|
||||||
|
setw -g window-status-current-format '#[fg=magenta,bg=default]#[fg=black,bg=magenta]#I #[fg=black,bg=magenta]#W #[fg=magenta,bg=default]'
|
||||||
|
setw -g window-status-current-style fg=red
|
||||||
|
setw -g window-status-activity-style fg=yellow
|
||||||
|
setw -g window-status-bell-style fg=yellow
|
||||||
|
set -g set-titles on
|
||||||
|
|
||||||
|
# List of plugins
|
||||||
|
set -g @plugin 'tmux-plugins/tpm' # The plugin manager
|
||||||
|
set -g @plugin 'christoomey/vim-tmux-navigator' # Integrate vim navigation with tmux
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-cpu' # CPU Data in the status bar
|
||||||
|
set -g @plugin 'ofirgall/tmux-window-name' # Window name in the status bar
|
||||||
|
|
||||||
|
# Other examples:
|
||||||
|
# set -g @plugin 'github_username/plugin_name'
|
||||||
|
# set -g @plugin 'github_username/plugin_name#branch'
|
||||||
|
# set -g @plugin 'git@github.com:user/plugin'
|
||||||
|
# set -g @plugin 'git@bitbucket.com:user/plugin'
|
||||||
|
|
||||||
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
|
run '~/.tmux/plugins/tpm/tpm'
|
151
zsh/.zshrc
Normal file
151
zsh/.zshrc
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
fortune | cowsay
|
||||||
|
|
||||||
|
cd /home/tdubey/fleet >> /dev/null && source .envrc >> /dev/null && cd -
|
||||||
|
|
||||||
|
export GPG_TTY=$(tty)
|
||||||
|
|
||||||
|
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||||
|
# Initialization code that may require console input (password prompts, [y/n]
|
||||||
|
# confirmations, etc.) must go above this block; everything else may go below.
|
||||||
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||||
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment one of the following lines to change the auto-update behavior
|
||||||
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
# ======> VOYAGER <======
|
||||||
|
|
||||||
|
# gvm
|
||||||
|
export GVM_DIR="$HOME/.gvm/scripts/gvm"
|
||||||
|
export GOPROXY="https://artifacts.co.clearstreet.io/artifactory/go/"
|
||||||
|
[ -s $GVM_DIR ] && . $GVM_DIR # This loads gvm
|
||||||
|
|
||||||
|
# nvm
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
export PATH="$HOME/.pyenv/bin:$PATH"
|
||||||
|
eval "$(pyenv init -)"
|
||||||
|
eval "$(pyenv virtualenv-init -)"
|
||||||
|
|
||||||
|
# local binaries
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
export PATH="$HOME/.tfenv/bin:$PATH"
|
||||||
|
export PATH="$HOME/.tgenv/bin:$PATH"
|
||||||
|
|
||||||
|
# ======> VOYAGER <======
|
||||||
|
|
||||||
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
|
||||||
|
autoload -U compinit; compinit
|
||||||
|
|
||||||
|
export PATH="$HOME/.fleetcli/bin:$PATH"
|
Loading…
Reference in New Issue
Block a user