mirror of
https://github.com/NixOS/nix-pills
synced 2024-09-19 04:00:13 -04:00
924f05fa2e
`stdenv` has not yet been mentioned in this tutorial and the target audience (people new to nix) will not know what it is. It shouldn't be mentioned until it is properly described (as it is in pill 19). |
||
---|---|---|
pills | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
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.