Commit Graph

38 Commits

Author SHA1 Message Date
Robert Hensing 26e72d85e6
home-manager: set module class to "homeManager"
This enables a module system feature documented here:
https://nixos.org/manual/nixpkgs/stable/index.html#module-system-lib-evalModules-param-class

For example, it allows a mistake to be caught, which is loading a
NixOS module into home-manager. This only works when the offending
module declares what it's for with a `_class` attribute.

It is not expected that users declare the `_type`, because the payoff
is small. It is only expected to be set by generic code, such as
functions or libraries that help with the "publishing" of modules
(e.g. flake-parts, flake-utils).

The class feature has been available in the module system since
https://github.com/NixOS/nixpkgs/pull/197547, merged May 6, 2023. It
has been part of all releases since 23.05-beta. The last NixOS release
that did _not_ support it has been end-of-life for close to a year
now.

Example:

    (lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [{ _class = "nixos"; imports = [ ./foo.nix ]; }];
    }).activation-script

Corresponding error:

    error: The module <unknown-file> was imported into homeManager instead of nixos.

(`<unknown-file>` can be improved by also setting `_file`, if known; a
much older feature)

PR #5339
2024-04-27 09:28:21 +02:00
Robert Helgesson 2db6a2a429
docs: add style sheets and `scrubDerivations`
This adds style sheets and `scrubDerivations` from nmd, thereby
removing the need to download them separately.
2024-02-01 01:10:58 +01:00
Robert Helgesson d6185e83d8
docs, tests: revert to fetchTarball for nmd and nmt
Turns out pulling nmt and nmd from Nixpkgs causes an IFD, even when
the packages are fixed-output derivations.

Thus, since Sourcehut is up and well, we can revert to simply fetching
nmd and nmt directly.

See discussion in <https://github.com/nix-community/home-manager/pull/4884>.
2024-01-18 23:29:40 +01:00
Robert Helgesson 846200eb57
docs: use nmd from Nixpkgs 2024-01-14 22:57:58 +01:00
Robert Helgesson 93e804e7f8
docs: use alternative source of nmd 2024-01-11 14:46:44 +01:00
Viktor Kronvall 67b797a377 docs: update nmd version
This update fixes the custom CSS to make the `$` character
non-selectable in highlighted code blocks.
2023-12-07 21:28:18 +09:00
Viktor Kronvall 8dae2041ef docs: use nixos-render-docs
This commit removes the `home-manager-render-docs` package in favor
of upstream `nixos-render-docs` where the manpage generator has been
updated to take a `--header` and a `--footer` flag specifying static
content around the content derived from the options.json file.
2023-12-07 21:28:16 +09:00
Viktor Kronvall 0dcb767676 docs: add htmlOpenTool to manual
This commit extracts the htmlOpenTool from `nmd` into a module
in the home-manager docs directory. This is done to provide feature
parity with the documentation generated using the docbook .xml files.
2023-12-07 21:27:38 +09:00
Viktor Kronvall 728423e6f4 docs: add home-manager manpage 2023-12-07 21:27:38 +09:00
Viktor Kronvall 80ac72bf03 docs: render without deprecated optionsDocBook
The `optionsDocBook` function is deprecated in nixpkgs since
nixos-23.11. This commit updates the manual and manpages to
use commonmark formatted documentation instead of the deprecated
docbook format.
2023-12-07 21:27:38 +09:00
Emily c707d4f552 docs: hide `_module.*` from NixOS/nix-darwin docs
These are already documented in the system-level manuals and have no
particular relevance to the `home-manager.*` options.
2023-07-19 21:44:06 +01:00
Emily 7398af11b8 docs: clean up after Markdown migration 2023-07-17 18:49:09 +01:00
Emily 59b933653a docs: use `nixosOptionsDoc`
Output is mostly unchanged aside from some minor typographical and
formatting changes, along with better source links.

We temporarily export `options.docBookForMigration` to allow
`nix-doc-munge` to check its conversions.
2023-07-17 16:49:35 +01:00
Robert Helgesson 172d46d4b2
docs: bump nmd
Removes the need to apply `fix-man-options-duplication.patch`. See,
e.g., https://github.com/NixOS/nixpkgs/pull/166509.
2023-06-24 19:28:15 +02:00
Robert Helgesson 28b6c3670c
docs: update nmd
With improved conversion of Markdown list items.
2023-06-24 13:18:38 +02:00
Robert Helgesson 29872a1c8f
docs: update nmd
Mainly to work around recent changes in Nixpkgs with respect to
`_module.args`.
2023-06-24 11:52:37 +02:00
Robert Helgesson d3fd3b9d69
docs: bump nmd
Makes code callouts unselectable.
2023-03-31 00:00:25 +02:00
Robert Helgesson db37c53760
docs: bump nmd 2023-03-24 20:01:16 +01:00
Robert Helgesson 02ac667557
docs: bump nmd
Fixes cross-compilation.
2023-02-07 23:28:21 +01:00
Robert Helgesson 12d43fd40a
docs: bump nmd
Fixes #3612
2023-01-23 23:07:09 +01:00
Robert Helgesson 275ab72891
docs: bump nmd
Fixes #3605
2023-01-20 22:36:43 +01:00
Robert Helgesson 2c29ae48f9
docs: bump nmd 2023-01-18 12:26:16 +01:00
Robert Helgesson 6c5b08a0c1
docs: fetch nmd from sourcehut 2023-01-18 12:26:15 +01:00
Robert Helgesson 2827b53064
docs: bump nmd
- Fix paragraphs in option field texts containing Markdown.

- Fix generation of documentation for options with Markdown in
  multiple fields.

- Support AsciiDoc in module option documentation.
2023-01-15 00:11:26 +01:00
Robert Helgesson f1b1594e7b
docs: bump nmd
Fixes #3579
2023-01-09 23:06:21 +01:00
Robert Helgesson 9e565f0d9d
docs: bump nmd
Fixes #3573
2023-01-07 12:08:34 +01:00
Robert Helgesson 709a87fe33
docs: bump nmd
- Introduces support for Markdown documentation in modules.
2023-01-06 23:51:39 +01:00
Robert Helgesson 3ecd5305a4
docs: bump nmd
- Simplifies DocBook build by generation version DocBook 5 files
  directly.

- Make DocBook generate consistent anchor IDs.
2023-01-05 22:40:52 +01:00
Robert Helgesson d1191c6d05
docs: bump nmd
Fixes #3342
2022-10-20 08:47:36 +02:00
Robert Helgesson 9550595502
docs,tests: fetch nmd and nmt using fetchTarball
This simplifies the code a bit and avoids using experimental Flake
functionality. If Flakes become stable before NixOS 22.11 then we can
consider having nmd and nmt as Flake inputs. Maybe could then also
avoid the need for flake-compat.
2022-06-26 22:22:46 +02:00
Naïm Favier e0baf8ee0c
docs: disable _module.check for nixos/nix-darwin modules
Currently we're maintaining a "mock" module made of sink options,
which requires updating whenever the definitions in the
nixos/nix-darwin modules change.

Instead, set `_module.check` to false so that definitions in those
modules are simply ignored.
2022-06-25 11:47:47 +02:00
Naïm Camille Favier 64ab7d6e8d
Prepare inclusion in nixos-search (#2971)
* Add flake.lock and clean up flake.nix

Add a lockfile to work around https://github.com/NixOS/nix/issues/6541
(and because it's a good idea anyway).

Also use flake-utils, and restrict ourselves to the five platforms
supported by nixpkgs. Otherwise, the IFD for nmd fails on weird
platforms. This fixes `nix flake check`.

Remove the redundant `apps` output, see https://github.com/nix-community/home-manager/pull/2442#issuecomment-1133670487

* nixos,nix-darwin: factor out into a common module

* nixos,nix-darwin: make `home-managers.users` shallowly visible

Make sure the option is included in the NixOS/nix-darwin manual (but the
HM submodule options aren't).

Also add a static description to the HM submodule type so that we don't need to
evaluate the submodules just to build the option manual. This makes
nixos-search able to index the home-manager flake.

Also clean up some TODOs.

* flake: add nmd and nmt

This avoids having to use `pkgs.fetchFromGitLab` in an IFD, which causes
issues when indexing packages with nixos-search because `pkgs` is
instantiated with every platform.
2022-06-07 20:45:06 +02:00
Robert Helgesson e66f0ff69a
docs: bump nmd 2022-05-23 23:09:24 +02:00
Robert Helgesson ac94041153
docs: bump nmd
Fixes #2821
2022-03-24 00:41:16 +01:00
Robert Helgesson a3457d3f85
ci: verify that `meta.maintainers` evaluate
Fixes #2588
2021-12-29 10:16:19 +01:00
Robert Helgesson 2452979efe
docs: bump nmd 2021-11-18 16:32:15 +01:00
Robert Helgesson a77a01d1f6
docs: bump nmd
This revision support the new `literalExpression` documentation type.
2021-10-12 23:42:17 +02:00
Robert Helgesson 7ef3db3730
docs: rename "doc" directory to "docs"
Also remove `CONTRIBUTING.adoc` and `FAQ.adoc` from project root since
GitHub knows to pick them up from the docs directory.

Fixes #2273
2021-08-17 19:35:11 +02:00