Compare commits

..

3 Commits

Author SHA1 Message Date
d9efa6d0da
Cleanup lsp config a little more 2025-08-17 09:44:02 -05:00
f9a3f4ef46
Combine configs and cleanup LSP setup 2025-08-15 14:30:02 -05:00
c7868ff459
Add new neovim config 2025-08-14 15:44:24 -05:00
29 changed files with 209 additions and 372 deletions

View File

@ -1,6 +1,6 @@
# Text style
adjust-cell-height = 30%
adjust-cell-width = -10%
adjust-cell-width = -9%
cursor-style = block
cursor-style-blink = false
font-family = Inconsolata Patched G
@ -9,24 +9,22 @@ font-synthetic-style = no-bold, no-bold-italic
# Window style
background-blur = true
background-opacity = 0.88
background-opacity = 0.9
theme = dark:catppuccin-mocha.conf, light:catppuccin-latte.conf
window-padding-color = extend
window-padding-x = 12,0
window-padding-y = 12,0
window-padding-x = 5,0
window-padding-y = 5,0
# Functionality
scrollback-limit = 100000
window-inherit-working-directory = true
copy-on-select = clipboard
shell-integration-features = no-cursor
# Not currently using tmux
# command = ~/.config/ghostty/ghostty-tmux
# macOS-specific settings
alpha-blending = linear
macos-icon = xray
macos-titlebar-style = transparent
keybind = shift+enter=text:\n
# Not currently using tmux
# command = ~/.config/ghostty/ghostty-tmux

View File

@ -5,7 +5,7 @@ palette = 3=#f9e2af
palette = 4=#89b4fa
palette = 5=#f5c2e7
palette = 6=#94e2d5
palette = 7=#a6adc8
palette = 7=#bac2de
palette = 8=#585b70
palette = 9=#f38ba8
palette = 10=#a6e3a1
@ -13,10 +13,10 @@ palette = 11=#f9e2af
palette = 12=#89b4fa
palette = 13=#f5c2e7
palette = 14=#94e2d5
palette = 15=#bac2de
background = 1e1e2e
palette = 15=#a6adc8
background = 101018
foreground = cdd6f4
cursor-color = f5e0dc
cursor-text = 1e1e2e
cursor-text = 101018
selection-background = 353749
selection-foreground = cdd6f4

View File

@ -1,4 +1,3 @@
---
k9s:
body:
fgColor: '#4c4f69'
@ -65,11 +64,19 @@ k9s:
bgColor: '#eff1f5'
chartBgColor: '#eff1f5'
dialBgColor: '#eff1f5'
defaultDialColors: ['#40a02b', '#d20f39']
defaultChartColors: ['#40a02b', '#d20f39']
defaultDialColors:
- '#40a02b'
- '#d20f39'
defaultChartColors:
- '#40a02b'
- '#d20f39'
resourceColors:
cpu: ['#8839ef', '#1e66f5']
mem: ['#df8e1d', '#fe640b']
cpu:
- '#8839ef'
- '#1e66f5'
mem:
- '#df8e1d'
- '#fe640b'
yaml:
keyColor: '#1e66f5'
valueColor: '#4c4f69'

View File

@ -2,22 +2,22 @@
k9s:
body:
fgColor: '#cdd6f4'
bgColor: default
bgColor: '#101018'
logoColor: '#cba6f7'
prompt:
fgColor: '#cdd6f4'
bgColor: default
bgColor: '#181825'
suggestColor: '#89b4fa'
help:
fgColor: '#cdd6f4'
bgColor: default
bgColor: '#101018'
sectionColor: '#a6e3a1'
keyColor: '#89b4fa'
numKeyColor: '#eba0ac'
frame:
title:
fgColor: '#94e2d5'
bgColor: default
bgColor: '#101018'
highlightColor: '#f5c2e7'
counterColor: '#f9e2af'
filterColor: '#a6e3a1'
@ -29,8 +29,8 @@ k9s:
keyColor: '#89b4fa'
numKeyColor: '#eba0ac'
crumbs:
fgColor: '#1e1e2e'
bgColor: default
fgColor: '#101018'
bgColor: '#eba0ac'
activeColor: '#f2cdcd'
status:
newColor: '#89b4fa'
@ -47,24 +47,24 @@ k9s:
views:
table:
fgColor: '#cdd6f4'
bgColor: default
bgColor: '#101018'
cursorFgColor: '#313244'
cursorBgColor: '#45475a'
markColor: '#f5e0dc'
header:
fgColor: '#f9e2af'
bgColor: default
bgColor: '#101018'
sorterColor: '#89dceb'
xray:
fgColor: '#cdd6f4'
bgColor: default
bgColor: '#101018'
cursorColor: '#45475a'
cursorTextColor: '#1e1e2e'
cursorTextColor: '#101018'
graphicColor: '#f5c2e7'
charts:
bgColor: default
chartBgColor: default
dialBgColor: default
bgColor: '#101018'
chartBgColor: '#101018'
dialBgColor: '#101018'
defaultDialColors: ['#a6e3a1', '#f38ba8']
defaultChartColors: ['#a6e3a1', '#f38ba8']
resourceColors:
@ -76,18 +76,18 @@ k9s:
colonColor: '#a6adc8'
logs:
fgColor: '#cdd6f4'
bgColor: default
bgColor: '#101018'
indicator:
fgColor: '#b4befe'
bgColor: default
bgColor: '#101018'
toggleOnColor: '#a6e3a1'
toggleOffColor: '#a6adc8'
dialog:
fgColor: '#f9e2af'
bgColor: default
buttonFgColor: '#1e1e2e'
buttonBgColor: default
buttonFocusFgColor: '#1e1e2e'
bgColor: '#9399b2'
buttonFgColor: '#101018'
buttonBgColor: '#7f849c'
buttonFocusFgColor: '#101018'
buttonFocusBgColor: '#f5c2e7'
labelFgColor: '#f5e0dc'
fieldFgColor: '#cdd6f4'

View File

@ -1 +0,0 @@

View File

@ -1,8 +0,0 @@
[tools]
node = "22"
ruby = "3"
python = "3"
[tasks]
gcloud-login = "gcloud auth application-default login"
orm-setup = "python -m pip install keyring keyrings.google-artifactregistry-auth --index-url https://pypi.org/simple/ && python -m pip install orm-cli --index-url https://us-central1-python.pkg.dev/common-build/pypi/simple/"

View File

@ -1,32 +1,29 @@
{
"avante.nvim": { "branch": "main", "commit": "56951378f10b25f8bb0f5bb516b8d778a1e498a7" },
"avante.nvim": { "branch": "main", "commit": "4e0a8620b68a0de7a0ec67a0a7503863500f6d29" },
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
"catppuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" },
"conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
"dropbar.nvim": { "branch": "master", "commit": "3460930700ca67b4590a69ac3f1d65d5f9658fb6" },
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
"catppuccin": { "branch": "main", "commit": "3aaf3ab60221bca8edb1354e41bd514a22c89de2" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"dropbar.nvim": { "branch": "master", "commit": "418897fe7828b2749ca78056ec8d8ad43136b695" },
"fidget.nvim": { "branch": "main", "commit": "2cb5edb2dd6700a958a446b20bb2be04d318da9d" },
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f0bf635082bb9b7d2b37766054526a6ccafdb85" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
"mini.nvim": { "branch": "main", "commit": "d12b7c1b4dccc5245a3d2b7bc73da6dd910af2c0" },
"neo-tree.nvim": { "branch": "main", "commit": "ed057048a281b418d5318dd5153f9486daa517a3" },
"neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
"mini.nvim": { "branch": "main", "commit": "0e9d1f972a91acf5a0513319099ba41f7c09c30a" },
"neo-tree.nvim": { "branch": "main", "commit": "46fa0c22ca39e05fe15744102d21feb07fe9a94a" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
"nvim-lspconfig": { "branch": "master", "commit": "bc09aa236d7d2af66f56a5a35d0577588eca7800" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-surround": { "branch": "main", "commit": "a868c256c861044beb9794b4dd126480dcdfbdad" },
"nvim-lspconfig": { "branch": "master", "commit": "45ff1914044de7dbd4cd85053dc09f47312a2f4d" },
"nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" },
"nvim-surround": { "branch": "main", "commit": "c271c9082886a24866353764cf96c9d957e95b2b" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
"nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
"nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"project-cli-commands.nvim": { "branch": "main", "commit": "9a2a2fdfd38a3d71cc927e3a398ac0ddfa846b3d" },
"schemastore.nvim": { "branch": "main", "commit": "d522e3ed6ed2c7bed7ebe1e42615e79b3aabfe65" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },

View File

@ -1,31 +0,0 @@
return {
settings = {
json = {
schemas = require("schemastore").json.schemas({
select = {
"devcontainer.json",
"devcontainer-feature.json",
},
replace = {
["devcontainer.json"] = {
description = "devcontainer.json overridden",
-- fileMatch has to be a table
fileMatch = { "devcontainer.json" },
name = "devcontainer.json",
url = "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainer.base.schema.json",
},
},
extra = {
{
description = "devcontainer-feature.json",
-- fileMatch has to be a table
fileMatch = { "devcontainer-feature.json" },
name = "devcontainer-feature.json",
url = "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainerFeature.schema.json",
},
},
}),
validate = { enable = true },
},
},
}

View File

@ -1,9 +0,0 @@
return {
capabilities = {
workspace = {
didChangeWatchedFiles = {
dynamicRegistration = true,
},
},
},
}

View File

@ -1,25 +0,0 @@
return {
settings = {
yaml = {
schemaStore = {
enable = false,
url = "",
},
schemas = require("schemastore").yaml.schemas({
select = {
"Ansible Inventory",
"Ansible Rulebook",
"Ansible Collection Galaxy",
"Ansible Playbook",
"Ansible Tasks File",
"Ansible Requirements",
"Ansible Vars File",
"kustomization.yaml",
"docker-compose.yml",
"GitHub Workflow",
},
}),
validate = { enable = true },
},
},
}

View File

@ -17,7 +17,6 @@ local filetype_maps = {
{ pattern = "*.tf", ft = "terraform" },
{ pattern = "*.pro", ft = "progruard" },
{ pattern = "*.mjml", ft = "html" },
{ pattern = ".swift-format", ft = "json" },
}
for _, mapping in ipairs(filetype_maps) do

View File

@ -2,13 +2,21 @@ local keymap = vim.keymap.set
-- Normal mode
keymap("n", "<Esc>", "<cmd>nohlsearch<CR>")
keymap("n", "<leader>f", vim.diagnostic.setloclist, { desc = "Open diagnostic quick[f]ix list" })
keymap("n", "<leader>w", "<cmd>w!<CR>", { desc = "[w]rite current file", silent = true })
keymap("n", "<leader>q", "<cmd>q<CR>", { desc = "[q]uit current buffer", silent = true })
keymap("n", "<leader>Q", "<cmd>qa<CR>", { desc = "[Q]uit completely", silent = true })
keymap("n", "<Leader>fb", ":lua vim.lsp.buf.format()<CR>", { desc = "[f]ormat [b]uffer", silent = true })
keymap("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" })
keymap("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" })
keymap("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" })
keymap("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
keymap(
"n",
"gd",
"<cmd>lua vim.lsp.buf.definition()<CR>",
{ desc = "[g]o to [d]efinition", noremap = true, silent = true }
)
-- Visual mode
keymap("v", "<Leader>p", '"_dP', { desc = "[p]aste without overwriting default register" })

View File

@ -1,47 +1,47 @@
local opt = vim.opt
-- Columns and gutters
opt.colorcolumn = "80,120" -- Highlight columns 80, 120
opt.number = true -- Line numbers in the gutter
opt.colorcolumn = "80" -- Highlight column 80
opt.number = true -- Line numbers in the gutter
opt.relativenumber = true -- Relative line numbers in the gutter
opt.signcolumn = "yes:1" -- Sign column in the gutter always visible
opt.signcolumn = "yes:1" -- Sign column in the gutter always visible
-- Indentation
opt.autoindent = true -- Enable auto-indentation
opt.autoindent = true -- Enable auto-indentation
opt.breakindent = true -- ?
opt.expandtab = true -- Default to spaces instead of tabs
opt.shiftround = true -- Round indent to multiple of shift-width
opt.shiftwidth = 4 -- Number of spaces when auto-indenting
opt.softtabstop = 4 -- Number of spaces for a tab when editing
opt.tabstop = 4 -- Number of spaces for a tab
opt.expandtab = true -- Default to spaces instead of tabs
opt.shiftround = true -- Round indent to multiple of shift-width
opt.shiftwidth = 4 -- Number of spaces when auto-indenting
opt.softtabstop = 4 -- Number of spaces for a tab when editing
opt.tabstop = 4 -- Number of spaces for a tab
-- Display and adornments
opt.cursorline = true -- Highlight current line
opt.cursorline = true -- Highlight current line
opt.guifont = "Inconsolata Patched G:h12"
opt.list = true -- Show whitespace characters
opt.list = true -- Show whitespace characters
opt.listchars = { tab = "» ", trail = "", nbsp = "", lead = "" }
opt.scrolloff = 3 -- Show 3 lines above and below cursor
opt.showmode = false -- Don't show the mode since it's in our statusline
opt.termguicolors = true -- Use true terminal colors
opt.scrolloff = 3 -- Show 3 lines above and below cursor
opt.showmode = false -- Don't show the mode since it's in our statusline
opt.termguicolors = true -- Use true terminal colors
opt.virtualedit = "block"
opt.winborder = "rounded" -- Rounded borders for windows
-- Behavior
opt.confirm = true
opt.ignorecase = true -- Ignore case in search and commands
opt.ignorecase = true -- Ignore case in search and commands
opt.inccommand = "split" -- Preview substitutions live
opt.mouse = "a" -- Turn on mouse support
opt.smartcase = true -- ?
opt.mouse = "a" -- Turn on mouse support
opt.smartcase = true -- ?
opt.splitbelow = true
opt.splitright = true
opt.timeoutlen = 1000 -- Command timeout length
opt.undofile = true
opt.updatetime = 250 -- ?
opt.updatetime = 250 -- ?
-- Clipboard
-- Sync clipboard between OS and Neovim.
vim.schedule(function()
vim.opt.clipboard = "unnamedplus"
vim.opt.clipboard = "unnamedplus"
end)
-- Features

View File

@ -5,12 +5,16 @@ return {
config = function()
require("catppuccin").setup({
flavour = "auto",
transparent_background = true,
background = {
light = "latte",
dark = "mocha",
},
term_colors = vim.g.neovide,
color_overrides = {
mocha = {
base = "#101018",
},
},
integrations = {
blink_cmp = true,
diffview = true,

View File

@ -3,7 +3,6 @@ return {
event = "VimEnter",
opts = {
delay = 0,
preset = "helix",
icons = {
mappings = vim.g.have_nerd_font,
keys = vim.g.have_nerd_font,
@ -11,13 +10,10 @@ return {
-- Document existing key chains
spec = {
{ "<leader>a", group = "[a]vante" },
{ "<leader>g", group = "[g]it" },
{ "<leader>l", group = "[l]sp" },
{ "<leader>lg", group = "[l]sp [g]oto" },
{ "<leader>ls", group = "[l]sp [s]ymbols" },
{ "<leader>s", group = "[s]earch" },
{ "<leader>t", group = "[t]oggle" },
{ "<leader>s", group = "[S]earch" },
{ "<leader>e", group = "[E]xplorer/Tree" },
{ "<leader>t", group = "[T]oggle" },
{ "<leader>g", group = "[G]oto/Actions" },
},
},
}

View File

@ -34,33 +34,33 @@ return {
-- Define these keys here since they require access to runtime values
local builtin = require("telescope.builtin")
local map = function(keys, func, desc)
vim.keymap.set("n", "<leader>" .. keys, func, { desc = "[s]earch " .. desc })
end
map("<leader>", builtin.find_files, "all files ([ ])")
map("sb", builtin.buffers, "[b]uffers")
map("sd", builtin.diagnostics, "[d]iagnostics")
map("sg", builtin.live_grep, "[g]rep")
map("sh", builtin.help_tags, "[h]elp")
map("sk", builtin.keymaps, "[k]eymaps")
map("sn", function()
builtin.find_files({ cwd = vim.fn.stdpath("config") })
end, "[n]eovim files")
map("sr", builtin.resume, "[r]esume")
map("st", builtin.builtin, "[t]elescope")
map("sw", builtin.grep_string, "current [w]ord")
map("s.", builtin.oldfiles, "recent files ([.] for repeat)")
map("/", function()
keymap("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp" })
keymap("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
keymap("n", "<leader>sf", builtin.find_files, { desc = "[S]earch [F]iles" })
keymap("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
keymap("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
keymap("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
keymap("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
keymap("n", "<leader>sr", builtin.resume, { desc = "[S]earch [R]esume" })
keymap("n", "<leader>s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
keymap("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
keymap("n", "<leader>/", function()
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
winblend = 10,
previewer = false,
}))
end, "current buffer fuzzy ([/])")
map("s/", function()
end, { desc = "[/] Fuzzily search in current buffer" })
keymap("n", "<leader>s/", function()
builtin.live_grep({
grep_open_files = true,
prompt_title = "Live Grep in Open Files",
})
end, "in open files ([/])")
end, { desc = "[S]earch [/] in Open Files" })
keymap("n", "<leader>sn", function()
builtin.find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "[S]earch [N]eovim files" })
end,
}

View File

@ -18,7 +18,6 @@ return {
hide_gitignore = false,
never_show = {
"node_modules",
".build",
".DS_Store",
"thumbs.db",
".git",

View File

@ -1,42 +0,0 @@
return {
"dimaportenko/project-cli-commands.nvim",
dependencies = {
"akinsho/toggleterm.nvim",
"nvim-telescope/telescope.nvim",
},
keys = {
{
"<leader>sc",
"<cmd>Telescope project_cli_commands open<cr>",
desc = "[s]earch [c]ommands",
},
},
config = function()
local OpenActions = require("project_cli_commands.open_actions")
local RunActions = require("project_cli_commands.actions")
require("project_cli_commands").setup({
-- Key mappings bound inside the telescope window
running_telescope_mapping = {
["<C-c>"] = RunActions.exit_terminal,
["<C-f>"] = RunActions.open_float,
["<C-v>"] = RunActions.open_vertical,
["<C-h>"] = RunActions.open_horizontal,
},
open_telescope_mapping = {
{ mode = "i", key = "<CR>", action = OpenActions.execute_script_vertical },
{ mode = "n", key = "<CR>", action = OpenActions.execute_script_vertical },
{ mode = "i", key = "<C-h>", action = OpenActions.execute_script },
{ mode = "n", key = "<C-h>", action = OpenActions.execute_script },
{ mode = "i", key = "<C-i>", action = OpenActions.execute_script_with_input },
{ mode = "n", key = "<C-i>", action = OpenActions.execute_script_with_input },
{ mode = "i", key = "<C-c>", action = OpenActions.copy_command_clipboard },
{ mode = "n", key = "<C-c>", action = OpenActions.copy_command_clipboard },
{ mode = "i", key = "<C-f>", action = OpenActions.execute_script_float },
{ mode = "n", key = "<C-f>", action = OpenActions.execute_script_float },
{ mode = "i", key = "<C-v>", action = OpenActions.execute_script_vertical },
{ mode = "n", key = "<C-v>", action = OpenActions.execute_script_vertical },
},
})
end,
}

View File

@ -1,40 +1,37 @@
local mason_lsps = {
local servers = {
-- LSPs
-- "jsonls",
"json-lsp",
"lua_ls",
-- "ruby_lsp",
-- "rubocop",
-- "rust_analyzer",
-- "terraformls",
-- "ts_ls",
-- "yamlls",
"ruby_lsp",
"rubocop",
"rust_analyzer",
"terraformls",
-- Formatters
-- "fixjson",
-- "goimports",
-- "hclfmt",
-- "prettierd",
-- "shellharden",
"fixjson",
"goimports",
"hclfmt",
"prettierd",
"shellharden",
"stylua",
}
local non_mason_lsps = {
"sourcekit",
"yamlfix",
--- Linters
"swiftlint",
}
return {
-- {
-- "WhoIsSethDaniel/mason-tool-installer.nvim",
-- dependencies = {
-- "mason-org/mason-lspconfig.nvim",
-- },
-- opts = {
-- ensure_installed = mason_lsps,
-- },
-- },
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
dependencies = {
"mason-org/mason-lspconfig.nvim",
},
opts = {
ensure_installed = servers,
},
},
{
"mason-org/mason-lspconfig.nvim",
opts = {
ensure_installed = mason_lsps,
ensure_installed = {},
automatic_enable = true,
automatic_installation = false,
},
@ -51,36 +48,28 @@ return {
"WhoIsSethDaniel/mason-tool-installer.nvim",
{ "j-hui/fidget.nvim", opts = {} },
"saghen/blink.cmp",
"b0o/schemastore.nvim",
},
config = function()
for _, server in ipairs(non_mason_lsps) do
vim.lsp.enable(server)
end
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
callback = function(event)
local map = function(keys, func, desc, mode)
vim.keymap.set(
mode or "n",
"<leader>" .. keys,
func,
{ buffer = event.buf, desc = "[l]sp: " .. desc }
)
vim.keymap.set(mode or "n", keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
end
map("la", vim.lsp.buf.code_action, "[a]ctions", { "n", "x" })
map("lgr", require("telescope.builtin").lsp_references, "[g]oto [r]eferences")
map("lgi", require("telescope.builtin").lsp_implementations, "[g]oto [i]mplementation")
map("lgf", require("telescope.builtin").lsp_definitions, "[g]oto de[f]inition")
map("lgd", vim.lsp.buf.declaration, "[g]oto [d]eclaration")
map("lgt", require("telescope.builtin").lsp_type_definitions, "[g]oto [t]ype definition")
map("lr", vim.lsp.buf.rename, "[r]ename")
map("lsb", require("telescope.builtin").lsp_document_symbols, "[s]ymbols in [b]uffer")
map("lsw", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[s]ymbols in [w]orkspace")
map("lhs", "<cmd>LspInfo<CR>", "[h]ealth [s]tatus")
map("lhr", "<cmd>LspRestart<CR>", "[h]ealth [r]estart")
map("grn", vim.lsp.buf.rename, "[R]e[n]ame")
map("ga", vim.lsp.buf.code_action, "[g]oto [a]ction", { "n", "x" })
map("gtr", require("telescope.builtin").lsp_references, "[g]o[t]o [r]eferences")
map("gti", require("telescope.builtin").lsp_implementations, "[g]o[t]o [i]mplementation")
map("gtd", require("telescope.builtin").lsp_definitions, "[g]o[t]o [d]efinition")
map("gtD", vim.lsp.buf.declaration, "[g]o[t]o [D]eclaration")
map("gtt", require("telescope.builtin").lsp_type_definitions, "[g]o[t]o [t]ype Definition")
map("gsb", require("telescope.builtin").lsp_document_symbols, "[g]oto [s]ymbols in [b]uffer")
map(
"gsw",
require("telescope.builtin").lsp_dynamic_workspace_symbols,
"[g]oto [s]ymbols in [w]orkspace"
)
local client = vim.lsp.get_client_by_id(event.data.client_id)
local augroup = vim.api.nvim_create_augroup
@ -119,32 +108,40 @@ return {
end
end,
})
vim.diagnostic.config({
severity_sort = true,
float = { border = "rounded", source = "if_many" },
underline = { severity = vim.diagnostic.severity.ERROR },
signs = vim.g.have_nerd_font and {
text = {
[vim.diagnostic.severity.ERROR] = "󰅚 ",
[vim.diagnostic.severity.WARN] = "󰀪 ",
[vim.diagnostic.severity.INFO] = "󰋽 ",
[vim.diagnostic.severity.HINT] = "󰌶 ",
},
} or {},
virtual_text = {
source = "if_many",
spacing = 2,
format = function(diagnostic)
local diagnostic_message = {
[vim.diagnostic.severity.ERROR] = diagnostic.message,
[vim.diagnostic.severity.WARN] = diagnostic.message,
[vim.diagnostic.severity.INFO] = diagnostic.message,
[vim.diagnostic.severity.HINT] = diagnostic.message,
}
return diagnostic_message[diagnostic.severity]
end,
},
})
end,
},
}
-- {
-- config = function()
-- -- Diagnostic Config
-- -- See :help vim.diagnostic.Opts
-- vim.diagnostic.config({
-- severity_sort = true,
-- float = { border = "rounded", source = "if_many" },
-- underline = { severity = vim.diagnostic.severity.ERROR },
-- signs = vim.g.have_nerd_font and {
-- text = {
-- [vim.diagnostic.severity.ERROR] = "󰅚 ",
-- [vim.diagnostic.severity.WARN] = "󰀪 ",
-- [vim.diagnostic.severity.INFO] = "󰋽 ",
-- [vim.diagnostic.severity.HINT] = "󰌶 ",
-- },
-- } or {},
-- virtual_text = {
-- source = "if_many",
-- spacing = 2,
-- format = function(diagnostic)
-- local diagnostic_message = {
-- [vim.diagnostic.severity.ERROR] = diagnostic.message,
-- [vim.diagnostic.severity.WARN] = diagnostic.message,
-- [vim.diagnostic.severity.INFO] = diagnostic.message,
-- [vim.diagnostic.severity.HINT] = diagnostic.message,
-- }
-- return diagnostic_message[diagnostic.severity]
-- end,
-- },
-- })
-- end,
-- },

View File

@ -4,12 +4,12 @@ return {
cmd = { "ConformInfo" },
keys = {
{
"<leader>lf",
"<leader>f",
function()
require("conform").format({ async = true, lsp_format = "fallback" })
end,
mode = "",
desc = "[l]sp: [f]ormat buffer",
desc = "[F]ormat buffer",
},
},
opts = {
@ -36,11 +36,15 @@ return {
ruby = { "rubocop" },
rust = { "rustfmt" },
sh = { "shellharden" },
swift = { "swiftformat" },
swift = { "swiftlint" },
terraform = { "terraform_fmt" },
xml = { "xmllint" },
yaml = { "prettierd" },
yaml = { "yamlfix" },
},
formatters = {
yamlfix = {
prepend_args = { "-c", ".yamlfix.toml" },
},
},
formatters = {},
},
}

View File

@ -3,7 +3,7 @@ return {
dependencies = { "nvim-tree/nvim-web-devicons" },
event = "VimEnter",
opts = {
extensions = { "neo-tree", "lazy", "toggleterm", "avante", "mason" },
extensions = { "neo-tree", "lazy", "toggleterm" },
options = {
theme = "catppuccin",
section_separators = { left = "", right = "" },

View File

@ -1,20 +1,6 @@
return {
{
"folke/todo-comments.nvim",
event = "VimEnter",
dependencies = { "nvim-lua/plenary.nvim" },
opts = { signs = false },
},
{
"danymat/neogen",
config = true,
keys = {
{
"<leader>df",
"<cmd>Neogen func<CR>",
mode = "n",
desc = "[d]ocs: for [f]unc",
},
},
},
"folke/todo-comments.nvim",
event = "VimEnter",
dependencies = { "nvim-lua/plenary.nvim" },
opts = { signs = false },
}

View File

@ -4,7 +4,6 @@ return {
version = false,
opts = {
build = "make",
mode = "legacy",
provider = "claude",
},
dependencies = {

View File

@ -10,14 +10,14 @@ if [[ ! -d $XDG_CONFIG_HOME ]]; then
fi
# Symlink directories to $XDG_CONFIG_HOME.
directories=("gem" "ghostty" "git" "gnupg" "k9s" "lazygit" "mise" "neovide" "nvim" "starship" "tmux" "zed")
directories=("gem" "ghostty" "git" "gnupg" "k9s" "lazygit" "neovide" "nvim" "starship" "tmux" "zed")
for directory in "${directories[@]}"; do
if [[ -d "$XDG_CONFIG_HOME/$directory" ]]; then continue; fi
ln -sfv "$SCRIPTPATH/$directory" "$XDG_CONFIG_HOME/$directory"
done
zshfiles=("zshenv" "zshrc")
zshfiles=("zshenv" "zprofile" "zshrc")
for file in "${zshfiles[@]}"; do
if [[ -a "$HOME/.$file" && $* == *--no-force* ]]; then continue; fi
if [[ -a "$HOME/.$file" && $* != *--force* ]]; then continue; fi
ln -sfv "$SCRIPTPATH/zsh/$file" "$HOME/.$file"
done

View File

@ -56,19 +56,17 @@ function random_string() {
}
# devcontainer aliases
function devcup() {
devcontainer up --workspace-folder . --remove-existing-container \
--dotfiles-repository "https://git.kree.gr/kreeger/dotfiles.git" \
--dotfiles-install-command "setup.sh"
}
function devcb() {
function devconbuild() {
devcontainer build --workspace-folder .
}
function devce() {
function devconup() {
devcontainer up --workspace-folder .
}
function devconexec() {
devcontainer exec --workspace-folder . $1
}
function devcs() {
devce /usr/bin/zsh
function devconshell() {
devconexec /usr/bin/zsh
}
# Dotfile update command(s)

View File

@ -1,11 +1,6 @@
# vim: filetype=zsh
if [[ -d $HOME/.config/dotfiles/zsh ]]; then
SCRIPTPATH=$HOME/.config/dotfiles/zsh
elif [[ -d $HOME/dotfiles/zsh ]]; then
SCRIPTPATH=$HOME/dotfiles/zsh
fi
SCRIPTPATH=$HOME/.config/dotfiles/zsh
ZSH_CACHE_DIR="$HOME/.cache/zsh"
# Let GPG know which tty we're using and put in charge of SSH auth
@ -21,17 +16,6 @@ fi
if [[ -a "/opt/homebrew/bin/brew" ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
# asdf
if [[ -d "$HOME/.asdf" ]]; then
# export PATH="$HOME/.asdf/shims:$PATH"
export ASDF_DATA_DIR=$HOME/.asdf
export ASDF_CONFIG_FILE=$HOME/.asdfrc
fi
# mise
if [[ -x "$(command -v mise)" ]]; then
export MISE_PYTHON_DEFAULT_PACKAGES_FILE=$XDG_CONFIG_HOME/mise/.default-python-packages
eval "$(mise activate zsh)"
fi
# plugins
mkdir -p "$ZSH_CACHE_DIR"

View File

@ -1,7 +0,0 @@
# vim: filetype=zsh
precmd() { vcs_info }
zstyle ':vcs_info:git:*' formats '%b '
setopt PROMPT_SUBST
PROMPT='%F{green}%*%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '

View File

@ -53,17 +53,9 @@ if [[ -d "$HOME/bin" ]]; then
fi
# asdf
if [[ -d "$HOME/.asdf" ]]; then
# export PATH="$HOME/.asdf/shims:$PATH"
export ASDF_DATA_DIR=$HOME/.asdf
export ASDF_CONFIG_FILE=$HOME/.asdfrc
if [[ -d "$HOME/.asdf/shims" ]]; then
export PATH="$HOME/.asdf/shims:$PATH"
fi
# mise
if [[ -x "$(command -v mise)" ]]; then
export MISE_PYTHON_DEFAULT_PACKAGES_FILE=$XDG_CONFIG_HOME/mise/.default-python-packages
eval "$(mise activate zsh)"
fi
if [[ -d "/opt/homebrew/share/google-cloud-sdk/bin" ]]; then
export PATH=/opt/homebrew/share/google-cloud-sdk/bin:$PATH
fi

View File

@ -17,13 +17,7 @@ setopt HIST_IGNORE_SPACE
setopt AUTO_CD
setopt PROMPT_SUBST
if [[ -d $HOME/.config/dotfiles/zsh ]]; then
SCRIPTPATH=$HOME/.config/dotfiles/zsh
elif [[ -d $HOME/dotfiles/zsh ]]; then
SCRIPTPATH=$HOME/dotfiles/zsh
fi
source $SCRIPTPATH/zprofile
SCRIPTPATH=$HOME/.config/dotfiles/zsh
# Use emacs-style binds instead of vim
bindkey -e
@ -49,8 +43,6 @@ fi
if [[ -x "$(command -v starship)" ]]; then
export STARSHIP_CONFIG="$HOME/.config/starship/starship.toml"
eval "$(starship init zsh)"
else
source $SCRIPTPATH/zprompt
fi
# asdf