{
  inputs,
  pkgs,
  ...
}: {
  imports = [
    inputs.nvf.homeManagerModules.default
  ];
  programs.nvf = {
    enable = true;
    enableManpages = true;
    settings.vim = {
      lsp = {
        enable = true;
        null-ls.enable = true;
        formatOnSave = true;
        lspkind.enable = false;
        lightbulb.enable = true;
        lspsaga.enable = true; # DISABLED
        trouble.enable = true;
        nvim-docs-view.enable = true;
        harper-ls.enable = true;
      };
      debugger = {
        nvim-dap = {
          enable = true;
          ui.enable = false; # DISABLED
        };
      };
      options = {
        tabstop = 2;
        autoindent = true;
        shiftwidth = 2;
      };
      clipboard = {
        enable = true;
        registers = "unnamedplus";
        providers = {
          xclip = {
            enable = true;
            package = pkgs.xclip;
          };
        };
      };
      languages = {
        enableFormat = true;
        enableTreesitter = false;
        enableExtraDiagnostics = true;
        nix.enable = true;
        markdown.enable = true;
        bash.enable = true;
        nu.enable = true;
        css.enable = true;
        html = {
          enable = true;
          lsp.servers = [
            "emmet-ls"
            "superhtml"
          ];
        };
        python.enable = true;
        rust = {
          enable = true;
          extensions.crates-nvim.enable = true;
        };
      };
      visuals = {
        nvim-web-devicons.enable = true;
        nvim-cursorline.enable = true;
        cinnamon-nvim.enable = true;
        fidget-nvim.enable = true;
        highlight-undo.enable = true;
        indent-blankline.enable = false;
      };
      statusline = {
        lualine = {
          enable = true;
          theme = "catppuccin";
        };
      };
      theme = {
        enable = true;
        name = "catppuccin";
        style = "mocha";
        transparent = true;
      };
      autopairs.nvim-autopairs.enable = false;
      snippets.luasnip.enable = true;
      telescope.enable = true;
      autocomplete = {
        nvim-cmp.enable = true;
      };
      binds = {
        whichKey.enable = true;
        cheatsheet.enable = true;
      };
      git = {
        enable = true;
        gitsigns.enable = true;
        gitsigns.codeActions.enable = false;
        neogit.enable = true;
      };
      dashboard = {
        alpha.enable = true;
      };
      notify = {
        nvim-notify.enable = true;
      };
      projects = {
        project-nvim.enable = true;
      };
      comments.comment-nvim.enable = false; # DISABLED
      utility = {
        ccc.enable = true;
        diffview-nvim.enable = false; # DISABLED
        icon-picker.enable = true;
        surround.enable = false; # DISABLED
        multicursors.enable = true;
        undotree.enable = true;
        motion = {
          hop.enable = true;
          leap.enable = true;
          precognition.enable = true;
        };
        images = {
          img-clip.enable = true;
        };
      };
      ui = {
        borders.enable = true;
        colorizer.enable = true;
        illuminate.enable = false;
        breadcrumbs = {
          enable = false;
          navbuddy.enable = false;
        };
        smartcolumn = {
          enable = true;
        };
        fastaction.enable = true;
      };
    };
  };
}
