mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-26 09:20:08 +00:00 
			
		
		
		
	docs: update readme & style
This commit is contained in:
		
					parent
					
						
							
								1c8d224775
							
						
					
				
			
			
				commit
				
					
						c2affb9945
					
				
			
		
					 4 changed files with 136 additions and 20 deletions
				
			
		
							
								
								
									
										109
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										109
									
								
								README.md
									
										
									
									
									
								
							|  | @ -1,11 +1,84 @@ | |||
| # neovim-flake | ||||
| <div align="center"><p> | ||||
|     <a href="https://github.com/NotAShelf/neovim-flake/releases/latest"> | ||||
|       <img alt="Latest release" src="https://img.shields.io/github/v/release/NotAShelf/neovim-flake?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" /> | ||||
|     </a> | ||||
|     <a href="https://github.com/NotAShelf/neovim-flake/blob/main/LICENSE"> | ||||
|       <img alt="License" src="https://img.shields.io/github/license/NotAShelf/neovim-flake?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" /> | ||||
|     </a> | ||||
|     <a href="https://github.com/NotAShelf/neovim-flake/stargazers"> | ||||
|       <img alt="Stars" src="https://img.shields.io/github/stars/NotAShelf/neovim-flake?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" /> | ||||
|     </a> | ||||
|     <a href="https://github.com/NotAShelf/neovim-flake/issues"> | ||||
|       <img alt="Issues" src="https://img.shields.io/github/issues/NotAShelf/neovim-flake?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" /> | ||||
|     </a> | ||||
|     <a href="https://github.com/NotAShelf/neovim-flake"> | ||||
|       <img alt="Repo Size" src="https://img.shields.io/github/repo-size/NotAShelf/neovim-flake?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" /> | ||||
|     </a> | ||||
| 
 | ||||
| A highly configurable nix flake for neovim, packing everything you might need to create your own neovim IDE. | ||||
| 
 | ||||
|   <p align="center"> | ||||
|     <img src="https://stars.medv.io/NotAShelf/neovim-flake.svg", title="commits"/> | ||||
|   </p> | ||||
| 
 | ||||
| An Nix wrapped IDE layer for the superior text editor, Neovim. | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| **[<kbd> <br> Install <br> </kbd>][Install]**  | ||||
| **[<kbd> <br> Configure <br> </kbd>][Configure]**  | ||||
| **[<kbd> <br> Documentation <br> </kbd>][Documentation]**  | ||||
| **[<kbd> <br> Contribute <br> </kbd>][Contribute]** | ||||
| **[<kbd> <br> FAQ <br> </kbd>][Faq]** | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| A highly configurable nix flake for Neovim, packing everything you might need to create your own neovim IDE. | ||||
| 
 | ||||
| ## Install | ||||
| 
 | ||||
| **Using `nix`** | ||||
| 
 | ||||
| The easiest way to install is to use the `nix profile` command. To install the default configuration, run: | ||||
| 
 | ||||
| ```console | ||||
| nix run github:notashelf/neovim-flake | ||||
| ``` | ||||
| The package exposes `.#nix` as the default output. You may use `.#nix`, `.#tidal` or `.#maximal` to get different configurations. | ||||
| 
 | ||||
| It is as simply as changing the target output to get a different configuration. For example, to get a configuration with `tidal` support, run: | ||||
| 
 | ||||
| ```console | ||||
| nix run github:notashelf/neovim-flake#tidal | ||||
| ``` | ||||
| 
 | ||||
| Similar instructions will apply for `nix profile install`. | ||||
| 
 | ||||
| **On NixOS** | ||||
| 
 | ||||
| NixOS users may add this repo to their flake inputs as such: | ||||
| 
 | ||||
| ```nix | ||||
| { | ||||
|   inputs = { | ||||
|     # point at this repository, you may pin specific revisions or branches while using `github:` | ||||
|     neovim-flake.url = "github:notashelf/neovim-flake"; | ||||
|      | ||||
|     # you may override our nixpkgs with your own, this will save you some cache hits and s recommended | ||||
|     nixpkgs.follows = "nixpkgs";  | ||||
|   }; | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| Then, you can use the `neovim-flake` input in your `systemPackages` or `home.packages`. | ||||
| 
 | ||||
| ## Configure | ||||
| 
 | ||||
| TODO (awaiting #1 to be merged, which implements a separate configuration file) | ||||
| 
 | ||||
| ## Documentation | ||||
| 
 | ||||
| See the [neovim-flake Manual](https://notashelf.github.io/neovim-flake/) for documentation, available options, and release notes. | ||||
| If you want to dive right into trying neovim-flake you can get a fully featured configuration with `nix` language support by running: | ||||
| See the [neovim-flake Manual](https://notashelf.github.io/neovim-flake/) for detailed documentation, available options, and release notes. | ||||
| If you want to dive right into trying **neovim-flake** you can get a fully featured configuration with `nix` language support by running: | ||||
| 
 | ||||
| ```console | ||||
| nix run github:notashelf/neovim-flake | ||||
|  | @ -19,24 +92,36 @@ You can create an issue on the [issue tracker](issues) to ask questions or repor | |||
| 
 | ||||
| ## Philosophy | ||||
| 
 | ||||
| The philosophy behind this flake configuration is to create an eaesily configurable and reproducible neovim environment. While it does sacrifice in size  | ||||
| (which I know some users will find *disagreeable*), it offers a lot of flexibiity and configurability in exchange for the large size of the flake inputs. | ||||
| The KISS (Keep it simple, stupid) principle has been abandoneed here, but you can ultimately declare a configuration that follows KISS. | ||||
| The philosophy behind this flake configuration is to create an easily configurable and reproducible Neovim environment. While it does sacrifice in size | ||||
| (which I know some users will find *disagreeable*), it offers a lot of flexibility and customizability in exchange for the large size of the flake inputs. | ||||
| The KISS (Keep it simple, stupid) principle has been abandoned here, but you can ultimately declare a configuration that follows KISS. | ||||
| For it is very easy to bring your own plugins and configurations. Whether you are a developer, writer, or live coder (see tidal cycles below!), | ||||
| quickly craft a config that suits every project's need. Think of it like a distribution of Neovim that takes advantage of pinning vim plugins and | ||||
| third party dependencies (such as tree-sitter grammars, language servers, and more). | ||||
| 
 | ||||
| One should never get a broken config when setting options. If setting multiple options results in a broken neovim, file an issue! Each plugin knows when another plugin which allows for smart configuration of keybindings and automatic setup of things like completion sources and languages. | ||||
| One should never get a broken config when setting options. If setting multiple options results in a broken Neovim, file an issue! Each plugin knows when another plugin which allows for smart configuration of keybindings and automatic setup of things like completion sources and languages. | ||||
| 
 | ||||
| ## Credits | ||||
| 
 | ||||
| This configuration is based on a few other configurations, including: | ||||
| 
 | ||||
| - @sioodmy's [dotfiles](https://github.com/sioodmy/dotfiles) | ||||
| - @wiltaylor's [neovim-flake](https://github.com/wiltaylor/neovim-flake) | ||||
| - @jordanisaacs's [neovim-flake](https://github.com/jordanisaacs/neovim-flake) | ||||
| - @gvolpe's [neovim-flake](https://github.com/gvolpe/neovim-flake) | ||||
| - [@sioodmy's](https://github.com/sioodmy) [dotfiles](https://github.com/sioodmy/dotfiles) | ||||
| - [@wiltaylor's](https://github.com/wiltaylor) [neovim-flake](https://github.com/wiltaylor/neovim-flake) | ||||
| - [@jordanisaacs's](https://github.com/jordanisaacs) [neovim-flake](https://github.com/jordanisaacs/neovim-flake) | ||||
| - [@gvolpe's](https://github.com/gvolpe) [neovim-flake](https://github.com/gvolpe/neovim-flake) | ||||
| 
 | ||||
| I am grateful for their work and inspiration. | ||||
| 
 | ||||
| ## FAQ | ||||
| 
 | ||||
| **Q**: Why is this flake so big? | ||||
| 
 | ||||
| **A**: I have sacrificed in size in order to provide a highly configurable and reproducible Neovim environment. A binary cache is provided to  | ||||
| eleminate the need to build the flake from source, but it is still a large flake. If you do not need all the features, you can use the default `nix` output | ||||
| instead of the `maximal` output. This will reduce size by a lot, but you will lose some language specific features. | ||||
| 
 | ||||
| **Q**: Will you use a plugin manager? | ||||
| 
 | ||||
| **A**: No. If you feel the need to ask that question, then you have missed the whole point of using nix and ultimately this flake. We load plugins with raw lua. | ||||
| 
 | ||||
| --- | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ The following is an example of a barebones vim configuration with the default th | |||
| [source,nix] | ||||
| ---- | ||||
| { | ||||
|   inputs.neovim-flake.url = "github:jordanisaacs/neovim-flake"; | ||||
|   inputs.neovim-flake.url = "github:notashelf/neovim-flake"; | ||||
| 
 | ||||
|   outputs = {nixpkgs, neovim-flake, ...}: let | ||||
|     system = "x86_64-linux"; | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ While you can configure neovim-flake yourself using the builder, here are a few | |||
| === Tidal Cycles | ||||
| 
 | ||||
| [source,console] | ||||
| $ nix run github:jordanisaacs/neovim-flake#tidal file.tidal | ||||
| $ nix run github:notashelf/neovim-flake#tidal file.tidal | ||||
| 
 | ||||
| Utilizing https://github.com/tidalcycles/vim-tidal[vim-tidal] and mitchmindtree's fantastic https://github.com/mitchmindtree/tidalcycles.nix[tidalcycles.nix] start playing with tidal cycles in a single command. | ||||
| 
 | ||||
|  | @ -18,7 +18,7 @@ In your tidal file, type a cycle e.g. `d1 $ s "drum"` and then press _ctrl+enter | |||
| === Nix | ||||
| 
 | ||||
| [source,console] | ||||
| $ nix run github:jordanisaacs/neovim-flake#nix test.nix | ||||
| $ nix run github:notashelf/neovim-flake#nix test.nix | ||||
| 
 | ||||
| Enables all the of neovim plugins, with language support for specifically Nix. This lets you see what a fully configured neovim setup looks like without downloading a whole bunch of language servers and associated tools. | ||||
| 
 | ||||
|  | @ -26,7 +26,7 @@ Enables all the of neovim plugins, with language support for specifically Nix. T | |||
| === Maximal | ||||
| 
 | ||||
| [source,console] | ||||
| $ nix shell github:jordanisaacs/neovim-flake#maximal test.nix | ||||
| $ nix shell github:notashelf/neovim-flake#maximal test.nix | ||||
| 
 | ||||
| It is the same fully configured neovim as with the <<sec-default-nix,Nix>> config, but with every supported language enabled. | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										31
									
								
								docs/release-notes/rl-0.2.adoc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								docs/release-notes/rl-0.2.adoc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | |||
| [[sec-release-0.2]] | ||||
| == Release 0.2 | ||||
| 
 | ||||
| Release notes for release 0.2 | ||||
| 
 | ||||
| 
 | ||||
| [[sec-release-0.1-changelog]] | ||||
| === Changelog | ||||
| 
 | ||||
| https://github.com/notashelf[notashelf]: | ||||
| 
 | ||||
| * Added minimap options under `vim.minimap`. The default will be codewindow.nvim. | ||||
| 
 | ||||
| * Removed hare language support (lsp/tree-sitter/etc). `vim.lsp.hare` is no longer defined. If you use hare and would like it added back, please file an issue. | ||||
| 
 | ||||
| * <<opt-vim.startPlugins>> & <<opt-vim.optPlugins>> are now an enum of `string` for options sourced from the flake inputs. Users can still provide vim plugin packages. | ||||
| + | ||||
| If you are contributing and adding a new plugin, add the plugin name to `availablePlugins` in https://github.com/jordanisaacs/neovim-flake/blob/20cec032bd74bc3d20ac17ce36cd84786a04fd3e/modules/lib/types-plugin.nix[types-plugin.nix]. | ||||
| 
 | ||||
| * `neovimBuilder` has been removed for configuration. Using an overlay is no longer required. See the manual for the new way to configuration. | ||||
| 
 | ||||
| * Treesitter grammars are now configurable with <<opt-vim.treesitter.grammars>>. Utilizes the nixpkgs `nvim-treesitter` plugin rather than a custom input in order to take advantage of build support of pinned versions. See https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees[discourse] for more information. Packages can be found under the `vimPlugins.nvim-treesitter.builtGrammars` namespace. | ||||
| 
 | ||||
| * <<opt-vim.configRC>> and <<opt-vim.luaConfigRC>> are now of type DAG lines. This allows for ordering of the config. Usage is the same is in home-manager's `home.activation` option. | ||||
| + | ||||
| [source,nix] | ||||
| ---- | ||||
| vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here" | ||||
| ---- | ||||
| 
 | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 NotAShelf
				NotAShelf