diff --git a/dotfiles/init_yeswiki_repos.sh b/dotfiles/init_yeswiki_repos.sh index 16db261..9367ddf 100644 --- a/dotfiles/init_yeswiki_repos.sh +++ b/dotfiles/init_yeswiki_repos.sh @@ -14,7 +14,7 @@ corebranch="doryphore-dev" curdir="$HOME/Developpements" #${PWD} -repos=$(curl --request GET --url "https://api.github.com/orgs/yeswiki/repos" | jq '.[].full_name' | tr -d "\"" | sort) +repos=$(curl --request GET --url "https://api.github.com/orgs/yeswiki/repos?per_page=200" | jq '.[].full_name' | tr -d "\"" | sort) # core printf "\n================ Install YesWiki core ================\n" @@ -32,14 +32,14 @@ printf "================ End install YesWiki core ============\n" printf "\n================ Install YesWiki extensions ================\n" extensionprefix="YesWiki/yeswiki-extension-" for i in $repos; do - if [[ ${i:0:26} == $extensionprefix ]]; then - dir="${i/YesWiki\//}" - shortdir="${i/"$extensionprefix"/}" - [ ! -d $curdir/$dir ] && git clone git@github.com:$i.git $curdir/$dir - [ -f $curdir/$dir/composer.json ] && cd $curdir/$dir && composer install -o - cd $curdir - ln -s $curdir/$dir $curdir/yeswiki/tools/$shortdir - fi + if [[ ${i:0:26} == $extensionprefix ]]; then + dir="${i/YesWiki\//}" + shortdir="${i/"$extensionprefix"/}" + [ ! -d $curdir/$dir ] && git clone git@github.com:$i.git $curdir/$dir + [ -f $curdir/$dir/composer.json ] && cd $curdir/$dir && composer install -o + cd $curdir + ln -s $curdir/$dir $curdir/yeswiki/tools/$shortdir + fi done printf "================ End install YesWiki extensions ============\n" @@ -47,13 +47,13 @@ printf "================ End install YesWiki extensions ============\n" printf "\n================ Install YesWiki themes ================\n" themeprefix="YesWiki/yeswiki-theme-" for i in $repos; do - if [[ ${i:0:22} == $themeprefix ]]; then - dir="${i/YesWiki\//}" - shortdir="${i/"$themeprefix"/}" - [ ! -d $curdir/$dir ] && git clone git@github.com:$i.git $curdir/$dir - cd $curdir - ln -s $curdir/$dir $curdir/yeswiki/custom/themes/$shortdir - fi + if [[ ${i:0:22} == $themeprefix ]]; then + dir="${i/YesWiki\//}" + shortdir="${i/"$themeprefix"/}" + [ ! -d $curdir/$dir ] && git clone git@github.com:$i.git $curdir/$dir + cd $curdir + ln -s $curdir/$dir $curdir/yeswiki/custom/themes/$shortdir + fi done printf "================ End install YesWiki themes ============\n" diff --git a/dotfiles/nvim/.gitignore b/dotfiles/nvim.lazy/.gitignore similarity index 100% rename from dotfiles/nvim/.gitignore rename to dotfiles/nvim.lazy/.gitignore diff --git a/dotfiles/nvim/.neoconf.json b/dotfiles/nvim.lazy/.neoconf.json similarity index 100% rename from dotfiles/nvim/.neoconf.json rename to dotfiles/nvim.lazy/.neoconf.json diff --git a/dotfiles/nvim.lazy/LICENSE b/dotfiles/nvim.lazy/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/dotfiles/nvim.lazy/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dotfiles/nvim.lazy/README.md b/dotfiles/nvim.lazy/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/dotfiles/nvim.lazy/README.md @@ -0,0 +1,4 @@ +# 💤 LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/dotfiles/nvim.lazy/init.lua b/dotfiles/nvim.lazy/init.lua new file mode 100644 index 0000000..2514f9e --- /dev/null +++ b/dotfiles/nvim.lazy/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/dotfiles/nvim/lua/config/autocmds.lua b/dotfiles/nvim.lazy/lua/config/autocmds.lua similarity index 100% rename from dotfiles/nvim/lua/config/autocmds.lua rename to dotfiles/nvim.lazy/lua/config/autocmds.lua diff --git a/dotfiles/nvim/lua/config/keymaps.lua b/dotfiles/nvim.lazy/lua/config/keymaps.lua similarity index 100% rename from dotfiles/nvim/lua/config/keymaps.lua rename to dotfiles/nvim.lazy/lua/config/keymaps.lua diff --git a/dotfiles/nvim/lua/config/lazy.lua b/dotfiles/nvim.lazy/lua/config/lazy.lua similarity index 100% rename from dotfiles/nvim/lua/config/lazy.lua rename to dotfiles/nvim.lazy/lua/config/lazy.lua diff --git a/dotfiles/nvim/lua/config/options.lua b/dotfiles/nvim.lazy/lua/config/options.lua similarity index 100% rename from dotfiles/nvim/lua/config/options.lua rename to dotfiles/nvim.lazy/lua/config/options.lua diff --git a/dotfiles/nvim/lua/plugins/disabled.lua b/dotfiles/nvim.lazy/lua/plugins/disabled.lua similarity index 100% rename from dotfiles/nvim/lua/plugins/disabled.lua rename to dotfiles/nvim.lazy/lua/plugins/disabled.lua diff --git a/dotfiles/nvim/lua/plugins/mrflos.lua b/dotfiles/nvim.lazy/lua/plugins/mrflos.lua similarity index 100% rename from dotfiles/nvim/lua/plugins/mrflos.lua rename to dotfiles/nvim.lazy/lua/plugins/mrflos.lua diff --git a/dotfiles/nvim/stylua.toml b/dotfiles/nvim.lazy/stylua.toml similarity index 100% rename from dotfiles/nvim/stylua.toml rename to dotfiles/nvim.lazy/stylua.toml diff --git a/dotfiles/nvim/.stylua.toml b/dotfiles/nvim/.stylua.toml new file mode 100644 index 0000000..ecb6dca --- /dev/null +++ b/dotfiles/nvim/.stylua.toml @@ -0,0 +1,6 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +call_parentheses = "None" diff --git a/dotfiles/nvim/LICENSE b/dotfiles/nvim/LICENSE index 261eeb9..fdddb29 100644 --- a/dotfiles/nvim/LICENSE +++ b/dotfiles/nvim/LICENSE @@ -1,201 +1,24 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +This is free and unencumbered software released into the public domain. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. - 1. Definitions. +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +For more information, please refer to diff --git a/dotfiles/nvim/README.md b/dotfiles/nvim/README.md index 185280b..dc0deaa 100644 --- a/dotfiles/nvim/README.md +++ b/dotfiles/nvim/README.md @@ -1,4 +1,9 @@ -# 💤 LazyVim +**This repo is supposed to used as config by NvChad users!** -A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). -Refer to the [documentation](https://lazyvim.github.io/installation) to get started. +- The main nvchad repo (NvChad/NvChad) is used as a plugin by this repo. +- So you just import its modules , like `require "nvchad.options" , require "nvchad.mappings"` +- So you can delete the .git from this repo ( when you clone it locally ) or fork it :) + +# Credits + +1) Lazyvim starter https://github.com/LazyVim/starter as nvchad's starter was inspired by Lazyvim's . It made a lot of things easier! diff --git a/dotfiles/nvim/init.lua b/dotfiles/nvim/init.lua index 2514f9e..4205ce0 100644 --- a/dotfiles/nvim/init.lua +++ b/dotfiles/nvim/init.lua @@ -1,2 +1,106 @@ --- bootstrap lazy.nvim, LazyVim and your plugins -require("config.lazy") +vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/" +vim.g.mapleader = " " + +-- bootstrap lazy and all plugins +local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim" + +if not vim.uv.fs_stat(lazypath) then + local repo = "https://github.com/folke/lazy.nvim.git" + vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath } +end + +vim.opt.rtp:prepend(lazypath) + +local lazy_config = require "configs.lazy" + +-- load plugins +require("lazy").setup({ + { + "NvChad/NvChad", + lazy = false, + branch = "v2.5", + import = "nvchad.plugins", + }, + + { import = "plugins" }, +}, lazy_config) + +-- load theme +dofile(vim.g.base46_cache .. "defaults") +dofile(vim.g.base46_cache .. "statusline") + +require "options" +require "nvchad.autocmds" + +vim.schedule(function() + require "mappings" +end) + +vim.api.nvim_create_autocmd({ "BufEnter", "QuitPre" }, { + nested = false, + callback = function(e) + local tree = require("nvim-tree.api").tree + + -- Nothing to do if tree is not opened + if not tree.is_visible() then + return + end + + -- How many focusable windows do we have? (excluding e.g. incline status window) + local winCount = 0 + for _, winId in ipairs(vim.api.nvim_list_wins()) do + if vim.api.nvim_win_get_config(winId).focusable then + winCount = winCount + 1 + end + end + + -- We want to quit and only one window besides tree is left + if e.event == "QuitPre" and winCount == 2 then + vim.api.nvim_cmd({ cmd = "qall" }, {}) + end + + -- :bd was probably issued an only tree window is left + -- Behave as if tree was closed (see `:h :bd`) + if e.event == "BufEnter" and winCount == 1 then + -- Required to avoid "Vim:E444: Cannot close last window" + vim.defer_fn(function() + -- close nvim-tree: will go to the last buffer used before closing + tree.toggle { find_file = true, focus = true } + -- re-open nivm-tree + tree.toggle { find_file = true, focus = false } + end, 10) + end + end, +}) + +require("nvim-tree").setup { + actions = { + open_file = { + quit_on_open = true, + }, + }, +} + +local autocmd = vim.api.nvim_create_autocmd + +local function open_nvim_tree(data) + -- buffer is a directory + local directory = vim.fn.isdirectory(data.file) == 1 + + -- buffer is a [No Name] + local no_name = data.file == "" and vim.bo[data.buf].buftype == "" + + if not directory and not no_name then + return + end + + if directory then + -- change to the directory + vim.cmd.cd(data.file) + end + + -- open the tree + require("nvim-tree.api").tree.open() +end + +autocmd({ "VimEnter" }, { callback = open_nvim_tree }) diff --git a/dotfiles/nvim/lazy-lock.json b/dotfiles/nvim/lazy-lock.json new file mode 100644 index 0000000..66dee1f --- /dev/null +++ b/dotfiles/nvim/lazy-lock.json @@ -0,0 +1,30 @@ +{ + "LuaSnip": { "branch": "master", "commit": "e808bee352d1a6fcf902ca1a71cee76e60e24071" }, + "NvChad": { "branch": "v2.5", "commit": "b83a949d9e883b6ab98070f224535f1018174a5d" }, + "base46": { "branch": "v2.5", "commit": "d5a768e9a8849a36c6cfc0c7134b05cb7584c7af" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "conform.nvim": { "branch": "master", "commit": "1a99fdc1d3aa9ccdf3021e67982a679a8c5c740c" }, + "friendly-snippets": { "branch": "main", "commit": "00ba9dd3df89509f95437b8d595553707c46d5ea" }, + "gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" }, + "indent-blankline.nvim": { "branch": "master", "commit": "2e57e1bbda970317dce4b7878ccf9a831dc7067d" }, + "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, + "lazygit.nvim": { "branch": "main", "commit": "56760339a81cd1540d5a72fd9d93010a2677b55d" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "menu": { "branch": "main", "commit": "205b3de60bbd1dfa73fd12b04530743cd0e70b22" }, + "minty": { "branch": "main", "commit": "8809b2c7c2edbeb3fa9c3b05bd2e89934d54f526" }, + "nvim-autopairs": { "branch": "master", "commit": "ee297f215e95a60b01fde33275cc3c820eddeebe" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-lspconfig": { "branch": "master", "commit": "1c2595e38da319a1a58c94f58afe6fe6fe02e292" }, + "nvim-tree.lua": { "branch": "master", "commit": "c9104a5d079db5a158c9562c54689df27d52dccc" }, + "nvim-treesitter": { "branch": "master", "commit": "cc2c11c403a9143827501223b4ee64432dcaf246" }, + "nvim-web-devicons": { "branch": "master", "commit": "6b53401918a9033a41159d012160c5fb5eb249ae" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "telescope.nvim": { "branch": "master", "commit": "eae0d8fbde590b0eaa2f9481948cd6fd7dd21656" }, + "ui": { "branch": "v3.0", "commit": "25868b16b64cb842a28dd9ae002fa6858284bef8" }, + "volt": { "branch": "main", "commit": "ce1e55d52d86e33f340a20b45701b434cc684c15" }, + "which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" } +} diff --git a/dotfiles/nvim/lua/chadrc.lua b/dotfiles/nvim/lua/chadrc.lua new file mode 100644 index 0000000..9ed0ffc --- /dev/null +++ b/dotfiles/nvim/lua/chadrc.lua @@ -0,0 +1,21 @@ +-- This file needs to have same structure as nvconfig.lua +-- https://github.com/NvChad/ui/blob/v2.5/lua/nvconfig.lua +-- Please read that file to know all available options :( + +---@type ChadrcConfig +local M = {} + +M.base46 = { + theme = "rosepine", +} + +M.ui = { + tabufline = { + enabled = false, + }, +} + +M.nvdash = { + load_on_startup = true, +} +return M diff --git a/dotfiles/nvim/lua/configs/conform.lua b/dotfiles/nvim/lua/configs/conform.lua new file mode 100644 index 0000000..2f3a800 --- /dev/null +++ b/dotfiles/nvim/lua/configs/conform.lua @@ -0,0 +1,15 @@ +local options = { + formatters_by_ft = { + lua = { "stylua" }, + css = { "prettier" }, + html = { "prettier" }, + js = { "prettier" }, + }, + + format_on_save = { + timeout_ms = 50, + lsp_fallback = true, + }, +} + +return options diff --git a/dotfiles/nvim/lua/configs/lazy.lua b/dotfiles/nvim/lua/configs/lazy.lua new file mode 100644 index 0000000..cd170bd --- /dev/null +++ b/dotfiles/nvim/lua/configs/lazy.lua @@ -0,0 +1,47 @@ +return { + defaults = { lazy = true }, + install = { colorscheme = { "nvchad" } }, + + ui = { + icons = { + ft = "", + lazy = "󰂠 ", + loaded = "", + not_loaded = "", + }, + }, + + performance = { + rtp = { + disabled_plugins = { + "2html_plugin", + "tohtml", + "getscript", + "getscriptPlugin", + "gzip", + "logipat", + "netrw", + "netrwPlugin", + "netrwSettings", + "netrwFileHandlers", + "matchit", + "tar", + "tarPlugin", + "rrhelper", + "spellfile_plugin", + "vimball", + "vimballPlugin", + "zip", + "zipPlugin", + "tutor", + "rplugin", + "syntax", + "synmenu", + "optwin", + "compiler", + "bugreport", + "ftplugin", + }, + }, + }, +} diff --git a/dotfiles/nvim/lua/configs/lspconfig.lua b/dotfiles/nvim/lua/configs/lspconfig.lua new file mode 100644 index 0000000..478df01 --- /dev/null +++ b/dotfiles/nvim/lua/configs/lspconfig.lua @@ -0,0 +1,24 @@ +-- load defaults i.e lua_lsp +require("nvchad.configs.lspconfig").defaults() + +local lspconfig = require "lspconfig" + +-- EXAMPLE +local servers = { "html", "cssls" } +local nvlsp = require "nvchad.configs.lspconfig" + +-- lsps with default config +for _, lsp in ipairs(servers) do + lspconfig[lsp].setup { + on_attach = nvlsp.on_attach, + on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + } +end + +-- configuring single server, example: typescript +-- lspconfig.ts_ls.setup { +-- on_attach = nvlsp.on_attach, +-- on_init = nvlsp.on_init, +-- capabilities = nvlsp.capabilities, +-- } diff --git a/dotfiles/nvim/lua/mappings.lua b/dotfiles/nvim/lua/mappings.lua new file mode 100644 index 0000000..1ccfad2 --- /dev/null +++ b/dotfiles/nvim/lua/mappings.lua @@ -0,0 +1,57 @@ +require "nvchad.mappings" + +-- add yours here + +local map = vim.keymap.set + +map("n", ";", ":", { desc = "CMD enter command mode" }) +map("i", "jk", "") + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(1) +end, { desc = "Harpoon file 1" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(2) +end, { desc = "Harpoon file 2" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(3) +end, { desc = "Harpoon file 3" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(4) +end, { desc = "Harpoon file 4" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(5) +end, { desc = "Harpoon file 5" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(6) +end, { desc = "Harpoon file 6" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(7) +end, { desc = "Harpoon file 7" }) + +map({ "i", "x", "n", "s" }, "", function() + require("harpoon"):list():select(8) +end, { desc = "Harpoon file 8" }) + +map({ "i", "x", "n", "s" }, "/", "Telescope live_grep", { desc = "telescope live grep" }) +map( + { "i", "x", "n", "s" }, + "", + "Telescope find_files follow=true hidden=true", + { desc = "telescope find all files" } +) +map({ "i", "x", "n", "s" }, ",", "Telescope buffers", { desc = "telescope find buffers" }) + +-- Move Lines +map("n", "", "m .+1==", { desc = "Move Down" }) +map("n", "", "m .-2==", { desc = "Move Up" }) +map("i", "", "m .+1==gi", { desc = "Move Down" }) +map("i", "", "m .-2==gi", { desc = "Move Up" }) +map("v", "", ":m '>+1gv=gv", { desc = "Move Down" }) +map("v", "", ":m '<-2gv=gv", { desc = "Move Up" }) diff --git a/dotfiles/nvim/lua/options.lua b/dotfiles/nvim/lua/options.lua new file mode 100644 index 0000000..7511a8b --- /dev/null +++ b/dotfiles/nvim/lua/options.lua @@ -0,0 +1,12 @@ +require "nvchad.options" + +-- add yours here! + +local o = vim.o +o.cursorlineopt ='both' -- to enable cursorline +o.scrolloff = 9 +o.wrap = true +o.clipboard = "unnamedplus" +o.list = false +o.relativenumber = true + diff --git a/dotfiles/nvim/lua/plugins/init.lua b/dotfiles/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..8e4195a --- /dev/null +++ b/dotfiles/nvim/lua/plugins/init.lua @@ -0,0 +1,38 @@ +return { + { + "stevearc/conform.nvim", + event = "BufWritePre", + opts = require "configs.conform", + }, + + { + "neovim/nvim-lspconfig", + config = function() + require "configs.lspconfig" + end, + }, + + { + "kdheepak/lazygit.nvim", + lazy = true, + cmd = { + "LazyGit", + "LazyGitConfig", + "LazyGitCurrentFile", + "LazyGitFilter", + "LazyGitFilterCurrentFile", + }, + keys = { + { "gg", "LazyGit", desc = "LazyGit" }, + }, + }, + -- { + -- "nvim-treesitter/nvim-treesitter", + -- opts = { + -- ensure_installed = { + -- "vim", "lua", "vimdoc", + -- "html", "css" + -- }, + -- }, + -- }, +}