From 6e5ab46a79bc1e5b70acfe0c980907436c84f1f4 Mon Sep 17 00:00:00 2001 From: iofq Date: Wed, 24 May 2023 05:54:25 -0500 Subject: [PATCH] add oil, colors --- config/init.lua | 6 +- config/lua/blankline-conf.lua | 6 -- config/lua/gitsigns-conf.lua | 32 +++++++++++ config/lua/main.go | 7 --- config/lua/nvim-conf.lua | 3 + config/lua/nvim-treesitter-conf.lua | 10 ---- config/lua/oil-conf.lua | 14 +++++ config/lua/telescope-conf.lua | 4 +- config/minimal-init.lua | 6 ++ flake.nix | 88 +++++++++++++++-------------- plugins.nix | 35 ++++++++++++ 11 files changed, 139 insertions(+), 72 deletions(-) delete mode 100644 config/lua/blankline-conf.lua create mode 100644 config/lua/gitsigns-conf.lua delete mode 100644 config/lua/main.go create mode 100644 config/lua/oil-conf.lua create mode 100644 config/minimal-init.lua create mode 100644 plugins.nix diff --git a/config/init.lua b/config/init.lua index 1de7fa4..2c57f31 100644 --- a/config/init.lua +++ b/config/init.lua @@ -1,6 +1,2 @@ -require("blankline-conf") -require("nvim-conf") +require("minimal-init") require("nvim-treesitter-conf") -require("telescope-conf") -require("toggleterm-conf") -require("mini-conf") diff --git a/config/lua/blankline-conf.lua b/config/lua/blankline-conf.lua deleted file mode 100644 index 05dcf45..0000000 --- a/config/lua/blankline-conf.lua +++ /dev/null @@ -1,6 +0,0 @@ -vim.cmd([[ hi IndentBlanklineChar ctermfg=240 ]]) -vim.cmd([[ hi IndentBlanklineContextChar ctermfg=7 ]]) --- require("indent_blankline").setup { --- show_current_context = true, --- show_current_context_start = true, --- } diff --git a/config/lua/gitsigns-conf.lua b/config/lua/gitsigns-conf.lua new file mode 100644 index 0000000..8604d88 --- /dev/null +++ b/config/lua/gitsigns-conf.lua @@ -0,0 +1,32 @@ +require('gitsigns').setup{ + signs = { + add = { text = '✓'}, + change = { text = '↔'}, + delete = { text = '✗'}, + }, + signcolumn = auto, + on_attach = function() + vim.wo.signcolumn = "yes" + vim.cmd [[ hi SignColumn ctermbg=none]] + vim.cmd [[ hi GitSignsAdd ctermbg=none]] + vim.cmd [[ hi GitSignsDelete ctermbg=none]] + vim.cmd [[ hi GitSignsChange ctermbg=none]] + end +} + +require("neogit").setup({ + disable_context_highlighting = true +}) +vim.cmd [[ hi DiffAdd ctermbg=none ]] +vim.cmd [[ hi DiffDelete ctermbg=none ]] +vim.cmd [[ hi DiffContext ctermbg=none ]] +vim.cmd [[ hi NeogitHunkHeader ctermbg=none ]] +vim.cmd [[ hi NeogitHunkHeader ctermbg=none ]] + +require("rose-pine").setup({ + variant = "moon", + disable_background = true, + disable_float_background = true +}) + +vim.cmd.colorscheme "rose-pine" diff --git a/config/lua/main.go b/config/lua/main.go deleted file mode 100644 index 50e8d8d..0000000 --- a/config/lua/main.go +++ /dev/null @@ -1,7 +0,0 @@ -package main - -import "fmt" - -func main() { - fmt.Println("vim-go") -} diff --git a/config/lua/nvim-conf.lua b/config/lua/nvim-conf.lua index c2acd27..be99a74 100644 --- a/config/lua/nvim-conf.lua +++ b/config/lua/nvim-conf.lua @@ -36,6 +36,7 @@ vim.opt.splitbelow = true vim.opt.splitright = true vim.opt.swapfile = false vim.opt.tabstop = 4 -- 4 space tabs +vim.opt.termguicolors = true vim.opt.undofile = true -- enable auto save of undos vim.opt.updatetime = 250 -- decrease update time vim.opt.virtualedit = "onemore" @@ -49,6 +50,8 @@ vim.g.indent_blankline_use_treesitter = true -- highlight indents vim.cmd([[ hi Whitespace ctermfg=240 ]]) +-- highlight floats +vim.cmd([[ hi NormalFloat ctermbg=none ]]) -- mappings ---------------------------------------- diff --git a/config/lua/nvim-treesitter-conf.lua b/config/lua/nvim-treesitter-conf.lua index 1cd779a..07e9132 100644 --- a/config/lua/nvim-treesitter-conf.lua +++ b/config/lua/nvim-treesitter-conf.lua @@ -11,8 +11,6 @@ require("nvim-treesitter.configs").setup { enable = true, lookahead = true, keymaps = { - ['ac'] = '@comment.outer', - ['ic'] = '@comment.inner', ["af"] = "@function.outer", ["if"] = "@function.inner", ["aa"] = "@call.inner", @@ -25,18 +23,10 @@ require("nvim-treesitter.configs").setup { [']]'] = '@function.outer', [']m'] = '@class.outer', }, - goto_next_end = { - [']['] = '@function.outer', - [']M'] = '@class.outer', - }, goto_previous_start = { ['[['] = '@function.outer', ['[m'] = '@class.outer', }, - goto_previous_end = { - ['[]'] = '@function.outer', - ['[M'] = '@class.outer', - }, }, }, incremental_selection = { diff --git a/config/lua/oil-conf.lua b/config/lua/oil-conf.lua new file mode 100644 index 0000000..8085f83 --- /dev/null +++ b/config/lua/oil-conf.lua @@ -0,0 +1,14 @@ +local oil = require('oil') +oil.setup({ + columns = { + "permissions", + "size" + }, + view_options = { + show_hidden = true + }, + keymaps = { + ["wq"] = "actions.close" + } +}) +vim.keymap.set("n", "c", oil.open, {noremap = true, silent = true}); diff --git a/config/lua/telescope-conf.lua b/config/lua/telescope-conf.lua index 9873034..6b23bbc 100644 --- a/config/lua/telescope-conf.lua +++ b/config/lua/telescope-conf.lua @@ -11,7 +11,8 @@ vim.keymap.set("n", "fr", telescope.lsp_references, {noremap = true, sil -- fix highlighting vim.cmd([[ hi telescopeselection ctermfg=242 ctermbg=252 ]]) -require("telescope").setup({ +local telescope = require("telescope") +telescope.setup({ defaults = { layout_strategy = "vertical", layout_config = { width = .90, }, @@ -47,3 +48,4 @@ require("telescope").setup({ }, } }) +telescope.load_extension("fzf") diff --git a/config/minimal-init.lua b/config/minimal-init.lua new file mode 100644 index 0000000..80bd323 --- /dev/null +++ b/config/minimal-init.lua @@ -0,0 +1,6 @@ +require("nvim-conf") +require("telescope-conf") +require("toggleterm-conf") +require("mini-conf") +require("gitsigns-conf") +require("oil-conf") diff --git a/flake.nix b/flake.nix index 6865628..147f8da 100644 --- a/flake.nix +++ b/flake.nix @@ -9,12 +9,29 @@ pkgs = import nixpkgs { inherit system; }; + plugins = import ./plugins.nix { + inherit pkgs; + }; + base = { + viAlias = true; + vimAlias = true; + withRuby = false; + withPython3 = false; + extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependancies}"''; + }; dependancies = with pkgs; [ - bash fd fzf gopls ripgrep + ripgrep ]; + full-dependancies = with pkgs; [ + gopls + ] ++ dependancies; neovim-with-deps = recursiveMerge [ pkgs.neovim-unwrapped - {buildInputs = dependancies;} + { buildInputs = dependancies; } + ]; + neovim-with-full-deps = recursiveMerge [ + pkgs.neovim-unwrapped + { buildInputs = dependancies; } ]; recursiveMerge = attrList: let f = attrPath: @@ -29,57 +46,42 @@ in f [] attrList; in rec { - packages.iofqvim = pkgs.wrapNeovim neovim-with-deps { - viAlias = true; - vimAlias = true; - withRuby = false; - withPython3 = false; - extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependancies}"''; + packages.full = pkgs.wrapNeovim neovim-with-full-deps (base // { configure = { customRC = '' lua << EOF - package.path = "${self}/config/lua/?.lua;" .. package.path + package.path = "${self}/config/?.lua;" .. "${self}/config/lua/?.lua;" .. package.path '' + pkgs.lib.readFile ./config/init.lua + '' EOF ''; packages.plugins = with pkgs.vimPlugins; { - start = with pkgs.vimPlugins; [ - telescope-nvim - toggleterm-nvim - mini-nvim - vim-go - vim-nix - (nvim-treesitter.withPlugins - ( - plugins: with plugins; [ - tree-sitter-bash - tree-sitter-c - tree-sitter-dockerfile - tree-sitter-go - tree-sitter-javascript - tree-sitter-json - tree-sitter-lua - tree-sitter-markdown - tree-sitter-nix - tree-sitter-php - tree-sitter-python - tree-sitter-yaml - ] - ) - ) - nvim-treesitter-textobjects - leap-nvim - ]; - }; + start = plugins.base ++ plugins.treesitter; }; }; - apps.iofqvim = flake-utils.lib.mkApp { - drv = packages.iofqvim; name = "iofqvim"; exePath = "/bin/nvim"; - }; - apps.default = apps.iofqvim; - packages.default = packages.iofqvim; }); - } + packages.minimal = pkgs.wrapNeovim neovim-with-deps (base // { + configure = { + customRC = + '' + lua << EOF + package.path = "${self}/config/?.lua;" .. "${self}/config/lua/?.lua;" .. package.path + '' + + pkgs.lib.readFile ./config/minimal-init.lua + + '' + EOF + ''; + packages.plugins = with pkgs.vimPlugins; { + start = plugins.base; + }; + }; + }); + apps.full = flake-utils.lib.mkApp { + drv = packages.full; name = "neovim"; exePath = "/bin/nvim"; + }; + apps.default = apps.full; + packages.default = packages.full; + }); + } diff --git a/plugins.nix b/plugins.nix new file mode 100644 index 0000000..f0c7666 --- /dev/null +++ b/plugins.nix @@ -0,0 +1,35 @@ +{pkgs, ...}: +{ + base = with pkgs.vimPlugins; [ + telescope-nvim + telescope-fzf-native-nvim + toggleterm-nvim + mini-nvim + gitsigns-nvim + oil-nvim + neogit + rose-pine + ]; + treesitter = with pkgs.vimPlugins; [ + (nvim-treesitter.withPlugins + ( + plugins: with plugins; [ + tree-sitter-bash + tree-sitter-c + tree-sitter-dockerfile + tree-sitter-go + tree-sitter-javascript + tree-sitter-json + tree-sitter-lua + tree-sitter-markdown + tree-sitter-markdown-inline + tree-sitter-nix + tree-sitter-php + tree-sitter-python + tree-sitter-yaml + ] + ) + ) + nvim-treesitter-textobjects + ]; + }