diff options
author | Alan Pearce | 2019-12-09 16:40:22 +0100 |
---|---|---|
committer | Alan Pearce | 2019-12-09 16:40:22 +0100 |
commit | 8d9f5216c8cf2a89488a9fa303e0a71557a6fdc4 (patch) | |
tree | b2354e9cebf1031b7a67d86fe220523423dc5850 | |
parent | ca4537a8e0f19baf3b83c0308bf444d71427906a (diff) | |
download | nixfiles-8d9f5216c8cf2a89488a9fa303e0a71557a6fdc4.tar.lz nixfiles-8d9f5216c8cf2a89488a9fa303e0a71557a6fdc4.tar.zst nixfiles-8d9f5216c8cf2a89488a9fa303e0a71557a6fdc4.zip |
tabnine: switch config directory by system type
-rw-r--r-- | user/modules/tabnine.nix | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/user/modules/tabnine.nix b/user/modules/tabnine.nix index dd4d7108..7a207fa2 100644 --- a/user/modules/tabnine.nix +++ b/user/modules/tabnine.nix @@ -3,8 +3,9 @@ with lib; let + inherit (pkgs) stdenv; cfg = config.programs.tabnine; - configFile = config: + lspConfigFile = config: pkgs.runCommand "TabNine.toml" { buildInputs = [ pkgs.remarshal ]; @@ -23,20 +24,28 @@ in options.programs.tabnine = { enable = mkEnableOption "TabNine, Smart Compose for code."; + configDir = mkOption { + type = types.str; + default = if stdenv.isDarwin then "Library/Preferences/TabNine" else "${config.xdg.configHome}/TabNine"; + description = '' + Location of TabNine configuration directory relative to \$HOME + ''; + }; + lspConfig = mkOption { type = types.attrs; default = {}; description = '' LSP Server configuration written to - <filename>~/.config/TabNine/TabNine.toml</filename>. + <filename>\${configDir}/TabNine.toml</filename> </para><para> ''; }; }; config = mkIf cfg.enable { - xdg.configFile."TabNine/TabNine.toml" = { - source = configFile cfg.lspConfig; + home.file."${cfg.configDir}/TabNine.toml" = { + source = lspConfigFile cfg.lspConfig; }; }; } |