diff --git a/home/TODOS.txt b/home/TODOS.txt new file mode 100644 index 0000000..831f399 --- /dev/null +++ b/home/TODOS.txt @@ -0,0 +1,57 @@ +NeoVim: +- obsidian-nvim + +- plenary-nvim +- telescope-nvim +- telescope-fzf-native-nvim + +- neoscroll-nvim +- leap-nvim + +- bufferline-nvim +- lualine-nvim +- lualine-lsp-progress +- dropbar-nvim + +- vim-obsession + +- nvim-tree-lua +- oil-nvim +- nvim-web-devicons + +- nvim-cmp +- cmp-nvim-lua +- cmp-buffer +- cmp-path +- luasnip +- cmp_luasnip +- friendly-snippets +- lspkind-nvim +- cmp-conjure + +- conform-nvim + +- comment-nvim +- nvim-ts-context-commentstring +- nvim-surround +- nvim-autopairs + +- vimtex + +- nvim-treesitter.withAllGrammars +- nvim-treesitter-textobjects +- rainbow-delimiters-nvim + +- nvim-lspconfig +- neoconf.nvim +- neodev-nvim + +- lean-nvim +- nvim-lspconfig +- plenary-nvim + +- conjure + +- wich-key-nvim + +- markdown-preview-nvim diff --git a/home/programs/neovim/default.nix b/home/programs/neovim/default.nix index 2737eec..605806f 100644 --- a/home/programs/neovim/default.nix +++ b/home/programs/neovim/default.nix @@ -1,12 +1,49 @@ { pkgs, config, ... }: { - #home.packages = with pkgs; [ - #neovim - #]; + home.sessionVariables = { EDITOR = "nvim"; }; programs.neovim = { enable = true; + + plugin = with pkgs.vimPlugins; [ + lazy-nvim + + catppuccin-nvim + ]; + + extraLuaConfig = '' + vim.g.mapleader = " " + require("lazy").setup({ + spec = { + -- Import plugins from lua/plugins + { import = "plugins" }, + }, + performance = { + reset_packpath = false, + rtp = { + reset = false, + } + }, + dev = { + path = "${ + pkgs.vimUtils.packDir + config.programs.neovim.finalPackage.passthru.packpathDirs + }/pack/myNeovimPackages/start", + patterns = {"folke", "catppuccin"}, + }, + install = { + -- Safeguard in case we forget to install a plugin with Nix + missing = false, + }, + }) + require("config/options") + ''; + }; + + xdg.configFile."nvim/lua"= { + recursive = true; + source = ./lua; }; } diff --git a/home/programs/neovim/lua/config/options.lua b/home/programs/neovim/lua/config/options.lua new file mode 100644 index 0000000..c434403 --- /dev/null +++ b/home/programs/neovim/lua/config/options.lua @@ -0,0 +1,14 @@ +local opt = vim.opt + +opt.cursorline = true -- Enable highlighting of the current line +opt.expandtab = true -- Use spaces instead of tabs +opt.list = true -- Show some invisible characters (tabs... +opt.mouse = "a" -- Enable mouse mode +opt.number = true -- Print line number +opt.relativenumber = true -- Relative line numbers +opt.shiftround = true -- Round indent +opt.shiftwidth = 2 -- Size of an indent +opt.smartindent = true -- Insert indents automatically +opt.spelllang = { "en" } +opt.tabstop = 2 -- Number of spaces tabs count for +