Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# GEMINI Analysis of Neovim Configuration

## Project Overview

This directory contains a Neovim configuration based on the [LazyVim](https://github.com/LazyVim/LazyVim) starter template. It uses `lazy.nvim` for plugin management and is structured in Lua. The configuration is designed to be modular, with plugins, options, keymaps, and autocommands separated into different files.

## Key Files

* `init.lua`: The main entry point for the Neovim configuration. It bootstraps `lazy.nvim` and loads the configuration.
* `lazy-lock.json`: This file is automatically generated by `lazy.nvim` and locks the versions of all installed plugins, ensuring a reproducible environment.
* `lua/config/lazy.lua`: This file contains the setup for `lazy.nvim`. It specifies the plugins to be loaded, including LazyVim itself and any custom plugins in the `lua/plugins` directory.
* `lua/config/options.lua`: This file is for setting Neovim's options.
* `lua/config/keymaps.lua`: This file is for defining custom keymaps.
* `lua/config/autocmds.lua`: This file is for defining custom autocommands.
* `lua/plugins/`: This directory contains custom plugin specifications. Each file in this directory can add new plugins, disable or enable LazyVim plugins, or override their configurations. The `example.lua` file provides a good starting point for how to structure these files.
* `lua/plugins/nvim-tree.lua`: This file contains the configuration for the `nvim-tree.lua` plugin, which provides a file explorer.

## Building and Running

This is a Neovim configuration, so there is no "building" or "running" in the traditional sense. To use this configuration, you need to have Neovim installed. Once Neovim is installed, you can clone this repository to `~/.config/nvim` and start Neovim. The plugins will be automatically installed on the first run.

## Development Conventions

* **Plugin Management:** Plugins are managed using `lazy.nvim`. To add a new plugin, create a new file in the `lua/plugins/` directory or add it to an existing one.
* **Configuration:** The configuration is modular. Options, keymaps, and autocommands should be defined in their respective files in the `lua/config/` directory.
* **Customization:** The `lua/plugins/` directory is the primary place for customization. You can override the default LazyVim plugins or add new ones here. The `example.lua` file shows how to do this.
* **Styling:** The `stylua.toml` file suggests that the Lua code is formatted with `stylua`.

## Keymaps

* `<leader>e`: Toggle file explorer (`nvim-tree`).
1 change: 1 addition & 0 deletions init.lua
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

41 changes: 41 additions & 0 deletions lazy-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"CopilotChat.nvim": { "branch": "main", "commit": "5f3c57083515ea511deda291ae72434db568ee6f" },
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "3aaf3ab60221bca8edb1354e41bd514a22c89de2" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"flutter-tools.nvim": { "branch": "main", "commit": "65b7399804315a1160933b64292d3c5330aa4e9f" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
"grug-far.nvim": { "branch": "main", "commit": "385d1949dc21d0c39e7a74b4f4a25da18817bc86" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.ai": { "branch": "main", "commit": "1cd4f021a05c29acd4ab511c0981da14217daf38" },
"mini.icons": { "branch": "main", "commit": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c" },
"mini.pairs": { "branch": "main", "commit": "1e1ca3f60f58d4050bf814902b472eec9963a5dd" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-lint": { "branch": "master", "commit": "7ef127aaede2a4d5ad8df8321e2eb4e567f29594" },
"nvim-lspconfig": { "branch": "master", "commit": "45ff1914044de7dbd4cd85053dc09f47312a2f4d" },
"nvim-tree.lua": { "branch": "master", "commit": "321bc61580fd066b76861c32de3319c3a6d089e7" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" },
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
"typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}
10 changes: 10 additions & 0 deletions lazyvim.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"extras": [

],
"install_version": 8,
"news": {
"NEWS.md": "10960"
},
"version": 8
}
2 changes: 2 additions & 0 deletions lua/config/keymaps.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here

vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "Toggle file explorer" })
5 changes: 4 additions & 1 deletion lua/config/lazy.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ require("lazy").setup({
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.ai.copilot" },
{ import = "lazyvim.plugins.extras.ai.copilot-chat" },
-- import/override with your plugins
{ import = "plugins" },
},
Expand All @@ -30,7 +33,7 @@ require("lazy").setup({
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "tokyonight", "habamax" } },
install = { colorscheme = { "tokyonight", "habamax" } , timeout = 600000 },
checker = {
enabled = true, -- check for plugin updates periodically
notify = false, -- notify on update
Expand Down
197 changes: 0 additions & 197 deletions lua/plugins/example.lua

This file was deleted.

17 changes: 17 additions & 0 deletions lua/plugins/flutter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
return {
{
"akinsho/flutter-tools.nvim",
lazy = false,
dependencies = {
"nvim-lua/plenary.nvim",
"stevearc/dressing.nvim", -- optional for better UI
},
config = function()
require("flutter-tools").setup({
dev_log = {
open_cmd = "botright 8split",
},
})
end,
},
}
Loading