{pkgs, ...}: {
  programs.nixvim = {
    extraPackages = with pkgs; [
      lldb
    ];

    plugins = {
      markdown-preview.enable = true;

      nix-develop.enable = true;

      gitblame.enable = true;

      todo-comments.enable = true;

      comment.enable = true;

      nvim-autopairs.enable = true;

      indent-blankline = {
        enable = true;
        settings = {
          indent.char = "î˜¡";
          scope = {
            show_start = false;
            show_end = false;
          };
        };
      };

      treesitter = {
        enable = true;
        nixvimInjections = true;

        incrementalSelection.enable = true;
      };

      treesitter-context = {
        enable = true;
        settings = {
          max_lines = 3;
          min_window_height = 12;
        };
      };
    };

    extraConfigLuaPost = ''
      local cmp_autopairs = require('nvim-autopairs.completion.cmp')
      local cmp = require('cmp')
      cmp.event:on(
        'confirm_done',
        cmp_autopairs.on_confirm_done()
      )
    '';

    globals.gitblame_enabled = 0;
  };
}
