Compare commits

...

4 Commits

Author SHA1 Message Date
4bebbfabbf Update README 2025-12-29 13:39:40 -10:00
c1c8b47925 Update to modern LazyVim conventions. 2025-12-29 13:37:31 -10:00
fc4affddb7 update alacritty/zsh settings 2025-12-29 12:17:03 -10:00
4b6ad5a77b Fix on Macos 2025-12-29 11:54:34 -10:00
9 changed files with 121 additions and 43 deletions

View File

@ -4,16 +4,25 @@ TERM = "xterm-256color"
[window] [window]
padding.x = 10 padding.x = 10
padding.y = 10 padding.y = 10
opacity = 0.9 opacity = 0.9
blur = true blur = true
decorations = "Full"
option_as_alt = "Both" option_as_alt = "Both"
[font] [font]
normal.family = "MesloLGS Nerd Font Mono" size = 14.0
size = 14 [font.normal]
family = "MesloLGS Nerd Font Mono"
style = "Regular"
[font.bold]
family = "MesloLGS Nerd Font Mono"
style = "Bold"
[font.italic]
family = "MesloLGS Nerd Font Mono"
style = "Italic"
[colors.primary] [colors.primary]
background = "#0f111c" background = "#0f111c"
@ -32,11 +41,10 @@ white = "#9094a7"
[colors.bright] [colors.bright]
black = "#51587b" black = "#51587b"
red = "#75d5f0" red = "#75d5f0"
green = "#252a41" green = "#80f2ff"
yellow = "#444b6f" yellow = "#bffffa"
blue = "#5e6587" blue = "#a6b3ff"
magenta = "#c3cdfe" magenta = "#c3cdfe"
cyan = "#5cbcd6" cyan = "#5cbcd6"
white = "#9094a7" white = "#ffffff"

View File

@ -26,11 +26,16 @@ sudo apt install build-essential
``` ```
1. Install the latest version of Neovim from the Neovim Launchpad PPA. Ubuntu apt has an older version, and since then much has changed, so we'll prefer the latest stable from the PPA. 1. Install the latest version of Neovim from the Neovim Launchpad PPA. Ubuntu apt has an older version, and since then much has changed, so we'll prefer the latest stable from the PPA.
``` ```ubuntu
sudo add-apt-repository ppa:neovim-ppa/stable sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt update sudo apt update
sudo apt install neovim sudo apt install neovim
``` ```
```macos
brew install neovim
```
2. Ensure that the nvim runtimepath is correctly configured to include `~/.config.nvim`. 2. Ensure that the nvim runtimepath is correctly configured to include `~/.config.nvim`.
You can check that by executing this nvim command: `:echo &runtimepath`. You can check that by executing this nvim command: `:echo &runtimepath`.
3. Both `init.lua` as well as the `lua/` folder and its contents should be symlinked to `~/.config/nvim` (Might need to create the nvim folder if first time). 3. Both `init.lua` as well as the `lua/` folder and its contents should be symlinked to `~/.config/nvim` (Might need to create the nvim folder if first time).
@ -50,6 +55,18 @@ Plugins live in lua/plugins.
Plugins can either be manually included in init.lua or managed by lazy nvim. Plugins can either be manually included in init.lua or managed by lazy nvim.
Each plugin gets its own lua file in there, and lazy or manual edits to init.lua can be used to configure what's enabled. Each plugin gets its own lua file in there, and lazy or manual edits to init.lua can be used to configure what's enabled.
#### coding.lua | saghen/blink.cmp
Completion plugin for language servers.
[Repo](https://github.com/saghen/blink.cmp)
#### snacks.lua | folke/snacks.nvim
Snacks contains a collection of QoL plugins. I am mostly using it for ease around file system search & navigation in nvim.
[Repo](https://github.com/folke/snacks.nvim)
#### theme.lua | folke/tokyonight.nvim
A theme I like for my nvim.
[Repo](https://github.com/folke/tokyonight.nvim)
## References ## References
https://m4xshen.dev/posts/build-your-modern-neovim-config-in-lua (Using their folder structure.) https://m4xshen.dev/posts/build-your-modern-neovim-config-in-lua (Using their folder structure.)

View File

@ -1,11 +1,5 @@
-- config files vim.g.mapleader = " "
vim.g.maplocalleader = " "
require("config.options") require("config.options")
require("config.mappings") require("config.lazy")
require("config.autocmds")
-- lazy nvim plugin manager
-- require("config.lazy")
-- manual inclusion of plugins
require("plugins.helloWorld")

View File

@ -1,17 +1,27 @@
-- install lazy.nvim -- 1. Correct Path & UV check
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({ local lazyrepo = "https://github.com/folke/lazy.nvim.git"
"git", -- 2. Improved system call with error reporting
"clone", local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
"--filter=blob:none", if vim.v.shell_error ~= 0 then
"https://github.com/folke/lazy.nvim.git", vim.api.nvim_echo({
"--branch=stable", -- latest stable release { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
lazypath, { out, "WarningMsg" },
}) { "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
-- load plugins -- 3. Explicit setup table
require("lazy").setup("plugins") require("lazy").setup({
spec = {
{ import = "plugins" },
},
defaults = {
lazy = false, -- Load custom plugins on startup by default
},
})

View File

@ -0,0 +1,16 @@
return {
{
"saghen/blink.cmp",
version = "*",
opts = {
keymap = { preset = 'default' },
appearance = {
use_nvim_cmp_as_default = true,
nerd_font_variant = 'mono'
},
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
},
},
}

View File

@ -1,10 +0,0 @@
-- hello.lua
-- Define a function that prints a greeting
local function hello_world()
print("Hello, Neovim!")
end
-- Create a command ":SayHello" that runs the say_hello function
vim.api.nvim_create_user_command('HelloWorld', hello_world, {})

View File

@ -0,0 +1,30 @@
return {
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
opts = {
picker = { enabled = true },
explorer = { enabled = true },
dashboard = { enabled = true },
indent = { enabled = true },
input = { enabled = true },
notifier = { enabled = true },
scope = { enabled = true },
scroll = { enabled = true },
bigfile = { enabled = true },
words = { enabled = true },
},
keys = {
{ "<leader><space>", function() Snacks.picker.smart() end, desc = "Smart Find Files" },
{ "<leader>ff", function() Snacks.picker.files() end, desc = "Find Files" },
{ "<leader>fg", function() Snacks.picker.grep() end, desc = "Grep" },
{ "<leader>fb", function() Snacks.picker.buffers() end, desc = "Buffers" },
{ "<leader>fr", function() Snacks.picker.recent() end, desc = "Recent" },
{ "<leader>e", function() Snacks.explorer() end, desc = "File Explorer" },
{ "<leader>bd", function() Snacks.bufdelete() end, desc = "Delete Buffer" },
{ "<leader>.", function() Snacks.scratch() end, desc = "Toggle Scratchpad" },
},
},
}

View File

@ -0,0 +1,10 @@
return {
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
config = function()
vim.cmd([[colorscheme tokyonight]])
end,
},
}

View File

@ -7,3 +7,6 @@ plugins=(git)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
# For Claude Code known installation issues on MacOS
export PATH="$HOME/.local/bin:$PATH"