Commit Graph
163 Commits
Author SHA1 Message Date
Matt Sturgeon f39dd42824 maintaining: init
Add a MAINTAINING.md file where we can document internal maintenance
procedures.
2025-05-23 22:02:06 +01:00
Matt Sturgeon e3f4a57fb8 docs/mdbook: install directly to $out
This fixes a regression introduced by https://github.com/nix-community/nixvim/pull/3349
2025-05-23 21:50:22 +01:00
Matt Sturgeon 1ff5e1a33b docs/server: open browser using xdg-open 2025-05-22 13:48:58 +01:00
Matt Sturgeon 601d4309ed docs/server: print the URL once serving 2025-05-22 13:48:58 +01:00
Matt Sturgeon f3342bdbd4 docs: refactor serve-docs; add nix run .#docs
Refactor `serve-docs` using `makeWrapper`, make it available as a
`serve-docs` package and as the `docs` "app".

This means `nix build .#docs` will build the docs while `nix run .#docs`
will run the server.
2025-05-22 13:48:58 +01:00
Matt Sturgeon 4936f85de3 docs/mdbook: fix user-guide/helpers.html redirect 2025-05-21 14:10:56 +01:00
Matt Sturgeon f4a7447d27 lib/util: move docs from lib/index to doc-comments
Moved all function-specific docs from `docs/lib/index.md` into RFC145
doc-comments.

Added `lib.nixvim.lua.toLuaObject` to hold the public docs and serve as
a stable impl of `toLua'` in case we decide to change its defaults.
2025-05-19 00:23:21 +01:00
Matt Sturgeon 4a272ca5d7 docs/lib: enable lib.nixvim.lua docs 2025-05-19 00:23:20 +01:00
Matt Sturgeon bda4be03fc docs/lib: enable lib.nixvim.utils docs 2025-05-19 00:23:20 +01:00
Matt Sturgeon 2ee5d71d52 doc/lib/index.md: update heading title
Move heading to `pages.nix` page title.
2025-05-19 00:22:43 +01:00
Matt Sturgeon 0f8dc108de docs/man: move FAQ and examples before functions
Like options, function docs are large. Let's put them after the FAQ and
config-examples sections
2025-05-19 00:20:29 +01:00
Matt Sturgeon 83d3535097 docs/man: include all sections from lib-doc 2025-05-19 00:20:29 +01:00
Matt Sturgeon 0c7e2aa96b docs: user-guide/helpers.md → lib/index.md
Move the user-guide to the new lib reference docs.

Added a MDBook redirect entry.

Updated man docs.
2025-05-19 00:19:57 +01:00
Matt Sturgeon 1c6dd6579a docs: include function docs
Embed the function reference docs into the main docs website.
2025-05-19 00:19:57 +01:00
Matt Sturgeon dfaea5982e docs/lib: init
Generate reference docs for functions that have RFC145 style
doc-comments.

1. function locations

  `docs/lib/function-locations.nix` scans nixvim's extended lib,
  extracting "position entries" via `unsafeGetAttrPos`.

  This is then converted into a nixdoc `locations.json` map of
  "function name" → "markdown location string".

2. mdbook menu

  `docs/lib/menu.nix` renders a mdbook menu representing all page
  entries.

3. markdown pages

  `docs/lib/default.nix` expects a set of "page entries", which come
  from `docs/lib/pages.nix` by default. It passes this data to
  `function-locations.nix` and `menu.nix`, and uses it internally to
  render markdown pages.

  Page entries can contain a `file` to render using `nixdoc`, and also a
  `markdown` attribute which will be included at the top of the docs.

  Additionally, a `title` can be included. This forms the heading
  `$name: $title`, where `name` is derived from the page's attr-path.

  See https://github.com/nix-community/nixdoc
2025-05-19 00:19:56 +01:00
Matt Sturgeon 61c44d7a7f docs/man: minor cleanup
- Move lua filter to separate file
- Use a subshell to write `nixvim-header.5`
- Use bash function to avoid repetition
2025-05-17 03:30:13 +01:00
Matt Sturgeon 2a4719f275 docs/mdbook: add page ToC
https://github.com/slowsage/mdbook-pagetoc
2025-05-17 02:24:00 +01:00
Farid Zakaria ff0ccdf572 docs: add note on "following" nixpkgs input (#3317)
The use of `follows` in a flake can cause issues even when `useGlobalPackages` is disabled.

Highlight this in the doc.
2025-05-12 21:58:54 +01:00
Tran Minh Hieu cacdb97365 config-examples: add cirius-nix (#3307) 2025-05-09 10:23:35 +00:00
LudovicDeMatteis 0ec7ea3d62 user-configs: add @LudovicDeMatteis's config
user-configs: add @LudovicDeMatteis's config
2025-05-02 00:30:49 +02:00
Matt Sturgeon 04c3247144 docs: ensure path is escaped when copying module docs
Without escaping the path here, filepaths for options named things like
`*` will result in undefined behaviour.
2025-05-01 00:12:39 +01:00
Matt Sturgeon 9caeb51238 docs: don't remove freeform sub-options
This isn't a fully correct fix, but it's much closer to the intended
behaviour.
2025-04-29 09:36:06 +01:00
Jeremy Fleischman f42468972c Fix typo: nix lists are space separated, not comma separated 2025-04-23 21:11:52 -07:00
Henry Fraser d4a0db2103 docs: fix typo 2025-04-22 10:08:34 +10:00
Matt Sturgeon 6f8d8f7aee docs/fix-links: generalise checks for links targeting .
- Strip trailing `?query` and/or `#anchor`
- Strip leading `./` recursively
- Check if what's left is `""` or `"."`

Any link that targets the current page should be left as-is (no-op).
2025-02-25 21:47:17 +00:00
Matt Sturgeon 977b7a9fa3 docs/fix-links: pandoc markdown -> gfm
We are essentially writing GFM e.g. inline HTML comments and GFM alerts.
So tell pandoc to parse/render as such. This resolves issues such as:
`> [!TIP]` being escaped to `> \[!TIP\]`.
2025-02-24 21:14:16 +00:00
Matt Sturgeon a39e0a6516 docs/fix-links: handle #anchor targets on the same page 2025-02-14 10:10:37 +00:00
Matt Sturgeon 7f29e4b2ae docs/fix-links: init
The README/CONTRIBUTING files are authored with GitHub in mind, but we
want to re-use them for the docs website.

Replace the existing simple substitution with a pandoc AST-based filter.
2025-02-13 18:05:54 +00:00
Matt Sturgeon f584d1d70d docs/mdbook: support visible = "shallow" 2025-01-29 22:02:34 +00:00
Austin Horstman af4483c025 docs/lazy-loading: add extra examples 2025-01-27 10:32:14 -06:00
Matt Sturgeon d7df583211 docs: eval modules without access to pkgs
Replace the `package-options` test with a stricter implementation.

When evaluating modules for use in the docs, provide them with a stubbed
`pkgs` instance that throws an error whenever a package is evaluated.

This ensures we don't accidentally use any packages in defaults or
examples.
2025-01-25 19:16:09 +00:00
Matt Sturgeon 0b4a4e8327 docs: don't set allowUnfree
We shouldn't be evaluating any packages, so we shouldn't need
`allowUnfree`.
2025-01-25 19:16:09 +00:00
Quentin Boyer 4751cb55f7 docs/user-guide: Add an entry for collisions with combinePlugins 2025-01-25 18:33:03 +01:00
Matt Sturgeon 1654f97a79 docs: use README as a source for the docs 2025-01-19 17:36:14 +00:00
Matt Sturgeon 85e4e16de8 docs: notify useGlobalPackages breaking change 2025-01-19 13:23:14 +00:00
Matt Sturgeon e4484133d6 docs/user-guide: slightly simplify lib-overlay example 2025-01-17 13:13:40 +00:00
Matt Sturgeon 30842191e0 docs: enable warningsAreErrors 2025-01-17 03:56:59 +00:00
Matt Sturgeon c19daee453 docs/user-guide: document nixvim's lib overlay 2025-01-17 02:23:10 +00:00
Matt Sturgeon b28ebf2535 docs/user-guide: add sub-headings to helpers.md 2025-01-17 02:23:10 +00:00
Yohh 54e6dbd8c8 user-configs: add Yohh's configuration 2025-01-15 18:21:14 +01:00
Matt Sturgeon 60e88b870c docs: treat internal options as invisible
`internal` options are intended to be implicitly not `visible`. This is
already handled correctly by the nixos tooling, but our custom tooling
did not correctly handle the edge case.

This lead to strange cases where an internal option is not included in
the docs, but its sub-options were still visible.
2024-12-27 20:34:23 +00:00
r6t 87b2679d6f user-configs: add @r6t config 2024-12-26 11:16:13 -08:00
Matt Sturgeon 4b3b67fb6f lib: make overrideable & access via flake
Add a non-system specific `<flake>.lib.nixvim` output, which is
equivalent to the existing `<flake>.lib.<system>.helpers` output.

This is now also wrapped with `lib.makeOverridable` to allow overriding
the function args used to construct the nixvim-lib.

Consistently access nixvim-lib via the new flake output, overriding
where necessary.
2024-12-21 15:17:43 +00:00
Dylan Tompkins 6830c55d09 fix(docs): typo in install.md 2024-12-20 13:12:37 -08:00
Heitor Augusto 30895485c3 user-configs: add HeitorAugustoLN's configuration 2024-12-17 05:14:41 +00:00
Matt Sturgeon a658e81d71 docs/config-examples: generate dynamically from a toml list
This should help to maintain uniformity and hopefully make contributions
easier.

Kept regression tests local to the derivation, however these are also
added to the flake checks.
2024-12-15 17:44:56 +00:00
Mykola Halkin 57464f22bb config-examples: add NikolayGalkin 2024-12-14 22:34:29 +00:00
Austin Horstman e8e396558b docs/user-guide: add lazy-loading.md 2024-12-13 21:19:05 -06:00
Gaetan Lepage a35f923d6a treewide: replace mentions of 24.05 with 24.11 2024-11-30 23:17:21 +01:00
NickandGaétan Lepage 6b9d55f936 Update docs/user-guide/config-examples.md
Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com>
2024-11-24 17:39:06 +00:00