diff --git a/dot_config/fish/config.fish b/dot_config/fish/config.fish index 745c5a0..c67e1cb 100644 --- a/dot_config/fish/config.fish +++ b/dot_config/fish/config.fish @@ -55,6 +55,7 @@ alias editconfig "chezmoi edit --watch ~/.config/fish/config.fish; and source ~/ alias cl clear alias ll "ls -lahF --color=always" alias e "$EDITOR" +alias n nvim alias se sudoedit alias cd.. "cd ../" alias rmrf "rm -rf" diff --git a/dot_config/nvim/init.lua b/dot_config/nvim/init.lua new file mode 100644 index 0000000..55b8979 --- /dev/null +++ b/dot_config/nvim/init.lua @@ -0,0 +1 @@ +require("config.lazy") diff --git a/dot_config/nvim/lua/config/lazy.lua b/dot_config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..7d02335 --- /dev/null +++ b/dot_config/nvim/lua/config/lazy.lua @@ -0,0 +1,26 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." } + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +require("lazy").setup({ + spec = { + { import = "plugins" }, + }, + install = { colorscheme = { "habamax" } }, + checker = { enabled = true }, +}) diff --git a/dot_config/nvim/lua/plugins/base.lua b/dot_config/nvim/lua/plugins/base.lua new file mode 100644 index 0000000..a101052 --- /dev/null +++ b/dot_config/nvim/lua/plugins/base.lua @@ -0,0 +1,5 @@ +-- Base plugins and libraries + +return { + "nvim-lua/plenary.nvim" +} diff --git a/dot_config/nvim/lua/plugins/telescope.lua b/dot_config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..1a2c0ed --- /dev/null +++ b/dot_config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,23 @@ +-- Telescope, and other file picker-related plugins + +return { + "nvim-telescope/telescope.nvim", + { + "xvzc/chezmoi.nvim", + config = function() + require("chezmoi").setup { + -- Treat all files in my chezmoi source directory as source files + vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { + pattern = { os.getenv("HOME") .. "/.local/share/chezmoi/*" }, + callback = function(evt) + local bufnr = evt.buf + local edit_watch = function() + require("chezmoi.commands.__edit").watch(bufnr) + end + vim.schedule(edit_watch) + end + }) + } + end + } +}