user/settings/tabnine.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | { config, pkgs, ... }: let cfg = { config = { "language.typescript" = { command = "typescript-language-server"; args = ["--stdio"]; }; "language.javascript" = { command = "javascript-typescript-stdio"; args = ["--stdio"]; }; "language.css" = { command = "css-languageserver"; args = ["--stdio"]; }; "language.scss" = { command = "css-languageserver"; args = ["--stdio"]; }; "language.html" = { command = "html-languageserver"; args = ["--stdio"]; }; "language.dockerfile" = { command = "docker-langserver"; args = ["--stdio"]; }; "language.yaml" = { command = "yaml-language-server"; args = ["--stdio"]; }; "language.haskell" = { command = "hie"; args = ["--stdio"]; }; }; }; configFile = config: pkgs.runCommand "TabNine.toml" { buildInputs = [ pkgs.remarshal ]; preferLocalBuild = true; allowSubstitutes = false; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON cfg.config)} \ > $out ''; in { xdg.configFile."TabNine/TabNine.toml" = { source = configFile cfg.config; }; } |