mirror of
https://github.com/Manoj-HV30/i3wm-ubuntu-dotfiles.git
synced 2026-05-16 19:35:23 +00:00
Initial Ubuntu i3wm dotfiles
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
"windwp/nvim-autopairs",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("nvim-autopairs").setup({
|
||||
check_ts = true, -- use Treesitter (smarter)
|
||||
disable_filetype = { "TelescopePrompt", "vim" },
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
}),
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
},
|
||||
})
|
||||
|
||||
-- Optional: make autopairs + completion cooperate
|
||||
pcall(function()
|
||||
require("nvim-autopairs.completion.cmp").setup({
|
||||
map_cr = true,
|
||||
})
|
||||
end)
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
return {
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
require("dashboard").setup({
|
||||
theme = "doom",
|
||||
config = {
|
||||
|
||||
-- ================= HEADER =================
|
||||
header = {
|
||||
"",
|
||||
" ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗",
|
||||
" ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║",
|
||||
" ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║",
|
||||
" ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║",
|
||||
" ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║",
|
||||
" ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝",
|
||||
"",
|
||||
" “If it feels slow, you’re doing it wrong.”",
|
||||
"",
|
||||
},
|
||||
|
||||
-- ================= CENTER =================
|
||||
center = {
|
||||
{ icon = " ", desc = "New file", key = "n", action = "enew" },
|
||||
{ icon = " ", desc = "Find file", key = "f", action = "Telescope find_files" },
|
||||
{ icon = " ", desc = "Live grep", key = "g", action = "Telescope live_grep" },
|
||||
{ icon = " ", desc = "Recent files", key = "r", action = "Telescope oldfiles" },
|
||||
{ icon = " ", desc = "Quit", key = "q", action = "qa" },
|
||||
},
|
||||
|
||||
footer = {},
|
||||
},
|
||||
})
|
||||
|
||||
-- ================= COLORS =================
|
||||
vim.api.nvim_set_hl(0, "DashboardHeader", { fg = "#7aa2f7" }) -- logo
|
||||
vim.api.nvim_set_hl(0, "DashboardFooter", { fg = "#9ece6a", italic = true }) -- quote
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
opts = {
|
||||
indent = { char = "│" },
|
||||
scope = { enabled = false }, -- cleaner look
|
||||
},
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
tag = "v1.6.0",
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
},
|
||||
config = function()
|
||||
-- Mason: installer only
|
||||
require("mason").setup()
|
||||
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"lua_ls",
|
||||
"pyright",
|
||||
"bashls",
|
||||
"clangd",
|
||||
},
|
||||
automatic_installation = false,
|
||||
})
|
||||
|
||||
-- LSP setup (Neovim <= 0.10 way)
|
||||
local lspconfig = require("lspconfig")
|
||||
|
||||
lspconfig.lua_ls.setup({
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
lspconfig.pyright.setup({})
|
||||
lspconfig.bashls.setup({})
|
||||
lspconfig.clangd.setup({})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "tokyonight",
|
||||
section_separators = "",
|
||||
component_separators = "",
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
tag = "v1.28.0",
|
||||
config = function()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {},
|
||||
automatic_installation = false,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.5", -- compatible with Neovim 0.9.x
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
local builtin = require("telescope.builtin")
|
||||
vim.keymap.set("n", "<leader>ff", builtin.find_files)
|
||||
vim.keymap.set("n", "<leader>fg", builtin.live_grep)
|
||||
vim.keymap.set("n", "<leader>fb", builtin.buffers)
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
transparent = true,
|
||||
styles = {
|
||||
sidebars = "transparent",
|
||||
floats = "transparent",
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("tokyonight").setup(opts)
|
||||
vim.cmd("colorscheme tokyonight-night")
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
"akinsho/toggleterm.nvim",
|
||||
version = "*",
|
||||
config = function()
|
||||
require("toggleterm").setup({
|
||||
-- Open with Ctrl + `
|
||||
open_mapping = [[<C-`>]],
|
||||
|
||||
-- Terminal behavior
|
||||
start_in_insert = true,
|
||||
insert_mappings = true,
|
||||
terminal_mappings = true,
|
||||
persist_size = true,
|
||||
close_on_exit = true,
|
||||
|
||||
-- Visuals
|
||||
hide_numbers = true,
|
||||
shade_terminals = false, -- important for transparency
|
||||
direction = "float",
|
||||
|
||||
float_opts = {
|
||||
border = "rounded",
|
||||
winblend = 0,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
require("nvim-tree").setup()
|
||||
vim.keymap.set("n", "<C-b>", ":NvimTreeToggle<CR>")
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
build = function()
|
||||
pcall(vim.cmd, "TSUpdate")
|
||||
end,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lua",
|
||||
"python",
|
||||
"c",
|
||||
"cpp",
|
||||
"bash",
|
||||
"json",
|
||||
"markdown",
|
||||
},
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user