This commit is contained in:
Manuel
2025-08-25 17:42:37 +02:00
commit aed2435b50
31 changed files with 2269 additions and 0 deletions

79
init.lua Normal file
View File

@@ -0,0 +1,79 @@
if vim.fn.has "nvim-0.8" == 0 then error "Need Neovim 0.8+ in order to use this config" end
for _, cmd in ipairs { "git", "rg", { "fd", "fdfind" } } do
local name = type(cmd) == "string" and cmd or vim.inspect(cmd)
local commands = type(cmd) == "string" and { cmd } or cmd
---@cast commands string[]
local found = false
for _, c in ipairs(commands) do
if vim.fn.executable(c) == 1 then
name = c
found = true
end
end
if not found then error(("`%s` is not installed"):format(name)) end
end
-- require('nvim-treesitter.configs').setup {
-- ensure_installed = { 'latex', 'bibtex', 'comment' },
-- highlight = { enable = true },
-- }
vim.g.vimtex_view_method = 'zathura' -- change to 'skim' (mac) or 'sumatrapdf' (win)
vim.g.vimtex_compiler_method = 'latexmk'
vim.g.vimtex_compiler_latexmk = {
build_dir = '',
options = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '-file-line-error' },
}
-- forward/back search mappings
vim.g.vimtex_view_forward_search_on_start = 1
-- keymaps to compile/view (vimtex provides defaults: \ll, \lv, \li)
vim.api.nvim_set_keymap('n', '<leader>ll', '<cmd>VimtexCompile<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>lv', '<cmd>VimtexView<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>lk', '<cmd>VimtexStop<CR>', { noremap = true, silent = true })
-- LSP: texlab (you need texlab installed OR fall back to vimtex)
-- local nvim_lsp = require('lspconfig')
-- Basic nvim-cmp setup (LSP completion)
vim.g.python3_host_prog = '/home/manuel/.conda/envs/sci/bin/python3'
vim.g.tidal_target = "terminal"
vim.opt.termguicolors = true -- enable 24-bit RGB colors
-- Disable annoying deprecated message
vim.deprecate = function() end
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system {
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
}
end
vim.opt.rtp:prepend(lazypath)
-- Load default configurations and plugins
for _, source in ipairs {
"plugins",
"options",
"mappings",
"autocmds",
} do
local ok, fault = pcall(require, source)
if not ok then vim.api.nvim_err_writeln("Failed to load " .. source .. "\n\n" .. fault) end
end
-- Load custom configurations
local exist, custom = pcall(require, "custom")
if exist and type(custom) == "table" and custom.configs then custom.configs() end