Created: November 27, 2022

Last modified: June 3, 2025

info sucks

The .info format produced by GNU Texinfo kinda sucks. The info reader built into emacs is certainly the best way to view these files, but I find myself using the html produced by texinfo far more often than the info files.

The main reasons are that:

I think it would be great if gnu projects adopted org markup for documentation instead. It’s been discussed enough times over the years that I have doubts if it’ll ever happen at this point unfortunately.

At this point I use eww to view the full html version of texinfo docs, but it’s not efficient and chokes on larger manuals like the elisp manual. Also the html versions of texinfo docs aren’t built or installed by default.

Here’s the start at my attempt to define some helper code to allow me to get the html docs installed on guix.

(use-modules (guix packages))
(use-modules (gnu packages texinfo))

(define (package-html-docs p)
  (package
    (inherit p)
    (name (string-append (package-name p) "-html-doc"))
    (inputs (modify-inputs (package-native-inputs p)
              (prepend texinfo)))
    (arguments
     '(#:phases (modify-phases %standard-phases
                  (delete 'build)
                  (delete 'check)
                  (delete 'patch-shebangs)
                  (delete 'strip)
                  (delete 'validate-runpath)
                  (delete 'validate-documentation-location)
                  (delete 'delete-info-dir-file)
                  (delete 'patch-dot-desktop-files)
                  (delete 'make-dynamic-linker-cache)
                  (delete 'install-license-files)
                  (delete 'reset-gzip-timestamps)
                  (delete 'compress-documentation)
                  (replace 'install 
                    (lambda* (#:key (make-flags '()) #:allow-other-keys)
                      (apply invoke "make" "install-html" make-flags))))))))

(package-html-docs hello)