{ pkgs, inputs, ... }: { imports = [ inputs.nixvim.homeModules.nixvim ]; programs.nixvim = { enable = true; package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; viAlias = true; vimAlias = true; waylandSupport = true; colorschemes.gruvbox.enable = true; plugins = { lualine.enable = true; nvim-autopairs.enable = true; neoscroll.enable = true; bufferline.enable = true; treesitter = { enable = true; settings = { indent.enable = true; }; }; web-devicons.enable = true; telescope = { enable = true; extensions = { fzf-native = { enable = true; }; }; }; hardtime = { enable = false; settings = { disableMouse = true; enabled = false; restrictionMode = "hint"; hint = true; maxCount = 40; maxTime = 1000; }; }; nix.enable = true; lsp = { enable = true; servers = { nil_ls.enable = true; clangd.enable = true; }; }; }; opts = { number = true; relativenumber = true; termguicolors = true; # mouse = "a"; ignorecase = true; smartcase = true; expandtab = true; shiftwidth = 2; encoding = "utf-8"; fileencoding = "utf-8"; undofile = true; swapfile = true; backup = false; autoread = true; cursorline = true; ruler = true; gdefault = true; scrolloff = 5; clipboard = { providers.wl-copy.enable = true; register = "wl-copy"; }; }; keymaps = [ { key = ""; action = ""; mode = [ "n" "i" "v" ]; options = { silent = true; }; } { key = ""; action = ""; mode = [ "n" "i" "v" ]; options = { silent = true; }; } { key = ""; action = ""; mode = [ "n" "i" "v" ]; options = { silent = true; }; } { key = ""; action = ""; mode = [ "n" "i" "v" ]; options = { silent = true; }; } ]; }; }