{ config, pkgs, ... }: let boolToStr = b: if b then "true" else "false"; boolToStr' = b: if b then "1" else "0"; in { xdg.configFile."nvim/lua/globals.lua".text = '' local fn = vim.fn local api = vim.api local utils = require('utils') -- Inspect something function _G.inspect(item) vim.print(item) end ------------------------------------------------------------------------ -- custom variables -- ------------------------------------------------------------------------ vim.g.is_win = ${boolToStr pkgs.stdenv.isCygwin} vim.g.is_mac = ${boolToStr pkgs.stdenv.isDarwin} vim.g.is_linux = ${boolToStr (!pkgs.stdenv.isCygwin && !pkgs.stdenv.isDarwin)} vim.g.logging_level = "info" ------------------------------------------------------------------------ -- builtin variables -- ------------------------------------------------------------------------ vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = ${boolToStr' config.programs.neovim.withRuby} vim.g.loaded_node_provider = ${boolToStr' config.programs.neovim.withNodeJs} vim.g.did_install_default_menus = 1 -- do not load menu -- Custom mapping (see `:h mapleader` for more info) vim.g.mapleader = ',' -- Enable highlighting for lua HERE doc inside vim script vim.g.vimsyn_embed = 'l' -- Use English as main language vim.cmd [[language en_US.UTF-8]] -- Disable loading certain plugins -- Whether to load netrw by default, see https://github.com/bling/dotvim/issues/4 vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 vim.g.netrw_liststyle = 3 if vim.g.is_win then vim.g.netrw_http_cmd = "curl --ssl-no-revoke -Lo" end -- Do not load tohtml.vim vim.g.loaded_2html_plugin = 1 -- Do not load zipPlugin.vim, gzip.vim and tarPlugin.vim (all these plugins are -- related to checking files inside compressed files) vim.g.loaded_zipPlugin = 1 vim.g.loaded_gzip = 1 vim.g.loaded_tarPlugin = 1 -- Do not load the tutor plugin vim.g.loaded_tutor_mode_plugin = 1 -- Do not use builtin matchit.vim and matchparen.vim since we use vim-matchup vim.g.loaded_matchit = 1 vim.g.loaded_matchparen = 1 -- Disable sql omni completion, it is broken. vim.g.loaded_sql_completion = 1 ''; }