#!/bin/bash
# - bof - #


# -  - #
# - Install neoVim - #
sudo pacman -S neovim unzip luarocks xclip wl-clipboard --noconfirm --needed;



Goto # :nvChad



# -  - #
# - neoVim Configuration - #
cd ~/.config;
mkdir -p ~/.config/nvim;



# -  - #
# - Create init.lua - #
touch init.lua;

require 'options'


mkdir -p ~/.config/nvim/lua;
cd lua;

vim options.lua;

vim.wo.number = true



# -  - #
# - nVim Configuration Documentation - #
https://githum.com/nvim-lua/kickstart.nvim/tree/master





# -  - #
# - .lua Documentation - #
https://learnxinyminutes.com/lua/






# -  - #
# - nvChad Documentation - #
https://www.youtube.com/watch?v=yW3ovyQCwpw
https://github.com/NvChad/NvChad





# :nvChad
# -  - #
# - nvChad Installation - #
https://nvchad.com/
https://github.com/NvChad/NvChad
https://nvchad.com/docs/quickstart/install/



# -  - #
# - nVim folders - #
rm -rf ~/.config/nvim;
rm -rf ~/.local/share/nvim;
rm -rf ~/.local/state/nvim;



# -  - #
# - Install neoVim - #
sudo pacman -S neovim unzip luarocks xclip wl-clipboard --noconfirm --needed;

# -  - #
# - Install nvChad - #
git clone https://github.com/NvChad/starter ~/.config/nvim && nvim;

# -  - #
# - After Install nvChad - #
nvim;

:MasonInstallAll
:q

nvim;



# -  - #
# - Configure nVim - #
vim ~/.config/nvim/lua/chadrc.lua;

-- This file needs to have same structure as nvconfig.lua 
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
-- Please read that file to know all available options :( 

---@type ChadrcConfig
local M = {}

M.base46 = {
	theme = "ayu_dark",

	-- hl_override = {
	-- 	Comment = { italic = true },
	-- 	["@comment"] = { italic = true },
	-- },
}

-- M.nvdash = { load_on_startup = true }
-- M.ui = {
--       tabufline = {
--          lazyload = false
--      }
--}

return M



# -  - #
# - Configure theme - #
leader (Space bar)
t      (telescope nvchad themes)
h      (Select "ayu_dark" theme)



#git@github.com:lukas-reineke/onedark.nvim.git




# -  - #
# - Configure nVim - #
vim ~/.config/nvim/lua/plugins/init.lua;

return {
  {
    "stevearc/conform.nvim",
    -- event = 'BufWritePre', -- uncomment for format on save
    opts = require "configs.conform",
  },

  -- These are some examples, uncomment them if you want to see them work!
  {
    "neovim/nvim-lspconfig",
    config = function()
      require "configs.lspconfig"
    end,
  },

  {
    "nvim-treesitter/nvim-treesitter",
    opts = {
      ensure_installed = {
        "vim", "lua", "vimdoc", "html", "css", "toml"
   	},
    },
  },
}





# -  - #
# - Pre-requisites - #
https://www.nerdfonts.com/





# -  - #
# - nvChad unInstallation - #
https://nvchad.com/docs/quickstart/install/

# Linux / MacOS (unix)
rm -rf ~/.config/nvim
rm -rf ~/.local/state/nvim
rm -rf ~/.local/share/nvim

# Flatpak (linux)
rm -rf ~/.var/app/io.neovim.nvim/config/nvim
rm -rf ~/.var/app/io.neovim.nvim/data/nvim
rm -rf ~/.var/app/io.neovim.nvim/.local/state/nvim

# Windows CMD
rd -r ~\AppData\Local\nvim
rd -r ~\AppData\Local\nvim-data

# Windows PowerShell
rm -Force ~\AppData\Local\nvim
rm -Force ~\AppData\Local\nvim-data









# - eof - #
