Giovanni's Diary > Subjects > Programming > Gists >
Config / init.lua
Simple Neovim configuration without too much bloat.
--[[
--
-- init.lua
-- by Giovanni Santini
--
-- Clone this repository in .config/nvim
--
--]]
-- vim options
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.clipboard = "unnamedplus" -- system clipboard
vim.opt.expandtab = true
vim.opt.shiftwidth = 4
vim.opt.tabstop = 4
vim.opt.colorcolumn = '80'
vim.g.loaded_netrw = 1 -- Disable default tree view for nvim-tree
vim.g.loaded_netrwPlugin = 1
-- I use plug
local Plug = vim.fn['plug#']
vim.call('plug#begin')
-- Modus themes from Prot
Plug('miikanissi/modus-themes.nvim')
Plug('nvim-lua/plenary.nvim') -- dependency for telescope
Plug('nvim-telescope/telescope.nvim') -- fuzz strings
Plug('nvim-tree/nvim-web-devicons') -- some icons
Plug('nvim-tree/nvim-tree.lua') -- directory tree
-- From orgmode release 0.7.1, support for Neovim < 0.11.0 was dropped
Plug('nvim-orgmode/orgmode', { ['commit'] = '4da28a0' }) -- org view
Plug('nvim-mini/mini.icons', { ['branch'] = 'stable'}) -- some icons
Plug('goolord/alpha-nvim') -- Cool startup screen
Plug('lewis6991/gitsigns.nvim') -- Show modified lines
vim.call('plug#end')
require('modus-themes').setup({
style = "modus_vivendi", -- modus_vivendi or modus_operandi (dark and light)
variant = "default", -- default, tinted, deuteranopia, and tritanopia
})
vim.cmd([[colorscheme modus]])
local telescope = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', telescope.find_files,
{ desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg', telescope.live_grep,
{ desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb', telescope.buffers,
{ desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh', telescope.help_tags,
{ desc = 'Telescope help tags' })
require('nvim-web-devicons').setup()
local tree = require('nvim-tree.api')
vim.keymap.set('n', '<C-t>', function() tree.tree.toggle() end,
{ desc = 'Toggle nvim-tree' })
require('nvim-tree').setup()
vim.cmd [[
highlight link NvimTreeNormal Normal
highlight link NvimTreeFolderName Directory
highlight link NvimTreeIndentMarker LineNr
highlight link NvimTreeVertSplit VertSplit
highlight NvimTreeNormal guibg=NONE ctermbg=NONE
]]
require('orgmode').setup({
org_agenda_files = '~/todo.org/todo.org',
org_default_notes_file = '~/giovanni-diary/content/index.org',
})
require('mini.icons').setup()
require('alpha').setup(require('alpha.themes.startify').config)
--[[
--
-- End of init.lua
--
--]]