mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 11:02:37 +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 | ## Documentation | ||||||
| 
 | 
 | ||||||
| See the [neovim-flake Manual](https://notashelf.github.io/neovim-flake/) for documentation, available options, and release notes. | 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: | If you want to dive right into trying **neovim-flake** you can get a fully featured configuration with `nix` language support by running: | ||||||
| 
 | 
 | ||||||
| ```console | ```console | ||||||
| nix run github:notashelf/neovim-flake | 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 | ## Philosophy | ||||||
| 
 | 
 | ||||||
| The philosophy behind this flake configuration is to create an eaesily configurable and reproducible neovim environment. While it does sacrifice in size  | 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 flexibiity and configurability in exchange for the large size of the flake inputs. | (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 abandoneed here, but you can ultimately declare a configuration that follows KISS. | 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!), | 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 | 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). | 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 | ## Credits | ||||||
| 
 | 
 | ||||||
| This configuration is based on a few other configurations, including: | This configuration is based on a few other configurations, including: | ||||||
| 
 | 
 | ||||||
| - @sioodmy's [dotfiles](https://github.com/sioodmy/dotfiles) | - [@sioodmy's](https://github.com/sioodmy) [dotfiles](https://github.com/sioodmy/dotfiles) | ||||||
| - @wiltaylor's [neovim-flake](https://github.com/wiltaylor/neovim-flake) | - [@wiltaylor's](https://github.com/wiltaylor) [neovim-flake](https://github.com/wiltaylor/neovim-flake) | ||||||
| - @jordanisaacs's [neovim-flake](https://github.com/jordanisaacs/neovim-flake) | - [@jordanisaacs's](https://github.com/jordanisaacs) [neovim-flake](https://github.com/jordanisaacs/neovim-flake) | ||||||
| - @gvolpe's [neovim-flake](https://github.com/gvolpe/neovim-flake) | - [@gvolpe's](https://github.com/gvolpe) [neovim-flake](https://github.com/gvolpe/neovim-flake) | ||||||
| 
 | 
 | ||||||
| I am grateful for their work and inspiration. | 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] | [source,nix] | ||||||
| ---- | ---- | ||||||
| { | { | ||||||
|   inputs.neovim-flake.url = "github:jordanisaacs/neovim-flake"; |   inputs.neovim-flake.url = "github:notashelf/neovim-flake"; | ||||||
| 
 | 
 | ||||||
|   outputs = {nixpkgs, neovim-flake, ...}: let |   outputs = {nixpkgs, neovim-flake, ...}: let | ||||||
|     system = "x86_64-linux"; |     system = "x86_64-linux"; | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ While you can configure neovim-flake yourself using the builder, here are a few | ||||||
| === Tidal Cycles | === Tidal Cycles | ||||||
| 
 | 
 | ||||||
| [source,console] | [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. | 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 | === Nix | ||||||
| 
 | 
 | ||||||
| [source,console] | [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. | 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 | === Maximal | ||||||
| 
 | 
 | ||||||
| [source,console] | [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. | 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