Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • etcinit/neovim-config
1 result
Show changes
Showing with 24 additions and 302 deletions
{pkgs, ...}: {
config = {
programs.neovim.plugins = [
{
type = "lua";
config = builtins.readFile ./config.lua;
plugin = pkgs.vimPlugins.trouble-nvim;
}
pkgs.vimPlugins.nvim-web-devicons
];
};
}
vim.g.mapleader = ","
-- Options
require('options')
-- Mappings
require('mappings')
-- Plugins
require('plugins')
-- Misc
vim.api.nvim_command("syntax on")
vim.api.nvim_command("filetype plugin indent on")
{
"LuaSnip": { "branch": "master", "commit": "a835e3d680c5940b61780c6af07885db95382478" },
"barbar.nvim": { "branch": "master", "commit": "1c9d324c493650667ff621c835d552e56fd229ca" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" },
"cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
"gitsigns.nvim": { "branch": "main", "commit": "b1f9cf7c5c5639c006c937fc1819e09f358210fc" },
"indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" },
"lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" },
"lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" },
"null-ls.nvim": { "branch": "main", "commit": "13dd1fc13063681ca7e039436c88f6eca7e3e937" },
"nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" },
"nvim-dap": { "branch": "master", "commit": "7e81998e31277c7a33b6c34423640900c5c2c776" },
"nvim-dap-ui": { "branch": "master", "commit": "bdb94e3853d11b5ce98ec182e5a3719d5c0ef6fd" },
"nvim-lspconfig": { "branch": "master", "commit": "0f94c5fded29c0024254259f3d8a0284bfb507ea" },
"nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" },
"nvim-tree.lua": { "branch": "master", "commit": "a50723e35f57f89fb67019127a16d90f16edfef8" },
"nvim-treesitter": { "branch": "master", "commit": "379305aa7f55e810950cde24a82789681478df04" },
"nvim-web-devicons": { "branch": "master", "commit": "074e13f21f52bb45d654069bdadbcb6d7c2b65d0" },
"one-small-step-for-vimkind": { "branch": "main", "commit": "aef1bdbb8347e6daaf33d5109002f3df243ebfe9" },
"plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" },
"prettier.nvim": { "branch": "main", "commit": "08f7f08fae57fd970c7470d883c9127f172bd9e6" },
"telescope.nvim": { "branch": "master", "commit": "b79cd6c88b3d96b0f49cb7d240807cd59b610cd8" },
"toggleterm.nvim": { "branch": "main", "commit": "9a595ba699837c4333c4296634feed320f084df2" },
"tokyonight.nvim": { "branch": "main", "commit": "edffa82026914be54c8220973b0385f61d3392f0" },
"trouble.nvim": { "branch": "main", "commit": "7915277a259fdff5d46c6f1d2e100df2ec384d3b" }
}
return function()
local bufferline = require('bufferline')
bufferline.setup {
icons = { filetype = { enabled = true } },
}
end
return function()
require('dapui').setup()
end
return function()
require('gitsigns').setup()
end
return function()
require("ibl").setup {
exclude = {
buftypes = { "terminal" },
},
indent = {
char = '|',
},
}
end
return function()
require('lspfuzzy').setup {}
end
return function()
local lualine = require('lualine');
lualine.setup {
extensions = {'nvim-tree'},
options = {
globalstatus = false,
theme = 'tokyonight',
},
sections = {
lualine_c = {
'file',
"require'lsp-status'.status()",
}
}
}
end
return function()
local null_ls = require('null-ls');
null_ls.setup({});
end
return function()
local prettier = require("prettier")
prettier.setup({
bin = 'prettier', -- or `'prettierd'` (v0.22+)
filetypes = {
"css",
"graphql",
"html",
"javascript",
"javascriptreact",
"json",
"less",
"markdown",
"scss",
"typescript",
"typescriptreact",
"yaml",
},
})
end
return function()
require("toggleterm").setup({
open_mapping = [[<c-\>]],
winbar = {
enable = true,
}
})
end
return function()
local tokyonight = require('tokyonight')
vim.api.nvim_command("colorscheme tokyonight-moon")
tokyonight.setup({
style = "moon",
--transparent = true,
styles = {
sidebars = "dark",
floats = "dark",
},
--dim_inactive = true,
lualine_bold = true,
use_background = false,
})
end
return function()
local ts = require 'nvim-treesitter.configs'
ts.setup {
ensure_installed = {
'python',
'cpp',
'nix',
'haskell',
'rust',
'typescript',
'markdown'
},
highlight = {
enable = true
}
}
end
local function load_on_filetypes(module, filetypes, setup)
vim.api.nvim_create_autocmd("FileType", {
pattern = table.concat(filetypes, ","),
callback = function()
vim.cmd("packadd " .. module)
end
})
end
return {
load_on_filetypes = load_on_filetypes
}
-- If a lazy-lock.json file does not exist, but we have a
-- lazy-lock.initial.json file available, create a writeable copy.
--
-- This allow us to ship a lockfile with this repo, managed by home-manager,
-- ensuring the environment is reproducible while also giving the end-user the
-- option to update plugins manually.
--
-- If something breaks during na update, the user can always rever tback to
-- the state in this repo by copying the initial lockfile again.
local lockpath = vim.fn.stdpath("config") .. "/lazy-lock.json"
local initial_lockpath = vim.fn.stdpath("config") .. "/lazy-lock.initial.json"
if (not vim.loop.fs_stat(lockpath)) and vim.loop.fs_stat(initial_lockpath) then
vim.loop.fs_copyfile(initial_lockpath, lockpath)
vim.loop.fs_chmod(lockpath, tonumber("664", 8))
end
-- Install Lazy.nvim if it's not already available.
--
-- This should allow for this config to be usable even outside of a
-- home-manager/Nix environment.
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({
-- Prevent lazy.nvim from updating itself. The plugin will be managed
-- externally to lock down the version used.
{ "folke/lazy.nvim", enabled = false },
{
'folke/tokyonight.nvim',
lazy = false;
priority = 1000;
config = require('config.tokyonight'),
},
{
'nvim-treesitter/nvim-treesitter',
config = require('config.treesitter'),
build = function()
local ts_update = require('nvim-treesitter.install')
.update({ with_sync = true })
ts_update()
end,
},
{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons', 'nvim-tree/nvim-tree.lua' },
config = require('config.lualine'),
},
{
'nvim-tree/nvim-tree.lua',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = require('config.tree')
},
{
'lewis6991/gitsigns.nvim',
dependencies = {
'nvim-lua/plenary.nvim'
},
config = require('config.gitsigns')
},
{
'romgrk/barbar.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = require('config.barbar')
},
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
config = require('config.indent-blankline')
},
{
'hrsh7th/nvim-cmp',
dependencies = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'saadparwaiz1/cmp_luasnip',
'L3MON4D3/LuaSnip',
},
config = require('config.cmp'),
},
{
'nvim-lua/lsp-status.nvim',
config = require('config.lspstatus')
},
{
'neovim/nvim-lspconfig',
config = require('config.lspconfig'),
after = 'lsp-status.nvim'
},
{
'nvim-telescope/telescope.nvim', tag = '0.1.0',
dependencies = { { 'nvim-lua/plenary.nvim' } },
config = require('config.telescope'),
},
{
'mfussenegger/nvim-dap',
config = require('config.dap')
},
{
'rcarriga/nvim-dap-ui',
dependencies = {'nvim-dap'},
config = require('config.dapui'),
},
'jbyuki/one-small-step-for-vimkind',
{
'petertriho/nvim-scrollbar',
config = require('config.scrollbar'),
},
{
'akinsho/toggleterm.nvim',
config = require('config.toggleterm'),
},
{
'folke/trouble.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = require('config.trouble'),
},
{
'jose-elias-alvarez/null-ls.nvim',
dependencies = { 'nvim-lua/plenary.nvim' },
after = 'nvim-lspconfig',
config = require('config.null-ls'),
},
{
'MunifTanjim/prettier.nvim',
dependencies = {
'neovim/nvim-lspconfig',
'jose-elias-alvarez/null-ls.nvim',
},
config = require('config.prettier'),
},
})