From ee941c351daa870d4a40b933fe93ffb8459884f7 Mon Sep 17 00:00:00 2001 From: th3r00t Date: Fri, 29 Aug 2025 00:40:59 -0400 Subject: [PATCH] Forgot the init --- init.lua | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 init.lua diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..fc4b53c --- /dev/null +++ b/init.lua @@ -0,0 +1,156 @@ +local vim = vim +local host = vim.loop.os_gethostname() +require("options") -- /etc/nixos/home/.config/nvim/lua/options.lua +require("plugins") -- /etc/nixos/home/.config/nvim/lua/plugins.lua +require("utils.t3_functions") -- /etc/nixos/home/.config/nvim/lua/utils/t3_functions.lua +require("utils.t3_overrides") -- /etc/nixos/home/.config/nvim/lua/utils/t3_overrides.lua +require("utils.reload") -- /etc/nixos/home/.config/nvim/lua/utils/reload.lua +require("vimwiki") -- /etc/nixos/home/.config/nvim/lua/vimwiki.lua +require("keymaps") -- /etc/nixos/home/.config/nvim/lua/keymaps.lua +require("lsp") -- /etc/nixos/home/.config/nvim/lua/lsp.lua +require("completion") -- /etc/nixos/home/.config/nvim/lua/completion.lua +require("treesitter") -- /etc/nixos/home/.config/nvim/lua/treesitter.lua +require("autocmds") -- /etc/nixos/home/.config/nvim/lua/autocmds.lua +require("diagnostics") -- /etc/nixos/home/.config/nvim/lua/diagnostics.lua +require('telescope_configuration') -- /etc/nixos/home/.config/nvim/lua/telescope_configuration.lua + +if host == "xps13" then + require('tokyonight').setup({ + style = "moon", -- "storm", "moon", "day", "night" + transparent = false, -- Enable transparent background + terminal_colors = true, -- Enable terminal colors + styles = { + comments = { italic = true }, -- Italic comments + keywords = { italic = true }, -- Italic keywords + functions = { bold = true }, -- Bold functions + variables = {}, -- No special style for variables + sidebars = "dark", -- Dark sidebars + floats = "dark", -- Dark floating windows + }, + }) +elseif host == "Titan" then + require('tokyonight').setup({ + style = "storm", -- "storm", "moon", "day", "night" + transparent = false, -- Enable transparent background + terminal_colors = true, -- Enable terminal colors + styles = { + comments = { italic = true }, -- Italic comments + keywords = { italic = true }, -- Italic keywords + functions = { bold = true }, -- Bold functions + variables = {}, -- No special style for variables + sidebars = "dark", -- Dark sidebars + floats = "dark", -- Dark floating windows + }, + }) +end + +local function is_linux_console() + return vim.env.TERM == "linux" +end + +local function want_truecolor() + if is_linux_console() then return false end + return vim.fn.has("termguicolors") == 1 + or ((vim.env.COLORTERM or ""):lower():find("truecolor") ~= nil) +end + +local function set_colorscheme() + if want_truecolor() then + vim.o.termguicolors = true + if not pcall(vim.cmd.colorscheme, "tokyonight") then + pcall(vim.cmd.colorscheme, "habamax") + end + else + vim.o.termguicolors = false + if not pcall(vim.cmd.colorscheme, "industry") then + pcall(vim.cmd.colorscheme, "default") + end + end +end + +vim.api.nvim_create_autocmd("VimEnter", { + callback = function() + set_colorscheme() + + local tty = is_linux_console() + + -- LUALINE: no icons, simple separators, TTY theme + pcall(function() + local ok, lualine = pcall(require, "lualine") + if not ok then return end + if tty then + lualine.setup({ + options = { + theme = "16color", -- built-in, safe for TTY + icons_enabled = false, + component_separators = "", + section_separators = "", + globalstatus = true, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "branch" }, + lualine_c = { { "filename", file_status = true, path = 1 } }, + lualine_x = { "encoding", "fileformat", "filetype" }, + lualine_y = { "progress" }, + lualine_z = { "location" }, + }, + }) + else + lualine.setup({ + options = { + theme = "tokyonight", + icons_enabled = true, + globalstatus = true, + }, + }) + end + end) + + -- BARBAR: kill icons in TTY, simplify separators + pcall(function() + vim.g.barbar_auto_setup = false + local ok, barbar = pcall(require, "barbar") + if not ok then return end + if tty then + barbar.setup({ + animation = false, + auto_hide = false, + sidebar_filetypes = { NvimTree = true, undotree = { text = "Undotree" } }, + icons = { + -- aggressively disable anything icon-like + buffer_index = false, + buffer_number = false, + button = "", -- close button + diagnostics = { + [vim.diagnostic.severity.ERROR] = { enabled = false }, + [vim.diagnostic.severity.WARN] = { enabled = false }, + [vim.diagnostic.severity.INFO] = { enabled = false }, + [vim.diagnostic.severity.HINT] = { enabled = false }, + }, + gitsigns = { added = {enabled=false}, changed = {enabled=false}, deleted = {enabled=false} }, + filetype = { enabled = false }, + pinned = { button = "", filename = true }, + modified = { button = "*" }, -- simple ASCII marker + separator = { left = "|", right = "|" }, + inactive = { separator = { left = "", right = "" } }, + }, + }) + else + barbar.setup({}) -- your normal config, or keep defaults + end + end) + + -- If you use web-devicons, disable it in TTY to avoid glyphs + if is_linux_console() then + -- If using lazy.nvim, better to conditionally load the plugin (see spec below). + if package.loaded["nvim-web-devicons"] then + local ok, devicons = pcall(require, "nvim-web-devicons") + if ok and devicons.has_loaded() then + -- there's no runtime "disable", but not using it in barbar/lualine is enough. + end + end + end + end, +}) +