Compare commits

..

No commits in common. "8da7e8132983f40f584409f1b52a5b297725d8f1" and "fc6b1e5fe5f066eee08b805bc689d48d938ea304" have entirely different histories.

8 changed files with 204 additions and 373 deletions

View file

@ -3,9 +3,9 @@
# The current setup # The current setup
Terminal Emulator: [Ghostty](https://ghostty.org/) Terminal Emulator: [Kitty](https://sw.kovidgoyal.net/kitty/)
- Zig-based terminal emulator - fast GPU accelerated terminal emulator
- uses platform-native UI & GPU acceleration (e.g. MacOS secure input for passwords) - removes need for tmux (appreciate it)
Shell: [fish](https://fishshell.com/) Shell: [fish](https://fishshell.com/)
- completions - completions

View file

@ -1,48 +0,0 @@
### Configuration
# Font
font-family = "Hack Nerd Font Mono"
font-family-bold = "Hack Nerd Font Mono"
font-family-italic = "Hack Nerd Font Mono"
font-family-bold-italic = "Hack Nerd Font Mono"
font-family = "Hack Nerd Font Mono"
font-size = 15.0
# Theme
theme = "detuned"
# Cursor
cursor-style = "block"
mouse-hide-while-typing = true
background-opacity = 0.9
background-blur = 10
unfocused-split-opacity = 1
# Window
window-padding-x = 0
window-padding-y = 0
macos-titlebar-style = "tabs"
macos-option-as-alt = left
### Keybinds
# Splits
keybind = ctrl+a>v=new_split:left
keybind = ctrl+a>n=new_split:down
keybind = ctrl+a>z=toggle_split_zoom
keybind = alt+h=goto_split:left
keybind = alt+l=goto_split:right
keybind = alt+j=goto_split:down
keybind = alt+k=goto_split:up
keybind = ctrl+a>l=resize_split:right,60
keybind = ctrl+a>h=resize_split:left,60
keybind = ctrl+a>j=resize_split:down,60
keybind = ctrl+a>k=resize_split:up,60
# Tabs
keybind = cmd+t=new_tab
keybind = cmd+w=close_tab
keybind = ctrl+tab=next_tab
keybind = ctrl+shift>tab=previous_tab
keybind = ctrl+a>d=close_surface
# Terminal
keybind = global:cmd+grave_accent=toggle_quick_terminal
shell-integration = fish

View file

@ -1,13 +1,12 @@
-- This file needs to have same structure as nvconfig.lua -- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua -- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
-- Please read that file to know all available options :( -- Please read that file to know all available options :(
---@type ChadrcConfig ---@type ChadrcConfig
local M = {} local M = {}
M.base46 = { M.base46 = {
theme = "mountain", theme = "mountain",
transparency = true,
hl_override = { hl_override = {
Comment = { italic = true }, Comment = { italic = true },

View file

@ -1,14 +0,0 @@
return {
provider = "openrouter", -- Recommend using Claude
vendors = {
["openrouter"] = {
__inherited_from = "openai",
endpoint = "https://openrouter.ai/api/v1",
api_key_name = "OPENROUTER_API_KEY_AVANTE",
model = "anthropic/claude-3.7-sonnet",
temperature = 0,
max_tokens = 4096,
},
},
auto_suggestions_provider = nil, -- Since auto-suggestions are a high-frequency operation and therefore expensive, it is recommended to specify an inexpensive provider or even a free provider: copilot
}

View file

@ -1,28 +1,24 @@
local options = { local options = {
formatters_by_ft = { formatters_by_ft = {
lua = { "stylua" }, lua = { "stylua" },
css = { "prettier" }, css = { "prettier" },
html = { "prettier" }, html = { "prettier" },
python = { "ruff_format", "ruff_fix", "ruff_organize_imports" }, python = { "ruff_format", "ruff_fix", "ruff_organize_imports" },
tf = { "tflint", "terraform-ls" }, go = { "goimports", "gofmt" },
go = { "goimports", "gofmt" }, json = { "jq" },
json = { "jq" }, },
templ = { "templ" },
ts = { "typescript-language-server" },
zig = { "zls" },
},
format_on_save = { format_on_save = {
-- These options will be passed to conform.format() -- These options will be passed to conform.format()
timeout_ms = 500, timeout_ms = 500,
lsp_format = "fallback", lsp_format = "fallback",
}, },
-- Set the log level. Use `:ConformInfo` to see the location of the log file. -- Set the log level. Use `:ConformInfo` to see the location of the log file.
log_level = vim.log.levels.ERROR, log_level = vim.log.levels.ERROR,
-- Conform will notify you when a formatter errors -- Conform will notify you when a formatter errors
notify_on_error = true, notify_on_error = true,
-- Conform will notify you when no formatters are available for the buffer -- Conform will notify you when no formatters are available for the buffer
notify_no_formatters = true, notify_no_formatters = true,
} }
return options return options

View file

@ -1,11 +0,0 @@
return {
animate = {
enabled = false,
},
exit_when_last = false,
right = {
{
ft = "trouble",
},
},
}

View file

@ -1,55 +1,53 @@
local configs = require("nvchad.configs.lspconfig") local configs = require "nvchad.configs.lspconfig"
configs.defaults() configs.defaults()
local servers = { local servers = {
html = {}, html = {},
cssls = {}, cssls = {},
gopls = { gopls = {
analyses = { analyses = {
unusedparams = true, unusedparams = true,
}, },
staticcheck = true, staticcheck = true,
gofumpt = true, gofumpt = true,
}, },
ruff = { ruff = {
lint = { lint = {
run = "onSave", run = "onSave",
}, },
}, },
zls = {}, zls = {},
terraformls = {},
templ = {},
pyright = { pyright = {
settings = { settings = {
python = { python = {
analysis = { analysis = {
autoSearchPaths = true, autoSearchPaths = true,
typeCheckingMode = "basic", typeCheckingMode = "basic",
}, },
venvPath = vim.fn.getcwd() .. "/.venv", venvPath = vim.fn.getcwd() .. "/.venv",
pythonPath = vim.fn.getcwd() .. "/.venv/bin/python3", pythonPath = vim.fn.getcwd() .. "/.venv/bin/python3",
}, },
}, },
}, },
ts_ls = { ts_ls = {
settings = { settings = {
completions = { completions = {
completeFunctionCalls = true, completeFunctionCalls = true,
}, },
}, },
}, },
} }
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)
configs.on_attach(client, bufnr) configs.on_attach(client, bufnr)
client.server_capabilities.documentFormattingProvider = true client.server_capabilities.documentFormattingProvider = true
end end
for name, opts in pairs(servers) do for name, opts in pairs(servers) do
opts.on_init = configs.on_init opts.on_init = configs.on_init
opts.on_attach = on_attach opts.on_attach = on_attach
opts.capabilities = configs.capabilities opts.capabilities = configs.capabilities
require("lspconfig")[name].setup(opts) require("lspconfig")[name].setup(opts)
end end

View file

@ -1,232 +1,143 @@
return { return {
{ {
"stevearc/conform.nvim", "stevearc/conform.nvim",
event = "BufWritePre", -- uncomment for format on save event = "BufWritePre", -- uncomment for format on save
opts = require("configs.conform"), opts = require "configs.conform",
}, },
-- These are some examples, uncomment them if you want to see them work! -- These are some examples, uncomment them if you want to see them work!
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
config = function() config = function()
require("configs.lspconfig") require "configs.lspconfig"
end, end,
}, },
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = { opts = {
ensure_installed = { ensure_installed = {
"vim", "vim",
"lua", "lua",
"vimdoc", "vimdoc",
"html", "html",
"css", "css",
"python", "python",
"typescript", "typescript",
"go", "go",
"terraform", },
}, },
}, },
}, {
{ "tpope/vim-fugitive",
"tpope/vim-fugitive", cmd = { "Git", "G", "Gdiffsplit", "Gvdiffsplit", "Gwrite", "Gread", "Ggrep", "GMove", "GDelete", "GBrowse" },
cmd = { "Git", "G", "Gdiffsplit", "Gvdiffsplit", "Gwrite", "Gread", "Ggrep", "GMove", "GDelete", "GBrowse" }, keys = {
keys = { { "<leader>gs", "<cmd>vertical Git<cr>" },
{ "<leader>gs", "<cmd>vertical Git<cr>" }, desc = "Open Fugitive",
desc = "Open Fugitive", },
}, opts = {
opts = { enabled = true,
enabled = true, },
}, dependencies = {
dependencies = { "tpope/vim-rhubarb",
"tpope/vim-rhubarb", },
}, },
}, { "tpope/vim-rhubarb", opts = { enabled = true } },
{ "tpope/vim-rhubarb", opts = { enabled = true } }, {
{ "folke/zen-mode.nvim",
"folke/zen-mode.nvim", cmd = "ZenMode",
cmd = "ZenMode", opts = {
opts = { plugins = {
plugins = { kitty = {
kitty = { enabled = true,
enabled = true, font = "+4",
font = "+4", },
}, },
}, },
}, },
}, {
{ "folke/trouble.nvim",
"folke/trouble.nvim", opts = {
opts = { auto_close = true,
auto_close = true, auto_open = false,
auto_open = false, warn_no_results = false,
warn_no_results = false, modes = {
modes = { symbols = { -- Configure symbols mode
symbols = { -- Configure symbols mode win = {
win = { type = "split", -- split window
type = "split", -- split window relative = "win", -- relative to current window
relative = "win", -- relative to current window position = "right", -- right side
position = "left", -- right side size = 0.15, -- 30% of the window
size = 0.20, -- 30% of the window },
}, },
}, },
diagnostics = { }, -- for default options, refer to the configuration section for custom setup.
win = { cmd = "Trouble",
type = "split", keys = {
relative = "win", {
position = "bottom", "<leader>xx",
size = 0.30, "<cmd>Trouble diagnostics toggle<cr>",
}, desc = "Diagnostics (Trouble)",
}, },
lsp = { -- Configure LSP references mode {
win = { "<leader>xX",
type = "split", -- split window "<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
relative = "win", -- relative to current window desc = "Buffer Diagnostics (Trouble)",
position = "right", -- appear below },
size = 0.25, -- 25% of the window height {
}, "<leader>cs",
}, "<cmd>Trouble symbols toggle focus=false<cr>",
preview = { desc = "Symbols (Trouble)",
mode = "diagnostics", },
preview = { {
type = "split", "<leader>cl",
relative = "win", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
position = "right", desc = "LSP Definitions / references / ... (Trouble)",
size = 0.3, },
}, {
}, "<leader>xL",
preview_float = { "<cmd>Trouble loclist toggle<cr>",
mode = "diagnostics", desc = "Location List (Trouble)",
preview = { },
type = "float", {
relative = "editor", "<leader>xQ",
border = "rounded", "<cmd>Trouble qflist toggle<cr>",
title = "Preview", desc = "Quickfix List (Trouble)",
title_pos = "center", },
position = { 0, -2 }, },
size = { width = 0.3, height = 0.5 }, },
zindex = 200, {
}, "folke/noice.nvim",
}, event = "VeryLazy",
}, opts = {
}, -- for default options, refer to the configuration section for custom setup. lsp = {
cmd = "Trouble", -- override markdown rendering so that **cmp** and other plugins use **Treesitter**
keys = { override = {
{ ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
"<leader>xx", ["vim.lsp.util.stylize_markdown"] = true,
"<cmd>Trouble preview toggle<cr>", ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
desc = "Diagnostics (Trouble)", },
}, },
{ -- you can enable a preset for easier configuration
"<leader>xX", presets = {
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>", bottom_search = true, -- use a classic bottom cmdline for search
desc = "Buffer Diagnostics (Trouble)", command_palette = true, -- position the cmdline and popupmenu together
}, long_message_to_split = true, -- long messages will be sent to a split
{ inc_rename = false, -- enables an input dialog for inc-rename.nvim
"<leader>cs", lsp_doc_border = false, -- add a border to hover docs and signature help
"<cmd>Trouble symbols toggle focus=false<cr>", },
desc = "Symbols (Trouble)", },
}, },
{ {
"<leader>cl", "knubie/vim-kitty-navigator",
"<cmd>Trouble lsp toggle focus=false<cr>", enabled = true,
desc = "LSP Definitions / references / ... (Trouble)", lazy = false,
}, build = {
{ "cp ./*.py ~/.config/kitty/",
"<leader>xL", },
"<cmd>Trouble loclist toggle<cr>", },
desc = "Location List (Trouble)", {
}, "gfontenot/vim-xcode",
{ enabled = true,
"<leader>xQ", },
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
},
{
"folke/noice.nvim",
event = "VeryLazy",
opts = {
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
},
},
-- you can enable a preset for easier configuration
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
},
},
{
"knubie/vim-kitty-navigator",
enabled = true,
lazy = false,
build = {
"cp ./*.py ~/.config/kitty/",
},
},
{
"gfontenot/vim-xcode",
enabled = true,
},
{
"yetone/avante.nvim",
event = "VeryLazy",
lazy = false,
version = false, -- set this to "*" if you want to always pull the latest change, false to update on release
opts = require("configs.avante"),
-- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
build = "make",
-- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
dependencies = {
"stevearc/dressing.nvim",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
--- The below dependencies are optional,
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
"zbirenbaum/copilot.lua", -- for providers='copilot'
{
-- support for image pasting
"HakonHarnes/img-clip.nvim",
event = "VeryLazy",
opts = {
-- recommended settings
default = {
embed_image_as_base64 = false,
prompt_for_file_name = false,
drag_and_drop = {
insert_mode = true,
},
-- required for Windows users
use_absolute_path = true,
},
},
},
{
-- Make sure to set this up properly if you have lazy=true
"MeanderingProgrammer/render-markdown.nvim",
opts = {
file_types = { "markdown", "Avante" },
},
ft = { "markdown", "Avante" },
},
},
},
{
"folke/edgy.nvim",
event = "VeryLazy",
enabled = false,
opts = require("configs.edgy"),
},
} }