diff --git a/.editorconfig b/.editorconfig index c92fdf7f..43456223 100644 --- a/.editorconfig +++ b/.editorconfig @@ -14,7 +14,7 @@ indent_style = space indent_size = 2 trim_trailing_whitespace = false -[*.{js,json,nix,yml,yaml}] +[*.{js,nix,yml,yaml}] indent_style = space indent_size = 2 tab_width = 2 diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md index 66fe9c0f..b2a26919 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -7,17 +7,14 @@ or dependency in this section. If your pull request aims to fix an open issue or a please bug, please also link the relevant issue below this line. You may attach an issue to your pull request with `Fixes #` outside this comment, and it will be closed when your pull request is merged. - -A developer package template is provided in flake/develop.nix. If working on a module, you may use -it to test your changes with minimal dependency changes. --> ## Sanity Checking --- diff --git a/.github/README.md b/.github/README.md index 01395211..9a059419 100644 --- a/.github/README.md +++ b/.github/README.md @@ -50,7 +50,6 @@ [Contribute]: #contributing [FAQ]: #frequently-asked-questions [Credits]: #credits -[License]: #license **[
 Features
][Features]** **[
 Get Started 
][Get Started]** @@ -68,10 +67,6 @@ [standalone]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-installation [NixOS module]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-nixos [Home-Manager module]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-hm -[release notes]: https://notashelf.github.io/nvf/release-notes.html -[discussions tab]: https://github.com/notashelf/nvf/discussions -[FAQ section]: #frequently-asked-questions -[DAG]: https://en.wikipedia.org/wiki/Directed_acyclic_graph - **Simple**: One language to rule them all! Use Nix to configure everything, with optional Lua support for robust configurability! @@ -84,31 +79,11 @@ customizable through the Nix module system. - Not comfortable with a full-nix config or want to bring your Lua config? You can do just that, no unnecessary restrictions. - - Lazyloading 💤? We got it! Lazyload both internal and external plugins at - will. - - nvf allows _ordering configuration bits_ using [DAG] (_Directed acyclic - graph_)s. It has never been easier to construct an editor configuration - deterministically! - - nvf exposes everything you need to avoid a vendor lock-in. Which means you - can add new modules, plugins and so on without relying on us adding a module - for them! Though, of course, feel free to request them. - - Use plugins from anywhere. Inputs, npins, nixpkgs... You name it. - - Add your own modules, with ease. It's all built-in! + - Lazyloading? We got it! Lazyload both internal and external plugins at will. - **Well-documented**: Documentation is priority. You will _never_ face undocumented, obscure behaviour. - - Changes, breaking or otherwise, will be communicated in the [release notes] - - Refer to the [FAQ section] for answers to common questions. - - Your question not there? Head to the to the [discussions tab]! - **Idiomatic**: nvf does things ✨ _the right way_ ✨ - the codebase is, and will, remain maintainable for myself and any contributors. -- **Community-Led**: we would like nvf to be fully capable of accomplishing what - you really want it to do. If you have a use case that is not made possible by - nvf, please open an issue (or a pull request!) - - Your feedback is more than welcome! Feedback is what _drives_ nvf forward. - If you have anything to say, or ask, please let us know. - - Pull requests are _always_ welcome. If you think the project can benefit - from something you did locally, but are not quite sure how to upstream, - please feel free to contact us! We'll help you get it done. ## Get Started @@ -198,49 +173,36 @@ fix. [list of open pull requests]: https://github.com/NotAShelf/nvf/pulls **Q**: What platforms are supported? - -**A**: nvf actively supports **Linux and Darwin** platforms using standalone -Nix, NixOS or Home-Manager. Please take a look at the [nvf manual] for available -installation instructions. +
**A**: nvf actively supports **Linux and Darwin** platforms using +standalone Nix, NixOS or Home-Manager. Please take a look at the [nvf manual] +for available installation instructions. **Q**: Can you add _X_? - -**A**: Maybe! It is not one of our goals to support each and every Neovim +
**A**: Maybe! It is not one of our goals to support each and every Neovim plugin, however, I am always open to new modules and plugin setup additions to **nvf**. Use the appropriate [issue template] and I will consider a module addition. As mentioned before, pull requests to add new features are also welcome. **Q**: A plugin I need is not available in **nvf**. What to do? - -**A**: **nvf** exposes several APIs for you to be able to add your own plugin -configurations! Please see the documentation on how you may do this. +
**A**: **nvf** exposes several APIs for you to be able to add your own +plugin configurations! Please see the documentation on how you may do this. **Q**: Main branch is awfully silent, is the project dead? - -**A**: No! Sometimes we branch out (e.g. `v0.6`) to avoid breaking userspace and -work in a separate branch until we make sure the new additions are implemented -in the most comfortable way possible for the end user. If you have not noticed -any activity on the main branch, consider taking a look at the +
**A**: No! Sometimes we branch out (e.g. `v0.6`) to avoid breaking +userspace and work in a separate branch until we make sure the new additions are +implemented in the most comfortable way possible for the end user. If you have +not noticed any activity on the main branch, consider taking a look at the [list of branches] or the [list of open pull requests]. You may also consider _testing_ those release branches to get access to new features ahead of time and better prepare to breaking changes. **Q**: Will you support non-flake installations? - -**A**: Quite possibly. **nvf** started as "neovim-flake", which does mean it is -and will remain flakes-first but we might consider non-flakes compatibility. -Though keep in mind that **nvf** under non-flake environments would lose -customizability of plugin inputs, which is one of our primary features. - -**Q**: I prefer working with Lua, can I use nvf as a plugin manager while I use -an imperative path (e.g., `~/.config/nvim`) for my Neovim configuration instead -of a configuration generated from Nix? - -**A**: Yes! Add `"~/.config.nvim"` to `vim.additionalRuntimePaths = [ ... ]` and -any plugins you want to load to `vim.startPlugins`. This will load your -configuration from `~/.config/nvim`. You may still use `vim.*` to modify -Neovim's behaviour with Nix. +
**A**: Quite possibly. **nvf** started as "neovim-flake", which does mean +it is and will remain flakes-first but we might consider non-flakes +compatibility. Though keep in mind that **nvf** under non-flake environments +would lose customizability of plugin inputs, which is one of our primary +features. ## Credits @@ -283,7 +245,7 @@ and everyone who has submitted issues or pull requests! ### Inspiration -This configuration borrows from, and is based on a few other configurations, +This configuration borrows from and is based on a few other configurations, including: - [@jordanisaacs's](https://github.com/jordanisaacs) diff --git a/configuration.nix b/configuration.nix index 15138a2b..594e292f 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,7 +1,6 @@ # This is the sample configuration for nvf, aiming to give you a feel of the default options -# while certain plugins are enabled. While it may partially act as one, this is *not* quite -# an overview of nvf's module options. To find a complete and curated list of nvf module -# options, examples, instruction tutorials and more; please visit the online manual. +# while certain plugins are enabled. While it may act as one, this is not an overview of nvf's +# module options. To find a complete overview of nvf's options and examples, visit the manual. # https://notashelf.github.io/nvf/options.html isMaximal: { config.vim = { diff --git a/docs/manual.nix b/docs/manual.nix index 50a5dab4..4becdf2d 100644 --- a/docs/manual.nix +++ b/docs/manual.nix @@ -102,7 +102,7 @@ in --script script/anchor-use.js \ --script script/anchor-min.js \ --script script/search.js \ - --toc-depth 1 \ + --toc-depth 2 \ --section-toc-depth 1 \ manual.md \ "$dest/index.xhtml" diff --git a/docs/manual/options.md b/docs/manual/options.md index 61282dfa..3b70484f 100644 --- a/docs/manual/options.md +++ b/docs/manual/options.md @@ -1,13 +1,9 @@ -# nvf Configuration Options {#ch-options} +# Neovim Flake Configuration Options {#ch-options} Below are the module options provided by nvf, in no particular order. Most options will include useful comments, warnings or setup tips on how a module option is meant to be used as well as examples in complex cases. -An offline version of this page is bundled with nvf as a part of the manpages -which you can access with `man 5 nvf`. Please us know if you believe any of the -options below are missing useful examples. -