Skip to content

Commit fde2988

Browse files
authored
Merge pull request #231 from NotAShelf/v0.6
v0.6
2 parents eb76f5f + 56a8476 commit fde2988

File tree

414 files changed

+12495
-8392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

414 files changed

+12495
-8392
lines changed

.github/README.md

Lines changed: 77 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,40 @@
11
<div align="center">
2-
<img src="../assets/neovim-flake-logo-work.svg" alt="neovim-flake Logo" width="200">
2+
<img src="assets/nvf-logo-work.svg" alt="nvf Logo" width="200">
33
</div>
4-
5-
<h1 align="center">❄️ neovim-flake</h1>
6-
7-
<div align="center">
8-
<a>
9-
A highly modular, configurable, extensible and easy to use Neovim configuration wrapper written in Nix. Designed for flexibility and ease of use and with code quality in mind.
10-
</a>
11-
</div>
12-
<br/>
13-
4+
<h1 align="center">❄️ nvf</h1>
145
<div align="center">
156
<p>
16-
<a href="https://github.com/NotAShelf/neovim-flake/releases/latest">
17-
<img alt="Latest release" src="https://img.shields.io/github/v/release/NotAShelf/neovim-flake?style=for-the-badge&logo=nixos&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" />
7+
<a href="https://github.com/NotAShelf/nvf/releases/latest">
8+
<img alt="Latest release" src="https://img.shields.io/github/v/release/NotAShelf/nvf?style=for-the-badge&logo=nixos&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41" />
189
</a>
19-
<a href="https://github.com/NotAShelf/neovim-flake/pulse">
20-
<img alt="Last commit" src="https://img.shields.io/github/last-commit/NotAShelf/neovim-flake?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
10+
<a href="https://github.com/NotAShelf/nvf/pulse">
11+
<img alt="Last commit" src="https://img.shields.io/github/last-commit/NotAShelf/nvf?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
2112
</a>
22-
<a href="https://github.com/NotAShelf/neovim-flake/blob/main/LICENSE">
23-
<img alt="License" src="https://img.shields.io/github/license/NotAShelf/neovim-flake?style=for-the-badge&logo=nixos&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
13+
<a href="https://github.com/NotAShelf/nvf/blob/main/LICENSE">
14+
<img alt="License" src="https://img.shields.io/github/license/NotAShelf/nvf?style=for-the-badge&logo=nixos&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
2415
</a>
25-
<a href="https://github.com/NotAShelf/neovim-flake/stargazers">
26-
<img alt="Stars" src="https://img.shields.io/github/stars/NotAShelf/neovim-flake?style=for-the-badge&logo=nixos&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
16+
<a href="https://github.com/NotAShelf/nvf/stargazers">
17+
<img alt="Stars" src="https://img.shields.io/github/stars/NotAShelf/nvf?style=for-the-badge&logo=nixos&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
2718
</a>
28-
<a href="https://github.com/NotAShelf/neovim-flake/issues">
29-
<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" />
19+
<a href="https://github.com/NotAShelf/nvf/issues">
20+
<img alt="Issues" src="https://img.shields.io/github/issues/NotAShelf/nvf?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
3021
</a>
31-
<a href="https://github.com/NotAShelf/neovim-flake">
32-
<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" />
22+
<a href="https://github.com/NotAShelf/nvf">
23+
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/NotAShelf/nvf?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
3324
</a>
3425
</p>
3526

3627
<p align="center">
37-
<img src="https://stars.medv.io/NotAShelf/neovim-flake.svg", title="stars"/>
28+
<img src="https://stars.medv.io/NotAShelf/nvf.svg", title="stars"/>
3829
</p>
30+
31+
<div align="center">
32+
<a>
33+
A highly modular, configurable, extensible and easy to use Neovim configuration
34+
framework in Nix. Designed for flexibility and ease of use, this flake
35+
allows you to easily configure your Neovim instance with a few lines of
36+
Nix code.
37+
</a>
3938
</div>
4039
<br/>
4140

@@ -72,109 +71,81 @@
7271

7372
### Using `nix` CLI
7473

75-
If you would like to try out the configuration before even thinking about installing it, you can run the following command
74+
If you would like to try out the configuration before even thinking about
75+
installing it, you can run the following command
7676

7777
```console
78-
nix run github:notashelf/neovim-flake
78+
nix run github:notashelf/nvf
7979
```
8080

81-
This will get you a feel for the base configuration and UI design. The flake exposes `#nix` as the default package, providing minimal language support and various
82-
utilities.You may also use `#nix`, `#tidal` or `#maximal` to get try out different configurations.
81+
This will get you a feel for the base configuration and UI design.
82+
The flake exposes `#nix` as the default package, providing minimal
83+
language support and various utilities.You may also use `#nix`,
84+
`#tidal` or `#maximal` to get try out different configurations.
8385

84-
It is as simple as changing the target output to get a different configuration. For example, to get a configuration with `tidal` support, run:
86+
It is as simple as changing the target output to get a different
87+
configuration. For example, to get a configuration with `tidal` support, run:
8588

8689
```console
87-
nix run github:notashelf/neovim-flake#tidal
90+
nix run github:notashelf/nvf#tidal
8891
```
8992

90-
Similar instructions will apply for `nix profile install`. However, you are recommended to instead use the module system as described in the manual.
93+
Similar instructions will apply for `nix profile install`. However, you are
94+
recommended to instead use the module system as described in the manual.
9195

9296
> [!NOTE]
9397
> The `maximal` configuration is _massive_ and will take a while to build.
94-
> To get a feel for the configuration, use the default `nix` or `tidal` configurations.
95-
> Should you choose to try out the `maximal` configuration, using the binary cache as described
96-
> in the manual is _strongly_ recommended.
97-
98-
### Docker
99-
100-
As of version 0.5, an image for the `nix` output is published to Dockerhub and GitHub packages with each tagged release. If you do not have Docker installed
101-
on your system, you may run neovim within a container using your favorite tool. You are still recommended to use `nix` instead of Docker.
102-
103-
The following command will open the current directory in neovim with necessary tools bootstrapped.
104-
105-
```console
106-
docker run -v `pwd`:/home/neovim/demo --rm -it notashelf/neovim-flake:latest
107-
```
108-
109-
The available registeres are `ghcr.io` and `dockerhub` for the time being. Adjust to your liking.
98+
> To get a feel for the configuration, use the default `nix` or `tidal`
99+
> configurations. Should you choose to try out the `maximal` configuration,
100+
> using the binary cache as described in the manual is _strongly_ recommended.
110101
111102
## Documentation
112103

113-
See the [neovim-flake Manual](https://notashelf.github.io/neovim-flake/) for detailed installation guides, configurations, available options, release notes
114-
and more.
104+
See the [**nvf** Manual](https://notashelf.github.io/nvf/) for
105+
detailed installation guides, configurations, available options, release notes
106+
and more. Tips for installing userspace plugins is also contained in the
107+
documentation.
115108

116-
If you want to dive right into trying **neovim-flake** you can get a fully featured configuration with `nix`
117-
language support by running:
109+
If you want to dive right into trying **nvf** you can get a fully
110+
featured configuration with `nix` language support by running:
118111

119112
```console
120-
nix run github:notashelf/neovim-flake
113+
nix run github:notashelf/nvf#nix
121114
```
122115

123-
Please create an issue on the [issue tracker](../../../issues) if you find the documentation lacking or confusing.
124-
I also appreciate any contributions to the documentation.
116+
Please create an issue on the [issue tracker](../../../issues) if you find
117+
the documentation lacking or confusing. I also appreciate any contributions
118+
to the documentation.
125119

126120
## Help
127121

128-
You can create an issue on the [issue tracker](../../../issues) to ask questions or report bugs.
129-
I am not yet on spaces like matrix or IRC, so please use the issue tracker for now.
122+
You can create an issue on the [issue tracker](../../../issues) to ask questions
123+
or report bugs. I am not yet on spaces like matrix or IRC, so please use the issue
124+
tracker for now.
130125

131126
## Contributing
132127

133-
I am always looking for new ways to help improve this flake. If you would like to contribute, please read
134-
the [contributing guide](CONTRIBUTING.md) before submitting a pull request. You can also create an
135-
issue on the [issue tracker](../../../issues) before submitting a pull request if you would like to discuss
136-
a feature or bug fix.
137-
138-
## Philosophy
139-
140-
The philosophy behind this flake configuration is to create an easily configurable and reproducible Neovim environment.
141-
While it does sacrifice in size (which I know some users will find _disagreeable_), it offers a lot of flexibility and customizability in
142-
exchange for the large size of the flake inputs. The "KISS" (Keep it simple, stupid) principle has mostly been abandoned here, however, you _can_
143-
ultimately leverage the flexibility of this flake to declare a configuration that follows KISS principles, as it is very easy to bring your
144-
own plugins and configurations from non-nix. What this flake is meant to be does eventually fall into your hands. Whether you are a
145-
developer, writer, or live coder, you can quickly craft a config that suits every project's need. Think of it like a distribution of Neovim that you have
146-
full control over. A distribution that takes advantage of pinning vim plugins and third party dependencies (such as tree-sitter grammars, language servers, and more).
147-
148-
One should never get a broken config when setting options. If setting multiple options results in a broken Neovim, file an issue!
149-
Each plugin knows when another plugin which allows for smart configuration of keybindings and automatic setup of things
150-
like completion sources and languages.
128+
I am always looking for new ways to help improve this flake. If you would like
129+
to contribute, please read the [contributing guide](CONTRIBUTING.md) before
130+
submitting a pull request. You can also create an issue on the
131+
[issue tracker](../../../issues) before submitting a pull request if you would
132+
like to discuss a feature or bug fix.
151133

152134
## FAQ
153135

154-
**Q**: Why is this flake so big?
155-
<br/>
156-
**A**: I have sacrificed in size in order to provide a highly configurable and reproducible Neovim environment. A binary cache is provided to
157-
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
158-
instead of the `maximal` output. This will reduce size by a lot, but you will lose some language specific features.
159-
<br/><br/>
160-
161-
**Q**: Will you try to make this flake smaller?
136+
**Q**: Can you add _X_?
162137
<br/>
163-
**A**: Yes. As a matter of fact, I am actively working on making this flake smaller. Unfortunately the process of providing everything
164-
possible by itself makes the flake large. Best I can do is to optimize the flake as much as possible by selecting plugins that
165-
are small and fast. And the binary cache, so at least you don't have to build it from source.
166-
<br/><br/>
138+
**A**: Maybe! It is not one of our goals to support each and every Neovim
139+
plugin, however, I am always open to new modules and plugin setup additions
140+
to **nvf**. Use the [appropritate issue
141+
template](https://github.com/NotAShelf/nvf/issues/new/choose) and I will
142+
consider a module addition.
167143

168-
**Q**: Will you use a plugin manager/language server installer?
144+
**Q**: A plugin I need is not available in **nvf**. What to do?
169145
<br/>
170-
**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.
171-
The whole reason we use nix is to be able to handle EVERYTHING declaratively, well including the LSP and plugin installations.
172-
<br/><br/>
173-
174-
**Q**: Can you add _X_?
175-
<br/>
176-
**A**: Maybe. Open an issue using the appropriate template and I will consider it. I do not intend to
177-
add _every plugin that is in existence_, but I will consider it, should it offer something useful to the flake.
146+
**A**: **nvf** exposes several APIs for you to be able to add your own
147+
plugin configurations! Please see the documentation on how you may do
148+
this.
178149

179150
## Credits
180151

@@ -186,23 +157,31 @@ Special thanks to
186157
- [@FlafyDev](https://github.com/FlafyDev) - For getting the home-manager to work
187158
- [@n3oney](https://github.com/n3oney) - For making custom keybinds finally possible
188159
- [@horriblename](https://github.com/horriblename) - For actively implementing planned features and quality of life updates
189-
- [@Yavko](https://github.com/Yavko) - For the amazing neovim-flake logo
160+
- [@Yavko](https://github.com/Yavko) - For the amazing **nvf** logo
190161
- [@FrothyMarrow](https://github.com/FrothyMarrow) - For seeing mistakes that I could not
191162

192163
and everyone who has submitted issues or pull requests!
193164

194165
### Inspiration
195166

196-
This configuration borrows from and is based on a few other configurations, including:
167+
This configuration borrows from and is based on a few other configurations,
168+
including:
197169

198170
- [@jordanisaacs's](https://github.com/jordanisaacs) [neovim-flake](https://github.com/jordanisaacs/neovim-flake) that this flake is originally based on.
199171
- [@sioodmy's](https://github.com/sioodmy) [dotfiles](https://github.com/sioodmy/dotfiles) that inspired the design choices.
200172
- [@wiltaylor's](https://github.com/wiltaylor) [neovim-flake](https://github.com/wiltaylor/neovim-flake) for plugin and design ideas.
201173
- [@gvolpe's](https://github.com/gvolpe) [neovim-flake](https://github.com/gvolpe/neovim-flake) for plugin, design and nix concepts.
202174

203-
I am grateful for their previous work and inspiration, and I wholeheartedly recommend checking their work out.
175+
I am grateful for their previous work and inspiration, and I wholeheartedly
176+
recommend checking their work out.
204177
<br/>
205178

179+
## License
180+
181+
Following the [original neovim-flake](https://github.com/jordanisaacs/neovim-flake)
182+
**nvf** has been made available under the **MIT License**. However, all assets
183+
are published under the [CC BY License].
184+
206185
---
207186

208187
<div align="right">

0 commit comments

Comments
 (0)