aboutsummaryrefslogtreecommitdiff
path: root/nvim/init.lua
diff options
context:
space:
mode:
authorMax Bossing <max@bossi.ng>2025-07-15 21:20:49 +0200
committerMax Bossing <max@bossi.ng>2025-07-15 21:20:49 +0200
commit432b77a28734ed6a744f40a9f1210f1a3d58d0ca (patch)
treee19230d4ef8ff16ca5942942370b8a843d5b2dc7 /nvim/init.lua
init
Diffstat (limited to 'nvim/init.lua')
-rw-r--r--nvim/init.lua117
1 files changed, 117 insertions, 0 deletions
diff --git a/nvim/init.lua b/nvim/init.lua
new file mode 100644
index 0000000..d911177
--- /dev/null
+++ b/nvim/init.lua
@@ -0,0 +1,117 @@
+vim.g.loaded_netrw = 1
+vim.g.loaded_netrwPlugin = 1
+
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not vim.loop.fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup({
+
+ -- Color Scheme
+ "folke/tokyonight.nvim",
+
+ -- Syntax highlighting
+ 'nvim-treesitter/nvim-treesitter',
+
+ -- Status line
+ 'nvim-lualine/lualine.nvim',
+
+ -- Git
+ 'airblade/vim-gitgutter',
+
+ -- File System
+ 'stevearc/oil.nvim',
+
+ {
+ 'OXY2DEV/markview.nvim',
+ lazy = false,
+ priority = 49,
+
+ },
+
+ -- Telescope
+ {
+ 'nvim-telescope/telescope.nvim',
+ tag = '0.1.5',
+ dependencies = {
+ 'nvim-lua/plenary.nvim',
+ 'sharkdp/fd',
+ { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
+ }
+ },
+
+ -- Icons
+ {
+ "echasnovski/mini.icons",
+ lazy = true,
+ init = function()
+ package.preload["nvim-web-devicons"] = function()
+ require("mini.icons").mock_nvim_web_devicons()
+ return package.loaded["nvim-web-devicons"]
+ end
+ end,
+ },
+})
+
+
+
+-- Colorscheme
+vim.cmd [[colorscheme tokyonight-moon]]
+
+vim.opt.termguicolors = true
+vim.o.background = "dark"
+
+-- Map leader to space
+vim.g.mapleader = ' '
+
+-- Tabs sind für lutscher
+vim.opt.tabstop = 2
+vim.opt.shiftwidth = 2
+vim.o.expandtab = true
+
+-- Numbers on the side
+vim.wo.number = true
+vim.wo.relativenumber = true
+vim.o.ruler = true
+-- Show something in the command line not sure
+vim.o.showcmd = true
+
+-- reload config without restart
+vim.keymap.set('n', '<leader>r', ':so %<CR>')
+
+-- Lualine setup
+require('lualine').setup {
+ options = {
+ icons_enabled = true,
+ theme = 'auto',
+ section_separators = { left = '', right = '' },
+ component_separators = { left = '', right = '' }
+ },
+}
+
+-- Treesitter setup
+require('nvim-treesitter.configs').setup {
+ highlight = { enable = true }
+}
+
+-- Telescope setup
+local telescope = require('telescope')
+telescope.load_extension('fzf')
+vim.keymap.set('n', '<leader>tf', ':Telescope find_files<CR>') -- file search
+vim.keymap.set('n', '<leader>tb', ':Telescope buffers<CR>') -- buffer peak
+vim.keymap.set('n', '<leader>th', ':Telescope help_tags<CR>') -- help menu
+vim.keymap.set('n', '<leader>tt', ':Telescope treesitter <CR>') -- treesitter symbol menu
+vim.keymap.set('n', '<leader>tp', ':Telescope builtin<CR>') -- picker picker lmao
+
+require('oil').setup()
+
+