diff --git a/nix/home/nvim/config/lazy.nix b/nix/home/nvim/config/lazy.nix index e9233ae..21481a4 100644 --- a/nix/home/nvim/config/lazy.nix +++ b/nix/home/nvim/config/lazy.nix @@ -1,4 +1,4 @@ -{ ... }: +{ config, ... }: # lazy.nvim plugin manager setup # Plugins are defined in nvim/lua/plugins/ @@ -43,6 +43,6 @@ source = ../../../../nvim/lua/plugins; recursive = true; }; - "nvim/lazy-lock.json".source = ../../../../nvim/lazy-lock.json; + "nvim/lazy-lock.json".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dotfiles/nvim/lazy-lock.json"; }; } diff --git a/nix/home/nvim/config/options.nix b/nix/home/nvim/config/options.nix index fcf3e13..ab93952 100644 --- a/nix/home/nvim/config/options.nix +++ b/nix/home/nvim/config/options.nix @@ -1,8 +1,8 @@ -{ ... }: +{ lib, ... }: # Editor options and settings { - programs.neovim.extraLuaConfig = '' + programs.neovim.extraLuaConfig = lib.mkBefore '' vim.g.mapleader = " " vim.g.maplocalleader = " " diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 9528766..1cdde98 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,5 +1,7 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, + "alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" }, + "ascii.nvim": { "branch": "master", "commit": "70783fea66e99525221e52dce3b3489c05354181" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" }, "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, @@ -11,28 +13,29 @@ "gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" }, "highlight-undo.nvim": { "branch": "main", "commit": "ee32e12693d70e66f954d09a504a7371d110fc27" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, - "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lightline.vim": { "branch": "master", "commit": "e358557e1a9f9fc860416c8eb2e34c0404078155" }, "lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "c55bd8a8fb191e24176c206a7af1dd51ce7276a5" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "8f1a3e6eecb638817e8999aaa16ada27cd54d867" }, "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, - "molokai": { "branch": "master", "commit": "c67bdfcdb31415aa0ade7f8c003261700a885476" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-autopairs": { "branch": "master", "commit": "d9e44e54384e5b0f3536339c65484f2e41b528e3" }, + "nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" }, "nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" }, - "nvim-lspconfig": { "branch": "master", "commit": "a2bd1cf7b0446a7414aaf373cea5e4ca804c9c69" }, - "nvim-surround": { "branch": "main", "commit": "a0f5ab44268d22c8b0b19cb89fd9cabbd21e361c" }, + "nvim-lspconfig": { "branch": "master", "commit": "d20d83b3f24f5884da73a9fc92fdc47e778b8d0d" }, + "nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, - "oil.nvim": { "branch": "master", "commit": "cbcb3f997f6f261c577b943ec94e4ef55108dd95" }, + "nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" }, + "oil.nvim": { "branch": "master", "commit": "3b249b71957ee35d5adbfb21f77992809a4c4683" }, "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "previm": { "branch": "master", "commit": "4e46b0512e2d159ec5a04ba79c5f23f9597bbafd" }, "rainbow_csv": { "branch": "master", "commit": "3dbbfd7d17536aebfb80f571255548495574c32b" }, "strudel.nvim": { "branch": "main", "commit": "a6b9752b0084a20c37786b54eef2095bb31daff7" }, - "telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" }, + "telescope.nvim": { "branch": "master", "commit": "e709d31454ee6e6157f0537f861f797bd44c0bad" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, "vim-better-whitespace": { "branch": "master", "commit": "de99b55a6fe8c96a69f9376f16b1d5d627a56e81" }, "vim-closetag": { "branch": "master", "commit": "d0a562f8bdb107a50595aefe53b1a690460c3822" }, "vim-go": { "branch": "master", "commit": "dc07b9082fecd47f8ebef5f2684758e570f66377" }, diff --git a/nvim/lua/plugins/ui.lua b/nvim/lua/plugins/ui.lua index 5ffd7ce..a7ce482 100644 --- a/nvim/lua/plugins/ui.lua +++ b/nvim/lua/plugins/ui.lua @@ -1,4 +1,49 @@ return { + { + "MaximilianLloyd/ascii.nvim", + dependencies = { "MunifTanjim/nui.nvim" }, + lazy = true, + }, + { + "goolord/alpha-nvim", + event = "VimEnter", + dependencies = { "nvim-tree/nvim-web-devicons", "MaximilianLloyd/ascii.nvim" }, + config = function() + local alpha = require("alpha") + local dashboard = require("alpha.themes.dashboard") + local ascii = require("ascii") + + dashboard.section.header.val = ascii.art.text.neovim.sharp + + dashboard.section.buttons.val = { + dashboard.button("f", " Find file", ":Telescope find_files "), + dashboard.button("e", " New file", ":ene startinsert "), + dashboard.button("r", " Recent files", ":Telescope oldfiles "), + dashboard.button("g", " Find text", ":Telescope live_grep "), + dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua "), + dashboard.button("q", " Quit", ":qa"), + } + + alpha.setup(dashboard.opts) + + vim.api.nvim_create_autocmd("User", { + pattern = "LazyVimStarted", + callback = function() + local version = vim.version() + local lazy_stats = require("lazy").stats() + dashboard.section.footer.val = string.format( + "Neovim v%d.%d.%d %d plugins %.2fms", + version.major, + version.minor, + version.patch, + lazy_stats.count, + lazy_stats.startuptime + ) + pcall(vim.cmd.AlphaRedraw) + end, + }) + end, + }, { "itchyny/lightline.vim", lazy = false,