initial commit again

This commit is contained in:
Dustin Stiles 2025-02-26 16:57:47 -05:00
commit f2eef70172
Signed by: duwstiles
GPG Key ID: BCD9912EC231FC87
48 changed files with 1120 additions and 0 deletions

16
.tmux.conf Normal file
View File

@ -0,0 +1,16 @@
set -g base-index 1 # start indexing windows at 1 instead of 0
set -g detach-on-destroy off # don't exit from tmux when closing a session
set -g escape-time 0 # zero-out escape time delay
set -g history-limit 1000000 # increase history size (from 2,000)
set -g renumber-windows on # renumber all windows when any window is closed
set -g set-clipboard on # use system clipboard
set-window-option -g mode-keys vi
set -g mouse on
set -g status-style "fg=blue bg=default"
set -g @plugin 'omerxx/tmux-sessionx'
set -g @plugin 'tmux-plugins/tpm'
run '~/.tmux/plugins/tpm/tpm'

86
.zshrc Normal file
View File

@ -0,0 +1,86 @@
# -----------------------------------------------------------------------------
# oh my zsh
# Tell oh-my-zsh where it lives.
export ZSH="$HOME/.oh-my-zsh"
# Minimal theme.
ZSH_THEME="alanpeabody"
# Minimal plugins.
plugins=(git)
# Knock em' dead.
source $ZSH/oh-my-zsh.sh
# -----------------------------------------------------------------------------
# Aliases
# Use nvm to manage node because system package managers are bad at it.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# -----------------------------------------------------------------------------
# Secrets
# Load up secrets from the host machine.
# TODO: Encrypt secrets and just store in git.
[ -f "$HOME/.devcreds" ] && source "$HOME/.devcreds"
# -----------------------------------------------------------------------------
# Aliases
# Catch typos
alias vi="nvim"
alias vim="nvim"
# Be lazy
alias c="clear"
# Tui Shortcuts
alias lg="lazygit"
alias ldr="lazydocker"
# -----------------------------------------------------------------------------
# Environment Variables
# Set the shell, or some things can behave funny.
export SHELL=$(which zsh)
# Use god's editor.
export EDITOR=nvim
# -----------------------------------------------------------------------------
# GPG / SSH
# This allows gpg to correctly route the pinentry program to the TTY used by
# the session.
export GPG_TTY=$(tty)
# This sets the askpass program for ssh to be whatever is set here (qt4-ssh-askpass).
# On most systems, ssh will not be able to prompt for the yubikey unlock code
# without an explicit askpass program being set.
eval "$(ssh-agent -s; SSH_ASKPASS=/usr/bin/qt4-ssh-askpass)"
# This allows ssh to redirect authentication requests to gpg so that I can use
# my yubikey as a derived ssh key.
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
# This refreshes the gpg agent allowing different yubikeys to be used in the
# same session. You can switch yubikeys, source this config, and then gpg will
# begin to pick up on the new key.
gpg-connect-agent updatestartuptty /bye
gpgconf --launch gpg-agent
# -----------------------------------------------------------------------------
# Path
# My stuff
export PATH=$PATH:~/repos/dustinws/dots/bin
# Go's stuff
export PATH=$PATH:~/go/bin
# Rust's stuff
export PATH=$PATH:~/.cargo/bin

3
git/cfacorp.toml Normal file
View File

@ -0,0 +1,3 @@
[user]
signingkey = 28BB3D566CE2122B
email = dustin.stiles1@accesscfa.com

6
git/common.toml Normal file
View File

@ -0,0 +1,6 @@
[commit]
gpgsign = true
[user]
name = Dustin Stiles
[init]
defaultBranch = main

3
git/dustinws.toml Normal file
View File

@ -0,0 +1,3 @@
[user]
signingkey = BCD9912EC231FC87
email = duwstiles@pm.me

7
git/gitconfig.example Normal file
View File

@ -0,0 +1,7 @@
path = ~/repos/dustinws/dots/git/common.toml
[includeIf "gitdir:~/repos/dustinws/"]
path = ~/repos/dustinws/dots/git/dustinws.toml
[includeIf "gitdir:~/repos/cfacorp/"]
path = ~/repos/duwstiles/dots/git/cfacorp.toml

6
nvim/init.lua Normal file
View File

@ -0,0 +1,6 @@
require("wqtt.core.remap")
require("wqtt.lazy")
require("wqtt.core.options")
vim.cmd("colorscheme catppuccin-latte")
vim.cmd("set background=light")

57
nvim/lazy-lock.json Normal file
View File

@ -0,0 +1,57 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
"catppuccin": { "branch": "main", "commit": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" },
"copilot.vim": { "branch": "release", "commit": "cd7f01009fb7b30e22840cadc4faad88b05c6eef" },
"everforest": { "branch": "master", "commit": "c3b375b5fb2a07c3b75f24fefb8a7031015d8231" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
"gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" },
"gruvbox.nvim": { "branch": "main", "commit": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81" },
"hererocks": { "branch": "master", "commit": "c9c5444dea1e07e005484014a8231aa667be30b6" },
"hop.nvim": { "branch": "v2", "commit": "90db1b2c61b820e230599a04fedcd2679e64bd07" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
"lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
"lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "374c78d3ebb5c53f43ea6bd906b6587b5e899b9e" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"melange-nvim": { "branch": "master", "commit": "2db5407f2f6d6d6286f50f2f7365728d66f6f3ae" },
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nvim-cmp": { "branch": "main", "commit": "5a11682453ac6b13dbf32cd403da4ee9c07ef1c3" },
"nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" },
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
"nvim-lspconfig": { "branch": "master", "commit": "9e932edb0af4e20880685ddb96a231669fbe8091" },
"nvim-tree.lua": { "branch": "master", "commit": "6709463b2d18e77f7a946027917aa00d4aaed6f4" },
"nvim-treesitter": { "branch": "master", "commit": "e6d02ec9efd396d294a7793f2066e2527b07b03a" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
"nvim-web-devicons": { "branch": "master", "commit": "1020869742ecb191f260818234517f4a1515cfe8" },
"onedarkpro.nvim": { "branch": "main", "commit": "b2712b3163f2b531cc26d1af07f49f683460e5a3" },
"onenord.nvim": { "branch": "main", "commit": "af734ccc21847ce56830eed1f593ef320ffa27ff" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rest.nvim": { "branch": "main", "commit": "98f0bfc0c4d8b0c75df1d9fe30293f2a0e390504" },
"rose-pine": { "branch": "main", "commit": "3fe41d3959110139e03bcbc6c0c648be83d06b33" },
"seoul256.vim": { "branch": "master", "commit": "b21c9e63f7c2d543db8b34a393a0b42ec7e9b891" },
"solarized.nvim": { "branch": "main", "commit": "c0dfe1cbfabd93b546baf5f1408f5df7e02e2050" },
"sweetie.nvim": { "branch": "master", "commit": "d4b3d94b57ffcd0229f567e050850248be2b1dad" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "2a5ceff981501cff8f46871d5402cd3378a8ab6a" },
"telescope.nvim": { "branch": "master", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" },
"tmux.nvim": { "branch": "main", "commit": "b646e89907a84bf40c9bda3de6fbcab2edd6e393" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"vscode.nvim": { "branch": "main", "commit": "e5e61a0ea00b5de7a74dada2760e61ac59ecb98e" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"zenbones.nvim": { "branch": "main", "commit": "bc74669c7f1b35984efdfa0d531dd802b968cf2e" }
}

View File

@ -0,0 +1,35 @@
-- Line Numbers
vim.opt.number = true
vim.opt.relativenumber = true
-- Tabs & Indentation
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.autoindent = true
-- No line wraps
vim.opt.wrap = false
-- Search Settings
vim.opt.ignorecase = true
vim.opt.smartcase = true
-- Higlight the line the cursor is currently on
vim.opt.cursorline = true
-- Tell neovim that our terminal is true color
vim.opt.termguicolors = true
vim.opt.signcolumn = "yes"
-- Allow backspace to work as you would expect
vim.opt.backspace = "indent,eol,start"
-- Use system clipboard as default register
vim.opt.clipboard:append("unnamedplus")
vim.cmd([[
set nobackup "no backup files
set nowritebackup "only in case you don't want a backup file while editing
set noswapfile "no swap files
]])

View File

@ -0,0 +1,22 @@
vim.g.mapleader = " "
vim.keymap.set("i", "jj", "<Esc>", { desc = "Exit insert mode with jj" })
vim.keymap.set("n", "nh", ":nohl<CR>", { desc = "Clear highlights with nh" })
vim.keymap.set("n", "<leader>wc", ":w<CR>", { desc = "Write the current buffer" })
vim.keymap.set("n", "<leader>wa", ":wa<CR>", { desc = "Write all open buffers" })
vim.keymap.set("n", "<leader>q", ":q<CR>", { desc = "Quit" })
vim.keymap.set("n", "<leader>ns", ":source ~/.config/nvim/init.lua<CR>", { desc = "Source the nvim configuration" })
vim.keymap.set("v", "<leader>fmt", ":!column -t -s '|' -o '|'<CR>", { desc = "format the selected markdown table" })
vim.keymap.set("n", "<leader>rgm", ":! go run main.go<CR>", { desc = "Run the main.go file" })
vim.keymap.set("n", "<leader>fc", ":foldclose<CR>", { desc = "Close a fold" })
vim.keymap.set("n", "<leader>fo", ":foldopen<CR>", { desc = "Open a fold" })
vim.cmd([[
vnoremap <C-k> :m '<-2<CR>gv=gv
vnoremap <C-j> :m '>+1<CR>gv=gv
]])

23
nvim/lua/wqtt/lazy.lua Normal file
View File

@ -0,0 +1,23 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{ import = "wqtt.plugins" },
{ import = "wqtt.plugins.lsp" },
{ import = "wqtt.plugins.themes" },
}, {
change_detection = {
enabled = true,
notify = true,
},
})

View File

@ -0,0 +1,16 @@
return {
"numToStr/Comment.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"JoosepAlviste/nvim-ts-context-commentstring",
},
config = function()
local comment = require("Comment")
local ts_context_contextstring = require("ts_context_commentstring.integrations.comment_nvim")
comment.setup({
pre_hook = ts_context_contextstring.create_pre_hook(),
})
end,
}

View File

@ -0,0 +1 @@
return { "github/copilot.vim" }

View File

@ -0,0 +1,38 @@
return {
"stevearc/conform.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local conform = require("conform")
conform.setup({
formatters_by_ft = {
javascript = { "prettier" },
typescript = { "prettier" },
javascriptreact = { "prettier" },
typescriptreact = { "prettier" },
css = { "prettier" },
html = { "prettier" },
json = { "prettier" },
yaml = { "prettier" },
markdown = { "prettier" },
graphql = { "prettier" },
lua = { "stylua" },
elm = { "elm-format" },
templ = { "templ", "injected" },
},
format_on_save = {
lsp_fallback = true,
async = false,
timeout_ms = 1000,
},
})
vim.keymap.set({ "n", "v" }, "<leader>mp", function()
conform.format({
lsp_fallback = true,
async = false,
timeout_ms = 1000,
})
end, { desc = "Format file or range" })
end,
}

View File

@ -0,0 +1,6 @@
return {
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup()
end,
}

View File

@ -0,0 +1,9 @@
return {
"phaazon/hop.nvim",
branch = "v2", -- optional but strongly recommended
config = function()
require("hop").setup()
vim.keymap.set("n", "<leader>gw", "<cmd>HopWord<CR>", { desc = "Activate word jumping" })
end,
}

View File

@ -0,0 +1,25 @@
return {
"mfussenegger/nvim-lint",
event = { "BufReadPre", "BufNewFile" },
config = function()
local lint = require("lint")
lint.linters_by_ft = {
python = { "pylint" },
go = { "revive" },
}
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
group = lint_augroup,
callback = function()
lint.try_lint()
end,
})
vim.keymap.set("n", "<leader>l", function()
lint.try_lint()
end, { desc = "Trigger linting for current file" })
end,
}

View File

@ -0,0 +1,91 @@
return {
"neovim/nvim-lspconfig",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"hrsh7th/cmp-nvim-lsp",
{ "antosha417/nvim-lsp-file-operations", config = true },
{ "folke/neodev.nvim", opts = {} },
},
config = function()
local lspconfig = require("lspconfig")
local mason_lspconfig = require("mason-lspconfig")
local cmp_nvim_lsp = require("cmp_nvim_lsp")
lspconfig.gleam.setup({})
lspconfig.roc_ls.setup({})
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
local opts = { buffer = ev.buf, silent = true }
opts.desc = "Show LSP references"
vim.keymap.set("n", "gR", "<cmd>Telescope lsp_references<CR>", opts)
opts.desc = "Go to declaration"
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
opts.desc = "Show LSP definitions"
vim.keymap.set("n", "gi", "<cmd>Telescope lsp_definitions<CR>", opts)
opts.desc = "Show LSP type definitions"
vim.keymap.set("n", "gt", "<cmd>Telescope lsp_type_definitions<CR>", opts)
opts.desc = "See available code actions"
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, opts)
opts.desc = "Smart rename"
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
opts.desc = "Show buffer diagnostics"
vim.keymap.set("n", "<leader>D", "<cmd>Telescope diagnostics bufnr=0<CR>", opts)
opts.desc = "Show line diagnostics"
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts)
opts.desc = "Go to previous diagnostic"
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
opts.desc = "Go to next diagnostic"
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
opts.desc = "Show documentation for current symbol"
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
opts.desc = "Restart LSP"
vim.keymap.set("n", "<leader>rs", ":LspRestart<CR>", opts)
end,
})
local capabilities = cmp_nvim_lsp.default_capabilities()
mason_lspconfig.setup_handlers({
function(server_name)
lspconfig[server_name].setup({
capabilities = capabilities,
})
end,
["tailwindcss"] = function()
lspconfig["tailwindcss"].setup({
capabilities = capabilities,
filetypes = { "html", "ts", "tsx", "js", "jsx", "elm", "gleam", "templ" },
})
end,
["lua_ls"] = function()
lspconfig["lua_ls"].setup({
capabilities = capabilities,
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
completion = {
callSnippet = "Replace",
},
},
},
})
end,
})
end,
}

View File

@ -0,0 +1,48 @@
return {
"williamboman/mason.nvim",
dependencies = {
"williamboman/mason-lspconfig.nvim",
"WhoIsSethDaniel/mason-tool-installer.nvim",
},
config = function()
local mason = require("mason")
local mason_lspconfig = require("mason-lspconfig")
mason.setup()
mason_lspconfig.setup({
ensure_installed = {
"ts_ls",
"html",
"cssls",
"tailwindcss",
"lua_ls",
"graphql",
"prismals",
"pyright",
"elmls",
"golangci_lint_ls",
"gopls",
"yamlls",
"terraformls",
"rust_analyzer",
"marksman",
"elixirls",
"docker_compose_language_service",
"cypher_ls",
"clangd",
"bashls",
},
})
local mason_tool_installer = require("mason-tool-installer")
mason_tool_installer.setup({
ensure_installed = {
"prettier",
"stylua",
"elm-format",
},
})
end,
}

View File

@ -0,0 +1,7 @@
return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
require("lualine").setup()
end,
}

View File

@ -0,0 +1,9 @@
return {
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && npm install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
}

View File

@ -0,0 +1,57 @@
return {
"hrsh7th/nvim-cmp",
event = "InsertEnter",
dependencies = {
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
{
"L3MON4D3/LuaSnip",
version = "v2.*",
build = "make install_jsregexp",
},
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
"onsails/lspkind.nvim",
"hrsh7th/cmp-nvim-lsp",
},
config = function()
local cmp = require("cmp")
local luasnip = require("luasnip")
local lspkind = require("lspkind")
require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
completion = {
completeopt = "menu,menuone,preview,noselect",
},
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
["<C-k>"] = cmp.mapping.select_prev_item(),
["<C-j>"] = cmp.mapping.select_next_item(),
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = false }),
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
{ name = "path" },
{ name = "neorg" },
}),
formatting = {
format = lspkind.cmp_format({
maxwidth = 50,
ellipsis_char = "...",
}),
},
})
end,
}

View File

@ -0,0 +1,283 @@
return {
"nvim-tree/nvim-tree.lua",
dependencies = "nvim-tree/nvim-web-devicons",
config = function()
require("nvim-tree").setup({ -- BEGIN_DEFAULT_OPTS
on_attach = "default",
hijack_cursor = false,
auto_reload_on_write = true,
disable_netrw = false,
hijack_netrw = true,
hijack_unnamed_buffer_when_opening = false,
root_dirs = {},
prefer_startup_root = false,
sync_root_with_cwd = false,
reload_on_bufenter = false,
respect_buf_cwd = false,
select_prompts = false,
sort = {
sorter = "name",
folders_first = true,
files_first = false,
},
view = {
centralize_selection = false,
cursorline = true,
debounce_delay = 15,
side = "right",
preserve_window_proportions = false,
number = false,
relativenumber = false,
signcolumn = "yes",
width = 30,
float = {
enable = false,
quit_on_focus_loss = true,
open_win_config = {
relative = "editor",
border = "rounded",
width = 30,
height = 30,
row = 1,
col = 1,
},
},
},
renderer = {
add_trailing = false,
group_empty = false,
full_name = false,
root_folder_label = ":~:s?$?/..?",
indent_width = 2,
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
symlink_destination = true,
highlight_git = "none",
highlight_diagnostics = "none",
highlight_opened_files = "none",
highlight_modified = "none",
highlight_hidden = "none",
highlight_bookmarks = "none",
highlight_clipboard = "name",
indent_markers = {
enable = false,
inline_arrows = true,
icons = {
corner = "",
edge = "",
item = "",
bottom = "",
none = " ",
},
},
icons = {
web_devicons = {
file = {
enable = true,
color = true,
},
folder = {
enable = false,
color = true,
},
},
git_placement = "before",
modified_placement = "after",
hidden_placement = "after",
diagnostics_placement = "signcolumn",
bookmarks_placement = "signcolumn",
padding = " ",
symlink_arrow = "",
show = {
file = true,
folder = true,
folder_arrow = true,
git = true,
modified = true,
hidden = false,
diagnostics = true,
bookmarks = true,
},
glyphs = {
default = "",
symlink = "",
bookmark = "󰆤",
modified = "",
hidden = "󰜌",
folder = {
arrow_closed = "",
arrow_open = "",
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
symlink_open = "",
},
git = {
unstaged = "",
staged = "",
unmerged = "",
renamed = "",
untracked = "",
deleted = "",
ignored = "",
},
},
},
},
hijack_directories = {
enable = true,
auto_open = true,
},
update_focused_file = {
enable = false,
update_root = {
enable = false,
ignore_list = {},
},
exclude = false,
},
system_open = {
cmd = "",
args = {},
},
git = {
enable = true,
show_on_dirs = true,
show_on_open_dirs = true,
disable_for_dirs = {},
timeout = 400,
cygwin_support = false,
},
diagnostics = {
enable = false,
show_on_dirs = false,
show_on_open_dirs = true,
debounce_delay = 50,
severity = {
min = vim.diagnostic.severity.HINT,
max = vim.diagnostic.severity.ERROR,
},
icons = {
hint = "",
info = "",
warning = "",
error = "",
},
},
modified = {
enable = false,
show_on_dirs = true,
show_on_open_dirs = true,
},
filters = {
enable = true,
git_ignored = true,
dotfiles = false,
git_clean = false,
no_buffer = false,
no_bookmark = false,
custom = {},
exclude = {},
},
live_filter = {
prefix = "[FILTER]: ",
always_show_folders = true,
},
filesystem_watchers = {
enable = true,
debounce_delay = 50,
ignore_dirs = {},
},
actions = {
use_system_clipboard = true,
change_dir = {
enable = true,
global = false,
restrict_above_cwd = false,
},
expand_all = {
max_folder_discovery = 300,
exclude = {},
},
file_popup = {
open_win_config = {
col = 1,
row = 1,
relative = "cursor",
border = "shadow",
style = "minimal",
},
},
open_file = {
quit_on_open = false,
eject = true,
resize_window = true,
window_picker = {
enable = true,
picker = "default",
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
exclude = {
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
buftype = { "nofile", "terminal", "help" },
},
},
},
remove_file = {
close_window = true,
},
},
trash = {
cmd = "gio trash",
},
tab = {
sync = {
open = false,
close = false,
ignore = {},
},
},
notify = {
threshold = vim.log.levels.INFO,
absolute_path = true,
},
help = {
sort_by = "key",
},
ui = {
confirm = {
remove = true,
trash = true,
default_yes = false,
},
},
experimental = {
actions = {
open_file = {
relative_path = false,
},
},
},
log = {
enable = false,
truncate = false,
types = {
all = false,
config = false,
copy_paste = false,
dev = false,
diagnostics = false,
git = false,
profile = false,
watcher = false,
},
},
}) -- END_DEFAULT_OPTS
local api = require("nvim-tree.api")
vim.keymap.set("n", "<leader>e", function()
api.tree.toggle()
end, { desc = "Toggle the file explorer" })
end,
}

View File

@ -0,0 +1,3 @@
return {
"nvim-lua/plenary.nvim",
}

View File

@ -0,0 +1,10 @@
return {
"rest-nvim/rest.nvim",
dependencies = {
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
table.insert(opts.ensure_installed, "http")
end,
},
}

View File

@ -0,0 +1,34 @@
return {
"nvim-telescope/telescope.nvim",
tag = "0.1.6",
dependencies = {
"nvim-lua/plenary.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
"folke/todo-comments.nvim",
},
config = function()
local telescope = require("telescope")
local builtin = require("telescope.builtin")
telescope.load_extension("fzf")
vim.keymap.set("n", "<C-p>", builtin.git_files, { desc = "Show all files in git" })
vim.keymap.set("n", "<leader>fr", builtin.oldfiles, { desc = "Show recent files" })
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "show all files in the current directory" })
vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "live grep" })
vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "show all open buffers" })
vim.keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "find todos" })
vim.keymap.set(
"n",
"<leader>fs",
"<cmd>Telescope lsp_document_symbols query=searchTerm<CR>",
{ desc = "Search the document for symbols" }
)
vim.keymap.set(
"n",
"<leader>fws",
"<cmd>Telescope lsp_workspace_symbols query=searchTerm<CR>",
{ desc = "Search the workspace for symbols" }
)
end,
}

View File

@ -0,0 +1,55 @@
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
require("catppuccin").setup({
flavour = "frappe", -- latte, frappe, macchiato, mocha
background = { -- :h background
light = "latte",
dark = "mocha",
},
transparent_background = true, -- disables setting the background color.
show_end_of_buffer = true, -- shows the '~' characters after the end of buffers
term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
dim_inactive = {
enabled = false, -- dims the background color of inactive window
shade = "dark",
percentage = 0.15, -- percentage of the shade to apply to the inactive window
},
no_italic = false, -- Force no italic
no_bold = false, -- Force no bold
no_underline = false, -- Force no underline
styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
comments = { "italic" }, -- Change the style of comments
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
-- miscs = {}, -- Uncomment to turn off hard-coded styles
},
color_overrides = {},
custom_highlights = {},
default_integrations = true,
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
},
})
end,
}

View File

@ -0,0 +1,3 @@
return {
"sainnhe/everforest",
}

View File

@ -0,0 +1 @@
return { "projekt0n/github-nvim-theme" }

View File

@ -0,0 +1,3 @@
return {
"ellisonleao/gruvbox.nvim",
}

View File

@ -0,0 +1 @@
return { "savq/melange-nvim" }

View File

@ -0,0 +1,3 @@
return {
"EdenEast/nightfox.nvim",
}

View File

@ -0,0 +1 @@
return { "shaunsingh/nord.nvim" }

View File

@ -0,0 +1,4 @@
return {
"olimorris/onedarkpro.nvim",
priority = 1000, -- Ensure it loads first
}

View File

@ -0,0 +1 @@
return { "rmehri01/onenord.nvim" }

View File

@ -0,0 +1,4 @@
return {
"rose-pine/neovim",
name = "rose-pine",
}

View File

@ -0,0 +1,3 @@
return {
"junegunn/seoul256.vim",
}

View File

@ -0,0 +1,10 @@
return {
"maxmx03/solarized.nvim",
lazy = false,
priority = 1000,
setup = function()
require("solarized").setup({
transparent = true,
})
end,
}

View File

@ -0,0 +1,3 @@
return {
{ "NTBBloodbath/sweetie.nvim" },
}

View File

@ -0,0 +1,3 @@
return {
"folke/tokyonight.nvim",
}

View File

@ -0,0 +1,3 @@
return {
"Mofiqul/vscode.nvim",
}

View File

@ -0,0 +1,7 @@
return {
"zenbones-theme/zenbones.nvim",
-- Optionally install Lush. Allows for more configuration or extending the colorscheme
-- If you don't want to install lush, make sure to set g:zenbones_compat = 1
-- In Vim, compat mode is turned on as Lush only works in Neovim.
dependencies = { "rktjmp/lush.nvim" },
}

View File

@ -0,0 +1,6 @@
return {
"aserowy/tmux.nvim",
config = function()
return require("tmux").setup()
end,
}

View File

@ -0,0 +1,10 @@
return {
"folke/todo-comments.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
require("todo-comments").setup()
end,
}

View File

@ -0,0 +1,7 @@
return {
"xiyaowong/transparent.nvim",
extra_groups = {
"NormalFloat", -- plugins which have float panel such as Lazy, Mason, LspInfo
"NvimTreeNormal", -- NvimTree
},
}

View File

@ -0,0 +1,41 @@
return {
"nvim-treesitter/nvim-treesitter",
event = { "BufReadPre", "BufNewFile" },
build = ":TSUpdate",
dependencies = {
"windwp/nvim-ts-autotag",
},
config = function()
local treesitter = require("nvim-treesitter.configs")
treesitter.setup({
highlight = { enable = true },
indent = { enable = true },
autotag = { enable = true },
ensure_installed = {
"json",
"java",
"javascript",
"typescript",
"tsx",
"yaml",
"html",
"css",
"prisma",
"markdown",
"markdown_inline",
"graphql",
"gleam",
"bash",
"lua",
"vim",
"dockerfile",
"gitignore",
"c",
"rust",
"elm",
"go",
},
})
end,
}

View File

@ -0,0 +1,37 @@
return {
"folke/trouble.nvim",
opts = {}, -- for default options, refer to the configuration section for custom setup.
cmd = "Trouble",
keys = {
{
"<leader>xx",
"<cmd>Trouble diagnostics toggle<cr>",
desc = "Diagnostics (Trouble)",
},
{
"<leader>xw",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{
"<leader>xd",
"<cmd>Trouble symbols toggle focus=false<cr>",
desc = "Symbols (Trouble)",
},
{
"<leader>xq",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{
"<leader>xl",
"<cmd>Trouble loclist toggle<cr>",
desc = "Location List (Trouble)",
},
{
"<leader>xt",
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
}

View File

@ -0,0 +1,13 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
end,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
}