mirror of
https://github.com/NixOS/nix-pills
synced 2024-09-19 04:00:13 -04:00
36252cb882
In pill 13 `callPackage` and `pkgs` are defined co-recursively. The author notes thas this is possible due to lazy evaluation, but for some readers this may be confusing (as if lazy evaluation was some kind of magic that makes infinite recursion not a problem). |
||
---|---|---|
pills | ||
.editorconfig | ||
.gitignore | ||
book.xml | ||
default.nix | ||
LICENSE | ||
README.md | ||
release.nix | ||
style.css |
Nix Pills
https://nixos.org/nixos/nix-pills/
Development
- List of Elements: http://tdg.docbook.org/tdg/5.2/chunk-part-d6252e15351.html
- Tracking Issue: https://github.com/NixOS/nixpkgs/issues/27908
When starting a new Pill, comment on the tracking issue which one you're doing. If you need help, ask there. If you make progress but don't finish in one go, make a PR anyway! I'm trying to not edit things as I go, in order to not get bogged down.
How I've built and tested:
nix-build release.nix && firefox result/share/doc/nix-pills/index.html
Emacs config for a nice docbook experience:
let
pkgs = import <nixpkgs> {};
inherit (pkgs) emacsPackagesNg docbook5 writeText;
schemas = writeText "schemas.xml" ''
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
<documentElement localName="section" typeId="DocBook"/>
<documentElement localName="chapter" typeId="DocBook"/>
<documentElement localName="article" typeId="DocBook"/>
<documentElement localName="book" typeId="DocBook"/>
<typeId id="DocBook" uri="${docbook5}/xml/rng/docbook/docbookxi.rnc" />
</locatingRules>
'';
in emacsPackagesNg.emacsWithPackages (epkgs: [
(emacsPackagesNg.trivialBuild {
pname = "nix-docbook-mode";
version = "1970-01-01";
src = writeText "default.el" ''
(eval-after-load 'rng-loc
'(add-to-list 'rng-schema-locating-files "${schemas}"))
(global-set-key (kbd "<C-return>") 'nxml-complete)
'';
})
])
Then you can use the keys:
C-c C-b
to finish & close a tagC-c C-f
to close a tagC-return
to auto-complete a tag or attribute.