require 'core.options' -- Load general options require 'core.keymaps' -- Load general keymaps require 'core.snippets' -- Custom code snippets -- Install package manager 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) vim.filetype.add({ extension = { templ = "templ", } }) -- Import color theme based on environment variable NVIM_THEME local default_color_scheme = 'quantum' local env_var_nvim_theme = os.getenv 'NVIM_THEME' or default_color_scheme -- Define a table of theme modules local themes = { quantum = 'plugins.themes.quantum', nord = 'plugins.themes.nord', onedark = 'plugins.themes.onedark', } -- Setup plugins require('lazy').setup({ require(themes[env_var_nvim_theme]), require 'core.ui', require 'plugins.aaa', -- Mason setup require 'plugins.aerial', require 'plugins.flash', require 'plugins.autocompletion', require 'plugins.bufferline', require 'plugins.comment', require 'plugins.conform', require 'plugins.database', require 'plugins.debug', require 'plugins.gitsigns', require 'plugins.harpoon', require 'plugins.lazygit', require 'plugins.lsp', require 'plugins.lualine', require 'plugins.none-ls', require 'plugins.indent-blankline', require 'plugins.neo-tree', require 'plugins.misc', require 'plugins.snack', require 'plugins.telescope', require 'plugins.toggleterm', require 'plugins.treesitter', require 'plugins.vim-tmux-navigator', require 'plugins.zellij', }, { ui = { -- If you have a Nerd Font, set icons to an empty table which will use the -- default lazy.nvim defined Nerd Font icons otherwise define a unicode icons table icons = vim.g.have_nerd_font and {} or { cmd = '⌘', config = '🛠', event = '📅', ft = '📂', init = '⚙', keys = '🗝', plugin = '🔌', runtime = '💻', require = '🌙', source = '📄', start = '🚀', task = '📌', lazy = '💤 ', }, }, }) -- Function to check if a file exists local function file_exists(file) local f = io.open(file, 'r') if f then f:close() return true else return false end end -- Path to the session file local session_file = '.session.vim' -- Check if the session file exists in the current directory -- if file_exists(session_file) then -- -- Source the session file -- vim.cmd('source ' .. session_file) -- end -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et