nixos/init.lua

102 lines
2.8 KiB
Lua

vim.cmd[[
call plug#begin()
" The default plugin directory will be as follows:
" - Vim (Linux/macOS): '~/.vim/plugged'
" - Vim (Windows): '~/vimfiles/plugged'
" - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged'
" You can specify a custom plugin directory by passing it as the argument
" - e.g. `call plug#begin('~/.vim/plugged')`
" - Avoid using standard Vim directory names like 'plugin'
" Make sure you use single quotes
Plug 'nvim-lua/plenary.nvim'
Plug 'neovim/nvim-lspconfig'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'j-hui/fidget.nvim'
Plug 'sonph/onehalf', {'rtp': 'vim/'}
Plug 'EdenEast/nightfox.nvim'
Plug 'mileszs/ack.vim'
Plug 'stevearc/aerial.nvim'
Plug 'tpope/vim-unimpaired'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-commentary'
" Plug 'lewis6991/gitsigns.vim'
Plug 'https://github.com/lewis6991/gitsigns.nvim.git'
Plug 'nvim-lualine/lualine.nvim'
Plug 'nanozuki/tabby.nvim'
Plug 'kyazdani42/nvim-web-devicons'
Plug 'kyazdani42/nvim-tree.lua'
Plug 'christoomey/vim-tmux-navigator'
Plug 'akinsho/toggleterm.nvim', {'tag' : 'v2.*'}
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/cmp-nvim-lua'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.0' }
Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
Plug 'rcarriga/nvim-notify'
Plug 'michaelb/sniprun', {'do': 'bash install.sh'}
Plug 'phaazon/hop.nvim'
Plug 'folke/trouble.nvim'
" Initialize plugin system
call plug#end()
]]
-- TODO convert to lua
vim.cmd[[
let g:python3_host_prog = '~/.pyenv/versions/neovim3/bin/python'
if executable('ag')
let g:ackprg = 'ag --vimgrep'
endif
au BufRead,BufNewFile *.ipynb setlocal filetype=json
au BufRead,BufNewFile *.md setlocal spell
au BufRead,BufNewFile *.code-workspace setlocal filetype=json
au BufRead,BufNewFile *.csv setlocal nowrap
au BufRead,BufNewFile *.service[a-zA-Z0-9]* setlocal filetype=systemd
au TermOpen * setlocal nonumber norelativenumber
syntax on
if &diff
highlight! link DiffText MatchParen
endif
au OptionSet diff highlight! link DiffText MatchParen
filetype plugin indent on
]]
vim.notify = require("notify")
vim.cmd("let &t_ut=''") -- For kitty background colour support
vim.opt.updatetime=500
vim.opt.mouse="nv"
vim.opt.termguicolors=true
vim.cmd("colorscheme nightfox") -- TODO
vim.opt.number=true
vim.opt.relativenumber=true
-- vim.opt.listchars=trail:.,tab:>_ -- TODO
vim.opt.list=true
vim.opt.wrap=true
vim.opt.linebreak=true
vim.opt.autoread=true
vim.opt.expandtab=true
vim.opt.autoindent=true
vim.opt.smartindent=true
vim.opt.splitbelow=true
vim.opt.splitright=true
require 'keymaps'
require 'config_lsp'
require 'config_plugins'