{ pkgs, ... }: { # Import all your configuration modules here # imports = [ ./bufferline.nix ]; # Extra packages available in Neovim's PATH extraPackages = with pkgs; [ ripgrep tree-sitter ]; clipboard.register = "unnamedplus"; colorschemes.nord.enable = true; opts = { number = true; # Show line numbers relativenumber = true; # Show relative line numbers shiftwidth = 2; # Tab width should be 2 }; plugins = { web-devicons.enable = true; lualine.enable = true; oil.enable = true; commentary.enable = true; nvim-tree.enable = true; treesitter.enable = true; fugitive.enable = true; vim-surround.enable = true; which-key.enable = true; openscad.enable = true; lazygit.enable = true; toggleterm.enable = true; indent-blankline.enable = true; illuminate.enable = true; bufferline.enable = true; direnv.enable = true; fzf-lua.enable = true; hop.enable = true; codecompanion = { enable = true; }; # enable all auto completion cmp.enable = true; cmp.autoEnableSources = true; # Good old Telescope telescope = { enable = true; extensions = { fzf-native = { enable = true; }; }; }; # Nix expressions in Neovim nix.enable = true; }; keymaps = [ { key = "s"; action.__raw = '' function() -- type two letters and jump to that bigram anywhere require("hop").hint_char2({ current_line_only = false, multi_windows = false, -- set true if you want to hop across all windows }) end ''; options = { remap = true; }; } ]; }