{
  pkgs,
  ...
}:
{
  programs.nvf = {
    enable = true;
    settings = {
      vim = {
        theme = {
          enable = true;
          name = "base16";
        };

        statusline.lualine.enable = true;
        telescope.enable = true;

        viAlias = true;
        vimAlias = true;
        lsp.enable = true;
        globals.mapleader = " ";
        utility.sleuth.enable = true; # makes vim use consistent indentations style
        clipboard = {
          enable = true;
          providers.wl-copy.enable = true;
          registers = "unnamedplus"; # uses system clipboard
        };
        languages = {
          enableDAP = true;
          enableExtraDiagnostics = true;
          enableFormat = true;
          enableTreesitter = true;

          rust.enable = true;
          nix.enable = true;
          markdown.enable = true;
          java.enable = true;
        };
        autocomplete.blink-cmp.enable = true;
        startPlugins = with pkgs.vimPlugins; [
          vimwiki
        ];
        # the following doesnt seem to work, i fear i may have to properly package vimwiki but i dont want to do that right now so i will come back later
        #        luaConfigRC = ''
        #
        #	  -- set vimwiki settings that I want
        #          set nocompatible
        #          filetype plugin on
        #          syntax on
        #
        #          let g:vimwiki_list = [{'path': '~/Notes/',
        #                                \ 'syntax': 'markdown', 'ext': 'md'}]
        #          let g:vimwiki_global_ext = 0
        #        ''; # Required settings for vimwiki
      };
    };
  };
}