summary refs log tree commit diff
path: root/nixos/doc/manual/default.nix
Commit message (Collapse)AuthorAge
* nixos manual: have a toc for each part and chapterFrederik Rietdijk2019-10-30
| | | | | to be inline with the Nixpkgs manual. This makes navigating to particular sections easier.
* nixos manual: reduce toc depthFrederik Rietdijk2019-10-30
| | | | to reduce the amount of information presented.
* Extract NixOS options documentation generation to a functionDomen Kožar2019-08-08
| | | | | | | | | | Motivation is to support other repositories containing nixos modules that would like to generate options documentation: - nix-darwin - private repos - arion - ??
* Merge pull request #55436 from layus/warn-manual-idsGraham Christensen2019-03-09
|\ | | | | Nixos manual: error out on missing IDs
| * nixos/manual: error out on missing IDsGuillaume Maudoux2019-02-08
| |
* | nixos: doc: increase maxdepth for xsltprocJan Malakhovski2019-03-05
|/ | | | | | | | | See https://github.com/NixOS/nixpkgs/issues/37903#issuecomment-376618117 for details. With the previous patch and some custom modules included in `configuration.nix` the above bug is very easy to trigger. This is a simplest workaround I have. A proper solution would look like https://github.com/NixOS/nixpkgs/issues/37903#issuecomment-376980838.
* nixos/manual: warn on missing xml:idGuillaume Maudoux2019-02-07
|
* nixos: doc: rename `manual` to `manualHTML`, cleanup referencesJan Malakhovski2018-09-23
| | | | | | Because when I see "config.system.build.manual.manual" after I forgot what it means I ask "Why do I need that second `.manual` there again?". Doesn't happen with `config.system.build.manual.manualHTML`.
* nixos: Split paras by \n\n in option descriptionsaszlig2018-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | What annoyed me for a long time was the fact, that in order to break into a new paragraph, you need to insert </para><para> in the description attribute of an option. Now we will automatically create <para/> elements for every block that is separated by two consecutive newlines. I first tried to do this within options-to-docbook.xsl, but it turns out[1] that this isn't directly possible with XSLT 1.0, so I added another XSLT file that postprocesses the option descriptions that are now enclosed in <nixos:option-description/> by options-to-docbook.xsl. The splitting itself is a bit more involved, because we can't simply split on every \n\n because we'd also split text nodes of elements, for example: <screen><![CDATA[ one line another one ]]></screen> This would create one <para/> element for "one line" and another for "another line", which we obviously don't want because <screen/> is used to display verbatim contents of what a user is seeing on the screen. So what we do instead is splitting *only* the top-level text nodes within the outermost <para/> and leave all elements as-is. If there are more than one <para/> elements at the top-level, we simply don't process it at all, because the description then already contains </para><para>. https://www.mhonarc.org/archive/html/xsl-list/2012-09/msg00319.html Signed-off-by: aszlig <aszlig@nix.build> Cc: @edolstra, @domenkozar
* treewide: remove aliases in nixpkgsMatthew Bauer2018-07-18
| | | | | | | | | | | | | | | | | | This makes the command ‘nix-env -qa -f. --arg config '{skipAliases = true;}'’ work in Nixpkgs. Misc... - qtikz: use libsForQt5.callPackage This ensures we get the right poppler. - rewrites: docbook5_xsl -> docbook_xsl_ns docbook_xml_xslt -> docbook_xsl diffpdf: fixup
* nixos: doc: make `relatedPackages` a bit smarterJan Malakhovski2018-06-13
|
* nixos docs: Add a makefile for hacking on the nixos docsGraham Christensen2018-04-28
|
* nixos docs: Move generated XML in to a specific subdirectory to allow easier ↵Graham Christensen2018-04-27
| | | | hacking
* nixos docs: syntax highlightGraham Christensen2018-04-05
| | | | | | | | | - Rectifies diverging CSS by combining nixos/nixpkgs docs CSS - Moves our custom Highlight.js loader in to the hljs package - Switches the nixos docs to use SVG callouts too
* nixos/manual: Don't depend on non-bin outputs of libxml2 and libxsltTuomas Tynkkynen2018-03-21
| | | | Might fix https://hydra.nixos.org/build/71580290.
* nixos: manual: Fix cross-compilation.Shea Levy2018-03-01
|
* stdenv.mkDerivation: rename `meta.evaluates` -> `meta.available`Jan Malakhovski2018-02-18
| | | | A much better name.
* nixos: doc: trivial cleanup and docstring fixJan Malakhovski2018-02-11
|
* nixos: doc: make option sorting somewhat more efficientJan Malakhovski2018-02-11
|
* nixos, lib: implement relatedPackages optionJan Malakhovski2018-02-09
| | | | | | | | This allows one to specify "related packages" in NixOS that get rendered into the configuration.nix(5) man page. The interface philosophy is pretty much stolen from TeX bibliography. See the next several commits for examples.
* nixos/doc: push all the `enable*' and `package*` options to the top of their ↵Jan Malakhovski2018-02-09
| | | | | | | | | | | | | | | | | | | | | | option group Why? Because this way configuration.nix(5) can be read linearly. Before: > virtualisation.xen.bootParams > ... > virtualisation.xen.enable > ... > virtualisation.xen.package > ... After: > virtualisation.xen.enable > virtualisation.xen.package > virtualisation.xen.bootParams > ...
* Add setFunctionArgs lib function.Shea Levy2018-01-31
| | | | | | Among other things, this will allow *2nix tools to output plain data while still being composable with the traditional callPackage/.override interfaces.
* Revert "nixos: doc: implement related packages in the manual"Graham Christensen2017-12-23
|
* nixos, lib: implement relatedPackages optionJan Malakhovski2017-12-07
| | | | | | This allows one to specify "related packages" in NixOS that get rendered into the configuration.nix(5) man page. The interface philosophy is pretty much stolen from TeX bibliography.
* nixos/doc: push all the `enable*' and `package*` options to the top of their ↵Jan Malakhovski2017-12-07
| | | | | | | | | | | | | | | | | | | | | | option group Why? Because this way configuration.nix(5) can be read linearly. Before: > virtualisation.xen.bootParams > ... > virtualisation.xen.enable > ... > virtualisation.xen.package > ... After: > virtualisation.xen.enable > virtualisation.xen.package > virtualisation.xen.bootParams > ...
* nixos/doc/manual: print context on failing xmllint validationProfpatsch2017-11-22
| | | | | | | | | | | | | | | | | | Previously only the line numbers of a giant, internally generated XML file were printed, without any kind of debuggability. Now at least the mentioned lines are printed with a little bit of surrounding context (to have something to grep for). ``` manual-combined.xml:4863: element para: Relax-NG validity error : Did not expect element para there 4859 <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-writing-modules"> 4860 4861 <title>Writing NixOS Modules</title> 4862 4863 <para>NixOS has a modular system for declarative configuration. This 4864 system combines multiple <emphasis>modules</emphasis> to produce the 4865 full system configuration. One of the modules that constitute the ```
* nixos manual: combine XML and validate separatelyGraham Christensen2017-06-29
|
* nixos manual: Remove trailing newline in version XMLGraham Christensen2017-06-28
|
* NixOS: Use runCommand instead of mkDerivation in a few placesEelco Dolstra2016-09-29
|
* nixos manual: cleanup generationEric Sagnes2016-08-30
|
* manual: automatically generate modules entriesEric Sagnes2016-08-11
|
* nixos manual: add Emacs section (fixes #13217)Rodney Lorrimar2016-08-02
| | | | | | | In light of Emacs packaging improvements such as those mentioned in #11503, and with the addition of a systemd service (#15807 and #16356), and considering that the wiki page is completely out of date (#13217), it seems that some documentation is in order.
* Fix epub generationEelco Dolstra2016-08-01
| | | | | | | | | * Hydra doesn't like spaces in filenames. * The zip file contained nix/store/.../OEBPS rather than OEBPS at top-level, causing some programs (like okular) to barf. * Remove the redundant $dst/epub directory.
* Remove the PDF manualEelco Dolstra2016-08-01
| | | | | PDF is very 20th century and nobody reads technical documentation this way anymore.
* add epub for NixOS manual (second try) (#17205)Christine Koppelt2016-07-28
|
* Merge pull request #14700: olinks for NixOS manualaszlig2016-05-02
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to use <olink> tags inside NixOS options to reference sections from the manual. I've originally introduced it in #14476 to reference the Taskserver specific documentation from the options reference but as suggested by @nbp, this was done as a separate pull request to ensure greater visibility rather than being "hidden" in the Taskserver branch. The build time for the manual is around 30s on my machine without this change and 34s with this change, so it shouldn't have a very big impact on the build time of the manual. Olinks between the options reference and the manual now will look like this: "More instructions about NixOS in conjuction with Taskserver can be found in the NixOS manual at Chapter 15, Taskserver." More documentation about olinks can be found here: http://www.sagehill.net/docbookxsl/Olinking.html Acked-by: Eelco Dolstra <eelco.dolstra@logicblox.com>
| * nixos/doc: Allow refs from options to the manualaszlig2016-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My first attempt to do this was to just use a conditional <refsection/> in order to not create exact references in the manpage but create the reference in the HTML manual, as suggested by @edolstra on IRC. Later I went on to use <olink/> to reference sections of the manual, but in order to do that, we need to overhaul how we generate the manual and manpages. So, that's where we are now: There is a new derivation called "manual-olinkdb", which is the olinkdb for the HTML manual, which in turn creates the olinkdb.xml file and the manual.db. The former contains the targetdoc references and the latter the specific targetptr elements. The reason why I included the olinkdb.xml verbatim is that first of all the DTD is dependent on the Docbook XSL sources and the references within the olinkdb.xml entities are relative to the current directory. So using a store path for that would end up searching for the manual.db directly in /nix/store/manual.db. Unfortunately, the <olinks/> that end up in the output file are relative, so for example if you're clicking on one of these within the PDF, the URL is searched in the current directory. However, the sections from the olink's text are still valid, so we could use an alternative URL for that in the future. The manual doesn't contain any links, so even referencing the relative URL shouldn't do any harm. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @edolstra
* | Merge pull request #14476 (taskserver)aszlig2016-04-15
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a Taskserver module along with documentation and a small helper tool which eases managing a custom CA along with Taskserver organisations, users and groups. Taskserver is the server component of Taskwarrior, a TODO list application for the command line. The work has been started by @matthiasbeyer back in mid 2015 and I have continued to work on it recently, so this merge contains commits from both of us. Thanks particularly to @nbp and @matthiasbeyer for reviewing and suggesting improvements. I've tested this with the new test (nixos/tests/taskserver.nix) this branch adds and it fails because of the changes introduced by the closure-size branch, so we need to do additional work on base of this.
| * nixos/doc: Revert allowing olinks from optionsaszlig2016-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1d77dcaed37ab47bfe2d90711c01b475a514ff25. It will be reintroduced along with #14700 as a separate branch, as suggested by @nbp. I added this to this branch because I thought it was a necessary dependency, but it turns out that the build of the manual/manpages still succeeds and merely prints a warning like this: warning: failed to load external entity "olinkdb.xml" Olink error: could not open target database 'olinkdb.xml'. Error: unresolved olink: targetdoc/targetptr = 'manual/module-taskserver'. The olink itself will be replaced by "???", so users looking at the description of the option in question will still see the reference to the NixOS manual, like this: More instructions about NixOS in conjuction with Taskserver can be found in the NixOS manual at ???. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
| * nixos/doc: Allow refs from options to the manualaszlig2016-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My first attempt to do this was to just use a conditional <refsection/> in order to not create exact references in the manpage but create the reference in the HTML manual, as suggested by @edolstra on IRC. Later I went on to use <olink/> to reference sections of the manual, but in order to do that, we need to overhaul how we generate the manual and manpages. So, that's where we are now: There is a new derivation called "manual-olinkdb", which is the olinkdb for the HTML manual, which in turn creates the olinkdb.xml file and the manual.db. The former contains the targetdoc references and the latter the specific targetptr elements. The reason why I included the olinkdb.xml verbatim is that first of all the DTD is dependent on the Docbook XSL sources and the references within the olinkdb.xml entities are relative to the current directory. So using a store path for that would end up searching for the manual.db directly in /nix/store/manual.db. Unfortunately, the <olinks/> that end up in the output file are relative, so for example if you're clicking on one of these within the PDF, the URL is searched in the current directory. However, the sections from the olink's text are still valid, so we could use an alternative URL for that in the future. The manual doesn't contain any links, so even referencing the relative URL shouldn't do any harm. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @edolstra
| * nixos/taskserver: Add module documentationaszlig2016-04-07
| | | | | | | | | | | | | | It's not by any means exhaustive, but we're still going to change the implementation, so let's just use this as a starting point. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | Merge branch 'staging', containing closure-size #7701Vladimír Čunát2016-04-13
|\ \
| * | Merge branch 'master' into closure-sizeVladimír Čunát2016-04-01
| |\| | | | | | | | | | | | | Beware that stdenv doesn't build. It seems something more will be needed than just resolution of merge conflicts.
| * | Merge master into closure-sizeVladimír Čunát2016-03-08
| |\ \ | | | | | | | | | | | | | | | | The kde-5 stuff still didn't merge well. I hand-fixed what I saw, but there may be more problems.
| * \ \ Merge branch 'master' into closure-sizeVladimír Čunát2016-02-14
| |\ \ \
| * \ \ \ Merge recent 'staging' into closure-sizeVladimír Čunát2016-02-03
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Let's get rid of those merge conflicts.
| * \ \ \ \ Merge branch 'master' into closure-sizeVladimír Čunát2015-12-31
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | TODO: there was more significant refactoring of qtbase and plasma 5.5 on master, and I'm deferring pointing to correct outputs to later.
| * \ \ \ \ \ Merge remote-tracking branch 'origin/master' into closure-sizeLuca Bruno2015-11-25
| |\ \ \ \ \ \
| * | | | | | | libxml2,libxslt: split into multiple outputsVladimír Čunát2015-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed all references, hopefully. libxml2Python is slightly hacky now, but it seems to work.
* | | | | | | | input-method module: fix folder caseEric Sagnes2016-04-12
| | | | | | | |