mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-26 15:06:45 +00:00
docs: streamline manpages
This commit is contained in:
parent
976e8ee9f6
commit
206e17bbe4
8 changed files with 133 additions and 41 deletions
|
@ -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:notashelf/neovim-flake";
|
inputs.neovim-flake.url = "github:jordanisaacs/neovim-flake";
|
||||||
|
|
||||||
outputs = {nixpkgs, neovim-flake, ...}: let
|
outputs = {nixpkgs, neovim-flake, ...}: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
|
@ -26,12 +26,11 @@ Enables all the of neovim plugins, with language support for specifically Nix. T
|
||||||
=== Maximal
|
=== Maximal
|
||||||
|
|
||||||
[source,console]
|
[source,console]
|
||||||
$ nix run github:notashelf/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.
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
Running the maximal config will download *a lot* of packages, as it will be downloading language servers, formatters, and more. You are recommended to use the binary cache if
|
Running the maximal config will download *a lot* of packages as it is downloading language servers, formatters, and more.
|
||||||
using the default configs.
|
|
||||||
====
|
====
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<info>
|
<info>
|
||||||
<author><personname>neovim-flake contributors</personname></author>
|
<author><personname>neovim-flake contributors</personname></author>
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2021–2023</year>
|
<year>2023</year>
|
||||||
<holder>neovim-flake contributors</holder>
|
<holder>neovim-flake contributors</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
</info>
|
</info>
|
||||||
|
|
|
@ -11,8 +11,12 @@
|
||||||
<para>
|
<para>
|
||||||
If your problem is caused by a bug in neovim-flake then it should be reported on the
|
If your problem is caused by a bug in neovim-flake then it should be reported on the
|
||||||
<link xlink:href="https://github.com/notashelf/neovim-flake/issues">neovim-flake issue tracker</link>.
|
<link xlink:href="https://github.com/notashelf/neovim-flake/issues">neovim-flake issue tracker</link>.
|
||||||
|
Alongside bug reports, feature requests are also welcome over
|
||||||
|
<link xlink:href="https://github.com/notashelf/neovim-flake/pulls">neovim-flake pull requests</link>.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
</preface>
|
</preface>
|
||||||
|
<xi:include href="try-it-out.xml"/>
|
||||||
<xi:include href="default-configs.xml"/>
|
<xi:include href="default-configs.xml"/>
|
||||||
<xi:include href="custom-configs.xml"/>
|
<xi:include href="custom-configs.xml"/>
|
||||||
<xi:include href="languages.xml"/>
|
<xi:include href="languages.xml"/>
|
||||||
|
|
|
@ -3,8 +3,13 @@
|
||||||
|
|
||||||
The following are the neovim plugins used within neovim-flake. Some plugins are explicitly enabled by the user, while others are enabled implicitly.
|
The following are the neovim plugins used within neovim-flake. Some plugins are explicitly enabled by the user, while others are enabled implicitly.
|
||||||
|
|
||||||
|
[[sec-plugins-autopairs]]
|
||||||
|
=== Autopairs
|
||||||
|
|
||||||
[[sec-plugins-buffer]]
|
* https://github.com/windwp/nvim-autopairs[nvim-autopairs] an autopair plugin for neovim
|
||||||
|
|
||||||
|
|
||||||
|
[[sec-plugins-assistant]]
|
||||||
=== Coding Assistants
|
=== Coding Assistants
|
||||||
|
|
||||||
* https://github.com/zbirenbaum/copilot.lua[copilot.lua] a lua replacement for github.vim, the license nightmare AI assistant
|
* https://github.com/zbirenbaum/copilot.lua[copilot.lua] a lua replacement for github.vim, the license nightmare AI assistant
|
||||||
|
@ -50,6 +55,7 @@ The following are the neovim plugins used within neovim-flake. Some plugins are
|
||||||
* https://github.com/ray-x/lsp_signature.nvim[lsp-signature] show function signatures as you type
|
* https://github.com/ray-x/lsp_signature.nvim[lsp-signature] show function signatures as you type
|
||||||
* https://github.com/onsails/lspkind-nvim[lspkind-nvim] for pictograms in lsp (with support for nvim-cmp)
|
* https://github.com/onsails/lspkind-nvim[lspkind-nvim] for pictograms in lsp (with support for nvim-cmp)
|
||||||
|
|
||||||
|
|
||||||
[[sec-plugins-statuslines]]
|
[[sec-plugins-statuslines]]
|
||||||
=== Statuslines
|
=== Statuslines
|
||||||
|
|
||||||
|
@ -78,7 +84,7 @@ The following are the neovim plugins used within neovim-flake. Some plugins are
|
||||||
* https://github.com/declancm/cinnamon.nvim[cinnamon.nvim] smooth scrolling for ANY movement command
|
* https://github.com/declancm/cinnamon.nvim[cinnamon.nvim] smooth scrolling for ANY movement command
|
||||||
* https://github.com/nvim-cursorline[nvim-cursorline] a plugin for neovim that highlights cursor words and lines
|
* https://github.com/nvim-cursorline[nvim-cursorline] a plugin for neovim that highlights cursor words and lines
|
||||||
* https://github.com/petertriho/nvim-scrollbar[nvim-scrollbar] a scrollbar plugin for neovim
|
* https://github.com/petertriho/nvim-scrollbar[nvim-scrollbar] a scrollbar plugin for neovim
|
||||||
* https://github.com/Eandrju/cellular-automaton.nvim[cellular-automatan] a vanity to plugin to help you procrastinate more efficiently
|
* https://github.com/Eandrju/cellular-automaton.nvim[cellular-automaton] a vanity to plugin to help you procrastinate more efficiently
|
||||||
|
|
||||||
[[sec-plugins-minimap]]
|
[[sec-plugins-minimap]]
|
||||||
=== Minimap
|
=== Minimap
|
||||||
|
@ -91,51 +97,27 @@ The following are the neovim plugins used within neovim-flake. Some plugins are
|
||||||
|
|
||||||
* https://github.com/rcarriga/nvim-notify[nvim-notify] simple notification plugin that also integrates with noice.nvim
|
* https://github.com/rcarriga/nvim-notify[nvim-notify] simple notification plugin that also integrates with noice.nvim
|
||||||
|
|
||||||
[sec-plugins-notes]]
|
[[sec-plugins-notes]]
|
||||||
=== Note-taking
|
=== Note-taking
|
||||||
|
|
||||||
* https://github.com/obsidian.nvim[obsidian.nvim] a neovim plugin that deeply integrates with the obsidian markdown editor. Also works standalone
|
* https://github.com/obsidian.nvim[obsidian.nvim] a neovim plugin that deeply integrates with the obsidian markdown editor. Also works standalone
|
||||||
* https://github.com/nvim-orgmode/orgmode[orgmode] a neovim replacement for emac orgmode
|
* https://github.com/nvim-orgmode/orgmode[orgmode] a neovim replacement for emac orgmode
|
||||||
|
|
||||||
[sec-plugins-session-management]]
|
[[sec-plugins-session-management]]
|
||||||
=== Session Management
|
=== Session Management
|
||||||
|
|
||||||
* https://github.com/Shatur/neovim-session-manager[neovim-session-manager] a simple wrapper around :mksession
|
* https://github.com/Shatur/neovim-session-manager[neovim-session-manager] a simple wrapper around :mksession
|
||||||
|
|
||||||
[sec-plugins-terminal]]
|
|
||||||
=== Terminal
|
|
||||||
|
|
||||||
* https://github.com/akinsho/toggleterm.nvim[toggleterm.nvim] a simple terminal plugin that opens a terminal buffer on demand
|
|
||||||
|
|
||||||
[[sec-plugins-presence]]
|
|
||||||
=== Rich Presence
|
|
||||||
|
|
||||||
* https://github.com/andweeb/presence.nvim[presence.nvim] light and powerful discord rich presence plugin
|
|
||||||
|
|
||||||
[[sec-plugins-utilities]]
|
|
||||||
=== Utilities
|
|
||||||
|
|
||||||
* https://github.com/nvim-telescope/telescope.nvim[telescope] an extendable fuzzy finder of lists. Working ripgrep and fd
|
|
||||||
* https://github.com/folke/which-key.nvim[which-key] a popup that displays possible keybindings of command being typed
|
|
||||||
* https://github.com/sudormrfbin/cheatsheet.nvim[cheatsheet.nvim] a searchable cheatsheet for neovim from within the editor using Telescope
|
|
||||||
* https://github.com/ga-rosa/ccc.nvim[ccc.nvim] super powerful color picker / colorizer plugin.
|
|
||||||
* https://github.com/ziontee113/icon-picker.nvim[icon-picker.nvim] an icon picker plugin that provides access to thousands of icons
|
|
||||||
* https://github.com/jbyuki/venn.nvim[venn.nvim] draw venn diagrams inside neovim
|
|
||||||
|
|
||||||
[[sec-plugins-utilities]]
|
|
||||||
=== Utilities
|
|
||||||
|
|
||||||
* https://github.com/folke/noice.nvim[noice.nvim] an experimental neovim plugin that replaces some UI components of neovim
|
|
||||||
|
|
||||||
[[sec-plugins-snippets]]
|
[[sec-plugins-snippets]]
|
||||||
=== Snippets
|
=== Snippets
|
||||||
|
|
||||||
* https://github.com/hrsh7th/vim-vsnip[vim-vsnip] a snippet plugin that supports LSP/VSCode's snippet format
|
* https://github.com/hrsh7th/vim-vsnip[vim-vsnip] a snippet plugin that supports LSP/VSCode's snippet format
|
||||||
|
|
||||||
[[sec-plugins-autopairs]]
|
|
||||||
=== Autopairs
|
|
||||||
|
|
||||||
* https://github.com/windwp/nvim-autopairs[nvim-autopairs] an autopair plugin for neovim
|
[[sec-plugins-terminal]]
|
||||||
|
=== Terminal
|
||||||
|
|
||||||
|
* https://github.com/akinsho/toggleterm.nvim[toggleterm.nvim] a simple terminal plugin that opens a terminal buffer on demand
|
||||||
|
|
||||||
[[sec-plugins-themes]]
|
[[sec-plugins-themes]]
|
||||||
=== Themes
|
=== Themes
|
||||||
|
@ -144,6 +126,28 @@ The following are the neovim plugins used within neovim-flake. Some plugins are
|
||||||
* https://github.com/folke/tokyonight.nvim[tokyonight-nvim] a neovim theme with multiple color options
|
* https://github.com/folke/tokyonight.nvim[tokyonight-nvim] a neovim theme with multiple color options
|
||||||
* https://github.com/catppuccin/nvim[catppuccin] a pastel theme with 4 color options
|
* https://github.com/catppuccin/nvim[catppuccin] a pastel theme with 4 color options
|
||||||
|
|
||||||
|
|
||||||
|
[[sec-plugins-utilities]]
|
||||||
|
=== Utilities
|
||||||
|
|
||||||
|
* https://github.com/nvim-telescope/telescope.nvim[telescope] an extendable fuzzy finder of lists. Working ripgrep and fd
|
||||||
|
* https://github.com/folke/which-key.nvim[which-key] a popup that displays possible keybindings of command being typed
|
||||||
|
* https://github.com/sudormrfbin/cheatsheet.nvim[cheatsheet.nvim] a searchable cheatsheet for neovim from within the editor using Telescope
|
||||||
|
* https://github.com/ga-rosa/ccc.nvim[ccc.nvim] super powerful color picker and colorizer plugin.
|
||||||
|
* https://github.com/ziontee113/icon-picker.nvim[icon-picker.nvim] an icon picker plugin that provides access to thousands of icons
|
||||||
|
* https://github.com/jbyuki/venn.nvim[venn.nvim] draw venn diagrams inside neovim
|
||||||
|
|
||||||
|
[[sec-plugins-ui]]
|
||||||
|
=== UI Elements
|
||||||
|
|
||||||
|
* https://github.com/folke/noice.nvim[noice.nvim] an experimental neovim plugin that replaces some UI components of neovim
|
||||||
|
|
||||||
|
|
||||||
|
[[sec-plugins-presence]]
|
||||||
|
=== Rich Presence
|
||||||
|
|
||||||
|
* https://github.com/andweeb/presence.nvim[presence.nvim] light and powerful discord rich presence plugin
|
||||||
|
|
||||||
[[sec-plugins-markdown]]
|
[[sec-plugins-markdown]]
|
||||||
=== Markdown
|
=== Markdown
|
||||||
|
|
||||||
|
|
32
docs/try-it-out.adoc
Normal file
32
docs/try-it-out.adoc
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
[[ch-try-it-out]]
|
||||||
|
== Try it out
|
||||||
|
|
||||||
|
[source,console]
|
||||||
|
----
|
||||||
|
$ cachix use neovim-flake # Optional: it'll save you CPU resources and time
|
||||||
|
$ nix run github:notashelf/neovim-flake
|
||||||
|
----
|
||||||
|
|
||||||
|
|
||||||
|
=== Nix
|
||||||
|
|
||||||
|
By default LSP support for Nix is enabled alongside all complementary Neovim plugins. By running `nix run .`, which is the default package,
|
||||||
|
you will build Neovim with this config.
|
||||||
|
|
||||||
|
=== Tidal
|
||||||
|
|
||||||
|
Tidal is an alternative config that adds vim-tidal on top of the plugins from the Nix configuration.
|
||||||
|
|
||||||
|
=== Maximal
|
||||||
|
|
||||||
|
Maximal is the ultimate configuration that will enable basically everything. Keep in mind, however, that this will pull a lot of dependencies.
|
||||||
|
|
||||||
|
|
||||||
|
=== Using Prebuilt Configs
|
||||||
|
|
||||||
|
[source,console]
|
||||||
|
----
|
||||||
|
$ nix run github:notashelf/neovim-flake#nix
|
||||||
|
$ nix run github:notashelf/neovim-flake#tidal
|
||||||
|
$ nix run github:notashelf/neovim-flake#maximal
|
||||||
|
----
|
53
modules/lib/hm.nix
Normal file
53
modules/lib/hm.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
# Home Manager module
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib ? pkgs.lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.programs.neovim-ide;
|
||||||
|
set = pkgs.neovimBuilder {config = cfg.settings;};
|
||||||
|
in
|
||||||
|
with lib; {
|
||||||
|
meta.maintainers = [maintainers.notashelf];
|
||||||
|
|
||||||
|
options.programs.neovim-ide = {
|
||||||
|
enable = mkEnableOption "NeoVim with LSP enabled for Scala, Haskell, Rust and more.";
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
type = types.attrsOf types.anything;
|
||||||
|
default = {};
|
||||||
|
example = literalExpression ''
|
||||||
|
{
|
||||||
|
vim.viAlias = false;
|
||||||
|
vim.vimAlias = true;
|
||||||
|
vim.lsp = {
|
||||||
|
enable = true;
|
||||||
|
formatOnSave = true;
|
||||||
|
lightbulb.enable = true;
|
||||||
|
lspsaga.enable = false;
|
||||||
|
nvimCodeActionMenu.enable = true;
|
||||||
|
trouble.enable = true;
|
||||||
|
lspSignature.enable = true;
|
||||||
|
rust.enable = false;
|
||||||
|
nix = true;
|
||||||
|
dhall = true;
|
||||||
|
elm = true;
|
||||||
|
haskell = true;
|
||||||
|
scala = true;
|
||||||
|
sql = true;
|
||||||
|
python = false;
|
||||||
|
clang = false;
|
||||||
|
ts = false;
|
||||||
|
go = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
description = "Attribute set of neoflake preferences.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = [set.neovim];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue