the configuration for all my nixos machines (hacky! bad! ugly!)
1{
2 config,
3 lib,
4 pkgs,
5 ...
6}: let
7 cfg = config.profiles.docs;
8in {
9 options.profiles.docs = with lib; {
10 enable = mkEnableOption "documentation profile";
11 };
12
13 config = lib.mkIf cfg.enable {
14 ### documentation ###
15 documentation = {
16 # install documentation from all packages `environment.systemPackages`.
17 enable = true;
18 # enable documentation distributed in packages' `/share/doc`.
19 doc.enable = true;
20
21 man = {
22 # enable manpages
23 enable = true;
24 # generate manpage index caches to enable searching using `man -k`.
25 cache.enable = true;
26 };
27
28 info.enable = true;
29
30 # enable packages' developer documentation
31 dev.enable = true;
32
33 # install nixos' own documentation
34 nixos.enable = true;
35 };
36
37 environment.systemPackages = with pkgs; [
38 # i want all the man pages
39 man-pages
40 man-pages-posix
41 # manpage-style rustdoc viewer
42 # a fast documentation viewer for nix
43 manix
44 # Parse formatted man pages and man page source from most flavors of UNIX
45 # and converts them to HTML, ASCII, TkMan, DocBook, and other formats
46 rman
47 ];
48 };
49}