Compare commits
10 commits
fc6b1e5fe5
...
8da7e81329
Author | SHA1 | Date | |
---|---|---|---|
8da7e81329 | |||
f47e1eaa25 | |||
45229d236d | |||
92abda3a4c | |||
0019e74ee8 | |||
aaab5e3b57 | |||
dc0e0fa634 | |||
2d5e3fcfe8 | |||
7fc7a4badd | |||
b4e5e444bb |
8 changed files with 373 additions and 204 deletions
|
@ -3,9 +3,9 @@
|
|||
|
||||
# The current setup
|
||||
|
||||
Terminal Emulator: [Kitty](https://sw.kovidgoyal.net/kitty/)
|
||||
- fast GPU accelerated terminal emulator
|
||||
- removes need for tmux (appreciate it)
|
||||
Terminal Emulator: [Ghostty](https://ghostty.org/)
|
||||
- Zig-based terminal emulator
|
||||
- uses platform-native UI & GPU acceleration (e.g. MacOS secure input for passwords)
|
||||
|
||||
Shell: [fish](https://fishshell.com/)
|
||||
- completions
|
||||
|
|
48
ghostty/config
Normal file
48
ghostty/config
Normal file
|
@ -0,0 +1,48 @@
|
|||
### 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
|
|
@ -7,6 +7,7 @@ local M = {}
|
|||
|
||||
M.base46 = {
|
||||
theme = "mountain",
|
||||
transparency = true,
|
||||
|
||||
hl_override = {
|
||||
Comment = { italic = true },
|
||||
|
|
14
nvim/lua/configs/avante.lua
Normal file
14
nvim/lua/configs/avante.lua
Normal file
|
@ -0,0 +1,14 @@
|
|||
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
|
||||
}
|
|
@ -4,8 +4,12 @@ local options = {
|
|||
css = { "prettier" },
|
||||
html = { "prettier" },
|
||||
python = { "ruff_format", "ruff_fix", "ruff_organize_imports" },
|
||||
tf = { "tflint", "terraform-ls" },
|
||||
go = { "goimports", "gofmt" },
|
||||
json = { "jq" },
|
||||
templ = { "templ" },
|
||||
ts = { "typescript-language-server" },
|
||||
zig = { "zls" },
|
||||
},
|
||||
|
||||
format_on_save = {
|
||||
|
|
11
nvim/lua/configs/edgy.lua
Normal file
11
nvim/lua/configs/edgy.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
animate = {
|
||||
enabled = false,
|
||||
},
|
||||
exit_when_last = false,
|
||||
right = {
|
||||
{
|
||||
ft = "trouble",
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
local configs = require "nvchad.configs.lspconfig"
|
||||
local configs = require("nvchad.configs.lspconfig")
|
||||
configs.defaults()
|
||||
|
||||
local servers = {
|
||||
|
@ -17,6 +17,8 @@ local servers = {
|
|||
},
|
||||
},
|
||||
zls = {},
|
||||
terraformls = {},
|
||||
templ = {},
|
||||
|
||||
pyright = {
|
||||
settings = {
|
||||
|
|
|
@ -2,14 +2,14 @@ return {
|
|||
{
|
||||
"stevearc/conform.nvim",
|
||||
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!
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require "configs.lspconfig"
|
||||
require("configs.lspconfig")
|
||||
end,
|
||||
},
|
||||
|
||||
|
@ -25,6 +25,7 @@ return {
|
|||
"python",
|
||||
"typescript",
|
||||
"go",
|
||||
"terraform",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -66,8 +67,46 @@ return {
|
|||
win = {
|
||||
type = "split", -- split window
|
||||
relative = "win", -- relative to current window
|
||||
position = "right", -- right side
|
||||
size = 0.15, -- 30% of the window
|
||||
position = "left", -- right side
|
||||
size = 0.20, -- 30% of the window
|
||||
},
|
||||
},
|
||||
diagnostics = {
|
||||
win = {
|
||||
type = "split",
|
||||
relative = "win",
|
||||
position = "bottom",
|
||||
size = 0.30,
|
||||
},
|
||||
},
|
||||
lsp = { -- Configure LSP references mode
|
||||
win = {
|
||||
type = "split", -- split window
|
||||
relative = "win", -- relative to current window
|
||||
position = "right", -- appear below
|
||||
size = 0.25, -- 25% of the window height
|
||||
},
|
||||
},
|
||||
preview = {
|
||||
mode = "diagnostics",
|
||||
preview = {
|
||||
type = "split",
|
||||
relative = "win",
|
||||
position = "right",
|
||||
size = 0.3,
|
||||
},
|
||||
},
|
||||
preview_float = {
|
||||
mode = "diagnostics",
|
||||
preview = {
|
||||
type = "float",
|
||||
relative = "editor",
|
||||
border = "rounded",
|
||||
title = "Preview",
|
||||
title_pos = "center",
|
||||
position = { 0, -2 },
|
||||
size = { width = 0.3, height = 0.5 },
|
||||
zindex = 200,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -76,7 +115,7 @@ return {
|
|||
keys = {
|
||||
{
|
||||
"<leader>xx",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
"<cmd>Trouble preview toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
|
@ -91,7 +130,7 @@ return {
|
|||
},
|
||||
{
|
||||
"<leader>cl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
"<cmd>Trouble lsp toggle focus=false<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
|
@ -140,4 +179,54 @@ return {
|
|||
"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"),
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue