docs: streamline manpages

This commit is contained in:
NotAShelf 2023-02-06 21:10:37 +03:00
parent 976e8ee9f6
commit 206e17bbe4
No known key found for this signature in database
GPG key ID: 5B5C8895F28445F1
8 changed files with 133 additions and 41 deletions

View file

@ -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";

View file

@ -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.
==== ====

View file

@ -5,7 +5,7 @@
<info> <info>
<author><personname>neovim-flake contributors</personname></author> <author><personname>neovim-flake contributors</personname></author>
<copyright> <copyright>
<year>20212023</year> <year>2023</year>
<holder>neovim-flake contributors</holder> <holder>neovim-flake contributors</holder>
</copyright> </copyright>
</info> </info>

View file

@ -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"/>

View file

@ -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
View 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
View 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];
};
}