<commit_before>{ config, pkgs, ... }:
{
  home.packages = with pkgs; [
    # Language servers for neovim
    nodePackages.vim-language-server
    nodePackages.bash-language-server
    nodePackages.pyright
    nodePackages.yaml-language-server
    nodePackages.typescript
    nodePackages.typescript-language-server
    terraform-lsp
    rnix-lsp
  ];

  programs.neovim = {
    enable = true;
    package = pkgs.neovim-nightly;
    withNodeJs = true;
    withPython3 = true;
    extraPython3Packages = (ps: with ps; [ ]);
    plugins = with pkgs.vimPlugins; [
      # Airline
      {
        plugin = vim-airline;
        config = "let g:airline#extensions#tabline#enabled = 1";
      }
      vim-airline-themes # TODO: check config
      {
        plugin = base16-vim;
        config = ''
          if filereadable(expand("~/.vimrc_background"))
            let base16colorspace=256
            source ~/.vimrc_background
          endif
        '';
      }

      # tpope plugins
      vim-abolish
      vim-repeat
      vim-surround<commit_msg>neovim: Move to tokyonight w/treesitter support<commit_after>{ config, pkgs, ... }:
let
  tokyonight = pkgs.vimUtils.buildVimPlugin {
    name = "tokyonight.nvim";
    src = pkgs.fetchFromGitHub {
      owner = "folke";
      repo = "tokyonight.nvim";
      rev = "e3ad6032a7e2c54dd7500335b43c7d353a19ede9";
      sha256 = "1slb67kirb0jfgjsw09dhimmxagsk2aii6w461y1w8nj3fkl6p28";
    };
  };
in
{
  home.packages = with pkgs; [
    # Language servers for neovim
    nodePackages.vim-language-server
    nodePackages.bash-language-server
    nodePackages.pyright
    nodePackages.yaml-language-server
    nodePackages.typescript
    nodePackages.typescript-language-server
    terraform-lsp
    rnix-lsp
  ];

  programs.neovim = {
    enable = true;
    package = pkgs.neovim-nightly;
    withNodeJs = true;
    withPython3 = true;
    extraPython3Packages = (ps: with ps; [ ]);
    plugins = with pkgs.vimPlugins; [
      # Airline
      {
        plugin = vim-airline;
        config = "let g:airline#extensions#tabline#enabled = 1";
      }
      vim-airline-themes # TODO: check config
      {
        plugin = tokyonight;
        config = ''
          colorscheme tokyonight
        '';
      }

      # tpope plugins
      vim-abolish
      vim-repeat
      vim-surround
{'fraction_non_alphanumeric': 0.10120585701981051, 'fraction_numerical': 0.024978466838931956, 'mean_word_length': 2.267229254571027, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4277193', 'n_tokens_mistral': 858, 'n_tokens_neox': 793, 'n_words': 135}