blob: 7de34442e06abcec94f87090c964b24fd0195d98 [file] [log] [blame]
Skyler Grey252927a2022-10-18 22:18:15 +01001{ pkgs
2, lib
Skyler Grey8fd63d02022-10-31 00:26:44 +00003, nixpkgs-minion
4, system
Skyler Grey252927a2022-10-18 22:18:15 +01005, ...
6}:
7let
Skyler Greyf8194602022-10-31 00:07:05 +00008 disabledGrammars = [
Skyler Grey48e12a42023-02-13 06:51:56 +00009 /* "sql" */
Skyler Greyf8194602022-10-31 00:07:05 +000010 ];
Skyler Grey252927a2022-10-18 22:18:15 +010011in
12{
Skyler Grey5a22b1f2023-01-26 00:33:27 +000013 home.file.".config/nvim/after/queries/markdown/highlights.scm".source = ./highlights.scm;
Skyler Greya7feb6e2022-08-26 06:51:55 +010014 programs.neovim = {
15 plugins = with pkgs.vimPlugins; [
16 (nvim-treesitter.withPlugins (plugins:
Skyler Greyf8194602022-10-31 00:07:05 +000017 (lib.pipe plugins [
Skyler Greyf8f06532022-11-04 10:58:38 +000018 (lib.filterAttrs (name: value: builtins.substring 0 12 name == "tree-sitter-"))
19 (lib.filterAttrs (name: value: !builtins.elem
20 (builtins.substring 12 (builtins.stringLength name) name)
21 disabledGrammars
22 ))
Skyler Greyd9c7e1e2023-02-26 12:50:27 +000023 # lib.traceVal
Skyler Greyf8194602022-10-31 00:07:05 +000024 builtins.attrValues
25 ])
Skyler Greya7feb6e2022-08-26 06:51:55 +010026 ++ (with pkgs.vimPlugins; [
27 nvim-ts-rainbow
Skyler Grey5a22b1f2023-01-26 00:33:27 +000028 nvim-ts-context-commentstring
Skyler Grey8fd63d02022-10-31 00:26:44 +000029 nixpkgs-minion.legacyPackages.${system}.tree-sitter-grammars.tree-sitter-astro
Skyler Greya7feb6e2022-08-26 06:51:55 +010030 ])))
31 nvim-treesitter-context
Skyler Grey5a22b1f2023-01-26 00:33:27 +000032 playground
Skyler Greya7feb6e2022-08-26 06:51:55 +010033 ];
34 extraConfig = ''
35 source ${./setup.lua}
Skyler Grey5a22b1f2023-01-26 00:33:27 +000036 '' + builtins.readFile ./highlights.vim;
Skyler Greya7feb6e2022-08-26 06:51:55 +010037 };
38}