Skip to content

Commit

Permalink
Merge branch 'main' into live-docs-preview
Browse files Browse the repository at this point in the history
  • Loading branch information
NotAShelf authored Jan 10, 2025
2 parents fbe0d14 + c8dbcde commit 15ee6e0
Show file tree
Hide file tree
Showing 40 changed files with 526 additions and 281 deletions.
60 changes: 36 additions & 24 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,28 +206,40 @@ features.

## Credits

### Co-Maintainers

Alongside myself, nvf is developed by those talented folk:

- [**@horriblename**](https://github.com/horriblename)
([Liberapay](https://liberapay.com/horriblename/))- For actively implementing
planned features and quality of life updates.
- [**@Diniamo**](https://github.com/Diniamo)
([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting
pull requests, issues and assistance with maintenance of nvf.

Please do remember to extend your thanks (financially or otherwise) if this
project has been helpful to you.

### Contributors

[mnw]: https://github.com/gerg-l/mnw

nvf would not be what it is today without the awesome people below. Special,
heart-felt thanks to

- [@fufexan](https://github.com/fufexan) - For the transition to flake-parts and
invaluable Nix assistance.
- [@FlafyDev](https://github.com/FlafyDev) - For getting home-manager module to
work and Nix assistance.
- [@n3oney](https://github.com/n3oney) - For making custom keybinds finally
- [**@fufexan**](https://github.com/fufexan) - For the transition to flake-parts
and invaluable Nix assistance.
- [**@FlafyDev**](https://github.com/FlafyDev) - For getting Home-Manager module
to work and Nix assistance.
- [**@n3oney**](https://github.com/n3oney) - For making custom keybinds finally
possible, and other module additions.
- [@horriblename](https://github.com/horriblename) - For actively implementing
planned features and quality of life updates.
- [@Yavko](https://github.com/Yavko) - For the amazing **nvf** logo
- [@FrothyMarrow](https://github.com/FrothyMarrow) - For seeing mistakes that I
could not.
- [@Diniamo](https://github.com/Diniamo) - For actively submitting pull
requests, issues and assistance with maintenance of nvf.
- [@Gerg-l](https://github.com/gerg-l) - For the modern Neovim wrapper, [mnw],
and occasional code improvements.
- [**@Yavko**](https://github.com/Yavko) - For the amazing **nvf** logo
- [**@FrothyMarrow**](https://github.com/FrothyMarrow) - For seeing mistakes
that I could not.
- [**@Gerg-l**](https://github.com/gerg-l) 🐸 - For the modern Neovim wrapper,
[mnw], and occasional code improvements.
- [**@Soliprem**](https://github.com/soliprem) - Rigorously implementing missing
features and excellent work on new language modules.

and everyone who has submitted issues or pull requests!

Expand All @@ -237,30 +249,30 @@ This configuration borrows from and is based on a few other configurations,
including:

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

I am grateful for their previous work and inspiration, and I wholeheartedly
recommend checking their work out.
<br/>

## License

Following the license of the
[original neovim-flake](https://github.com/jordanisaacs/neovim-flake), nvf has
been made available under the [**MIT License**](LICENSE). However, all assets
and documentation are published under the
Following the license of
[the original neovim-flake](https://github.com/jordanisaacs/neovim-flake), nvf
has been made available under the [**MIT License**](LICENSE). However, all
assets and documentation are published under the
[**CC BY License**](https://github.com/NotAShelf/nvf/blob/main/.github/assets/LICENSE)
under explicit permission by the artist.
under explicit permission by the author or authors.

<h6 align="center">Yes, this includes the logo work too. Stop taking artwork that is not yours!</h6>

Expand Down
23 changes: 16 additions & 7 deletions docs/manual/installation/modules/home-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ To use it, we first add the input flake.
```nix
{
inputs = {
# Optional, if you intend to follow nvf's obsidian-nvim input
# you must also add it as a flake input.
obsidian-nvim.url = "github:epwalsh/obsidian.nvim";
# Required, nvf works best and only directly supports flakes
nvf = {
url = "github:notashelf/nvf";
# you can override input nixpkgs
# You can override the input nixpkgs to follow your system's
# instance of nixpkgs. This is safe to do as nvf does not depend
# on a binary cache.
inputs.nixpkgs.follows = "nixpkgs";
# you can also override individual plugins
# Optionally, you can also override individual plugins
# for example:
inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs
};
Expand All @@ -27,8 +33,8 @@ Followed by importing the home-manager module somewhere in your configuration.

```nix
{
# assuming nvf is in your inputs and inputs is in the argset
# see example below
# Assuming "nvf" is in your inputs and inputs is in the argument set.
# See example installation below
imports = [ inputs.nvf.homeManagerModules.default ];
}
```
Expand All @@ -44,12 +50,15 @@ Followed by importing the home-manager module somewhere in your configuration.
};
outputs = { nixpkgs, home-manager, nvf, ... }: let
system = "x86_64-linux"; in {
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
# ↓ this is your home output in the flake schema, expected by home-manager
"your-username@your-hostname" = home-manager.lib.homeManagerConfiguration
"your-username@your-hostname" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
nvf.homeManagerModules.default # <- this imports the home-manager module that provides the options
./home.nix # <- your home entrypoint
./home.nix # <- your home entrypoint, `programs.nvf.*` may be defined here
];
};
};
Expand Down
17 changes: 11 additions & 6 deletions docs/manual/installation/modules/nixos.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ To use it, we first add the input flake.
```nix
{
inputs = {
# Optional, if you intend to follow nvf's obsidian-nvim input
# you must also add it as a flake input.
obsidian-nvim.url = "github:epwalsh/obsidian.nvim";
# Required, nvf works best and only directly supports flakes
nvf = {
url = "github:notashelf/nvf";
# you can override input nixpkgs
# You can override the input nixpkgs to follow your system's
# instance of nixpkgs. This is safe to do as nvf does not depend
# on a binary cache.
inputs.nixpkgs.follows = "nixpkgs";
# you can also override individual plugins
# Optionally, you can also override individual plugins
# for example:
inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs
};
Expand All @@ -42,13 +48,12 @@ Followed by importing the NixOS module somewhere in your configuration.
nvf.url = "github:notashelf/nvf";
};
outputs = { nixpkgs, nvf, ... }: let
system = "x86_64-linux"; in {
outputs = { nixpkgs, nvf, ... }: {
# ↓ this is your host output in the flake schema
nixosConfigurations."yourUsername»" = nixpkgs.lib.nixosSystem {
nixosConfigurations."your-hostname" = nixpkgs.lib.nixosSystem {
modules = [
nvf.nixosModules.default # <- this imports the NixOS module that provides the options
./configuration.nix # <- your host entrypoint
./configuration.nix # <- your host entrypoint, `programs.nvf.*` may be defined here
];
};
};
Expand Down
1 change: 1 addition & 0 deletions docs/manual/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ try-it-out.md
default-configs.md
installation.md
configuring.md
tips.md
```

```{=include=} chapters
Expand Down
6 changes: 6 additions & 0 deletions docs/manual/tips.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Helpful Tips {#ch-helpful-tips}

```{=include=} chapters
tips/debugging-nvf.md
tips/offline-docs.md
```
19 changes: 19 additions & 0 deletions docs/manual/tips/debugging-nvf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Debugging nvf {#sec-debugging-nvf}

There may be instances where the your Nix configuration evaluates to invalid
Lua, or times when you will be asked to provide your built Lua configuration for
easier debugging by nvf maintainers. nvf provides two helpful utilities out of
the box.

**nvf-print-config** and **nvf-print-config-path** will be bundled with nvf as
lightweight utilities to help you view or share your built configuration when
necessary.

To view your configuration with syntax highlighting, you may use the
[bat pager](https://github.com/sharkdp/bat).

```bash
nvf-print-config | bat --language=lua
```

Alternatively, `cat` or `less` may also be used.
11 changes: 11 additions & 0 deletions docs/manual/tips/offline-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Offline Documentation {#sec-offline-documentation}

[https://notashelf.github.io/nvf/options.html]: https://notashelf.github.io/nvf/options.html

The manpages provided by nvf contains an offline version of the option search
normally available at [https://notashelf.github.io/nvf/options.html]. You may
use the `man 5 nvf` command to view option documentation from the comfort of
your terminal.

Note that this is only available for NixOS and Home-Manager module
installations.
10 changes: 5 additions & 5 deletions docs/release-notes/rl-0.7.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ configuration formats.

### `vim.maps` rewrite {#sec-vim-maps-rewrite}

Instead of specifying map modes using submodules (eg.: `vim.maps.normal`), a new
`vim.keymaps` submodule with support for a `mode` option has been introduced. It
can be either a string, or a list of strings, where a string represents the
short-name of the map mode(s), that the mapping should be set for. See
`:help map-modes` for more information.
Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a
new `vim.keymaps` submodule with support for a `mode` option has been
introduced. It can be either a string, or a list of strings, where a string
represents the short-name of the map mode(s), that the mapping should be set
for. See `:help map-modes` for more information.

For example:

Expand Down
26 changes: 26 additions & 0 deletions docs/release-notes/rl-0.8.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@
- Add [render-markdown.nvim] under
`languages.markdown.extensions.render-markdown-nvim`

- Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table
in gitsigns configuration.

- [](#opt-vim.options.mouse) no longer compares values to an enum of available
mouse modes. This means you can provide any string without the module system
warning you that it is invalid. Do keep in mind that this value is no longer
checked, so you will be responsible for ensuring its validity.

- Deprecate `vim.enableEditorconfig` in favor of
[](#opt-vim.globals.editorconfig).

- Deprecate rnix-lsp as it has been abandoned and archived upstream.

[amadaluzia](https://github.com/amadaluzia):

[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
Expand All @@ -25,3 +38,16 @@

- Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave`
instead.

[horriblename](https://github.com/horriblename):

[aerial.nvim](https://github.com/stevearc/aerial.nvim)
[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)

- Add [aerial.nvim]
- Add [nvim-ufo]

[LilleAila](https://github.com/LilleAila):

- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes
issue with setting the workspace directory.
Loading

0 comments on commit 15ee6e0

Please sign in to comment.