diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..6fe588ffc24adcfc60a0ab13a18cb8be4bf1c4d0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+usage_data.json
+lazy-lock.json
diff --git a/init.lua b/init.lua
index 6744064ba378f742c865f4e9597985ce5406794f..0e35ae7bd3d5bf4366bf794f49c7245ab041a739 100644
--- a/init.lua
+++ b/init.lua
@@ -12,14 +12,22 @@ if not vim.loop.fs_stat(lazypath) then
     lazypath,
   })
 end
-vim.opt.rtp:prepend(lazypath)
+vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
 
-local opts = {}
+local opts = {
+}
 
 local plugins = {
-	{ "catppuccin/nvim", name = "catppuccin", priority = 1000, lazy=false },
+	{
+		"catppuccin/nvim",
+		name = "catppuccin",
+		priority = 1000,
+		lazy=false,
+		config = function() vim.cmd( [[colorscheme catppuccin]] ) end,
+	},
 	{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", },
 	{ "nvim-tree/nvim-web-devicons" },
+--	{ "tanvirtin/vgit.nvim", requires = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons" }, },
 	{ "williamboman/mason.nvim" },
 	{
 		"nvim-tree/nvim-tree.lua",
@@ -31,8 +39,19 @@ local plugins = {
 		end,
 	},
 	{ "nvim-lua/plenary.nvim" },
+	{ "f-person/git-blame.nvim" },
 	{ "gaborvecsei/usage-tracker.nvim" },
-	{ 'nvim-telescope/telescope.nvim', tag = '0.1.5', dependencies = { 'nvim-lua/plenary.nvim' } },
+	{
+		"kylechui/nvim-surround",
+		version = "*", -- Use for stability; omit to use `main` branch for the latest features
+		event = "VeryLazy",
+		config = function()
+			require("nvim-surround").setup({
+				-- Configuration here, or leave empty to use defaults
+			})
+		end
+	},
+	{ "nvim-telescope/telescope.nvim", tag = "0.1.5", dependencies = { "nvim-lua/plenary.nvim" } },
 	{
 		"folke/which-key.nvim",
 		event = "VeryLazy",
@@ -41,30 +60,30 @@ local plugins = {
 			vim.o.timeoutlen = 300
     		end, opts = { }
 	},
-	{ 'windwp/nvim-autopairs', event = "InsertEnter", opts={} }, 
-	{ 'nvim-lualine/lualine.nvim', dependencies = { 'nvim-tree/nvim-web-devicons' }, lazy=false },
-	{ 'sudormrfbin/cheatsheet.nvim', dependencies = { 'nvim-telescope/telescope.nvim', 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim' } },
-	{'romgrk/barbar.nvim',
-	dependencies = {
-		'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status
-		'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons
+	{ "windwp/nvim-autopairs", event = "InsertEnter", opts={} }, 
+	{ "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, lazy=false },
+	{ "sudormrfbin/cheatsheet.nvim", dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/popup.nvim", "nvim-lua/plenary.nvim" } },
+	{"romgrk/barbar.nvim",
+		dependencies = {
+			"lewis6991/gitsigns.nvim", -- OPTIONAL: for git status
+			"nvim-tree/nvim-web-devicons", -- OPTIONAL: for file icons
+		},
+		init = function() vim.g.barbar_auto_setup = false end,
+		opts = { },
+		version = "^1.0.0", -- optional: only update when a new 1.x version is released
 	},
-	init = function() vim.g.barbar_auto_setup = false end,
-	opts = { },
-	version = '^1.0.0', -- optional: only update when a new 1.x version is released
-},
 }
 
 require("lazy").setup( plugins, opts)
 
-require("catppuccin").setup()
 require("mason").setup()
 require("telescope").setup()
 require("nvim-tree").setup()
+-- require("vgit").setup()
 require("lualine").setup( {
-	options = { theme = 'dracula' }
+	options = { theme = "dracula" }
 } )
-require('usage-tracker').setup({
+require("usage-tracker").setup({
     keep_eventlog_days = 14,
     cleanup_freq_days = 7,
     event_wait_period_in_sec = 5,