diff options
Diffstat (limited to 'hm/editors/nixvim.nix')
| -rw-r--r-- | hm/editors/nixvim.nix | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/hm/editors/nixvim.nix b/hm/editors/nixvim.nix new file mode 100644 index 0000000..a80a674 --- /dev/null +++ b/hm/editors/nixvim.nix @@ -0,0 +1,107 @@ +{ inputs, config, lib, pkgs, ... }: +let + cfg = config.szpont.hm.editors.nixvim; +in +{ + imports = [ inputs.nixvim.homeModules.nixvim ]; + + options.szpont.hm.editors.nixvim.enable = lib.mkEnableOption "enables nixvim config framework"; + + config = lib.mkIf cfg.enable { + + programs.nixvim = { + enable = true; + package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; + + viAlias = true; + vimAlias = true; + defaultEditor = true; + waylandSupport = true; + colorschemes.gruvbox.enable = true; + + plugins = { + lualine.enable = true; + oil.enable = true; + lazygit.enable = true; + persistence.enable = true; + nvim-autopairs.enable = true; + neoscroll.enable = true; + bufferline.enable = true; + web-devicons.enable = true; + + treesitter = { + enable = true; + settings = { + indent.enable = true; + }; + }; + + telescope = { + enable = true; + extensions = { + fzf-native = { + enable = true; + }; + }; + }; + + notify = { + enable = true; + settings = { + backgroundColour = "#1e1e2e"; + fps = 60; + render = "default"; + timeout = 500; + topDown = true; + }; + }; + + hardtime = { + # enable = true; + 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 = "unnamedplus"; + }; + }; + }; + }; +} |
