diff --git a/README.md b/README.md index 76e55c8..3ae3907 100644 --- a/README.md +++ b/README.md @@ -17,16 +17,14 @@ - - + + -
+ --- @@ -48,19 +46,23 @@ An Nix wrapped IDE layer for the superior text editor, Neovim. --- -A highly configurable nix flake for Neovim, packing everything you might need to create your own neovim IDE. +
-## Install +## Try it out ### Using `nix` -The easiest way to install is to use the `nix profile` command. To install the default configuration, run: +If you would like to try out the configuration before even thinking about installing it, you can 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. +to get a feel for the base configuration. The package exposes `.#nix` as the default package. 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: @@ -70,38 +72,19 @@ 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) +P.S. The `maximal` configuration is *massive* and will take a while to build. To get a feel for the configuration, use the default `nix` or `tidal` configurations. ## Documentation -See the [neovim-flake Manual](https://notashelf.github.io/neovim-flake/) for detailed documentation, available options, and release notes. +See the [neovim-flake Manual](https://notashelf.github.io/neovim-flake/) for detailed installation guide(s), configuration, 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 ``` -The documentation is scarce right now as a result of the ongoing rebase and refactor, but shall be available once more soon. +Please create an issue on the [issue tracker](issues) if you find the documentation lacking or confusing. I also appreciate any contributions to the documentation. ## Help @@ -120,6 +103,8 @@ One should never get a broken config when setting options. If setting multiple o ## Credits +### Inspiration + This configuration is based on a few other configurations, including: - [@sioodmy's](https://github.com/sioodmy) [dotfiles](https://github.com/sioodmy/dotfiles) @@ -127,18 +112,30 @@ This configuration is based on a few other configurations, including: - [@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. +I am grateful for their previous work and inspiration. + +### Contributors + +- [@fufexan](https://github.com/fufexan) - For the transition to flake-parts ## 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 +**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 try to make this flake smaller? + +**A**: Yes. As a matter of fact, I am actively working on making this flake smaller. Unfortunately the process of providing everything possible by itself makes the flake large. Best I can do is to optimize the flake as much as possible by selecting plugins that are small and fast. And the binary cache, so at least you don't have to build it from source. + **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. +**Q**: Can you add *X*? + +**A**: Maybe. Open an issue using the appropriate template and I will consider it. I do not intend to add every plugin that is in existence, but I will consider it, should it offer something useful to the flake. + ---