Initial Ubuntu i3wm dotfiles

This commit is contained in:
2026-01-29 23:19:44 +05:30
commit 75a6027f67
40 changed files with 2261 additions and 0 deletions
+11
View File
@@ -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,
}
+35
View File
@@ -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,
}
+41
View File
@@ -0,0 +1,41 @@
return {
"nvimdev/dashboard-nvim",
event = "VimEnter",
config = function()
require("dashboard").setup({
theme = "doom",
config = {
-- ================= HEADER =================
header = {
"",
" ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗",
" ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║",
" ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║",
" ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║",
" ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║",
" ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝",
"",
" “If it feels slow, youre 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,
}
+10
View File
@@ -0,0 +1,10 @@
return {
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
event = { "BufReadPost", "BufNewFile" },
opts = {
indent = { char = "" },
scope = { enabled = false }, -- cleaner look
},
}
+40
View File
@@ -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,
}
+14
View File
@@ -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,
}
+19
View File
@@ -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,
},
}
+12
View File
@@ -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,
}
+18
View File
@@ -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,
},
}
+28
View File
@@ -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,
}
+9
View File
@@ -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,
}
+21
View File
@@ -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 },
},
}