Commit Graph

3900 Commits

Author SHA1 Message Date
pennae
1229e735ac nixos-render-docs: add structural includes, use for manual
this adds support for structural includes to nixos-render-docs.
structural includes provide a way to denote the (sub)structure of the
nixos manual in the markdown source files, very similar to how we used
literal docbook blocks before, and are processed by nixos-render-docs
without involvement of xml tooling. this will ultimately allow us to
emit the nixos manual in other formats as well, e.g. html, without going
through docbook at all.

alternatives to this source layout were also considered:

a parallel structure using e.g. toml files that describe the document
tree and links to each part is possible, but much more complicated to
implement than the solution chosen here and makes it harder to follow
which files have what substructure. it also makes it much harder to
include a substructure in the middle of a file.

much the same goes for command-line arguments to the converter, only
that command-lined arguments are even harder to specify correctly and
cannot be reasonably pulled together from many places without involving
another layer of tooling. cli arguments would also mean that the manual
structure would be fixed in default.nix, which is also not ideal.
2023-02-12 13:02:42 +01:00
pennae
8b7f0e559a nixos/manual: clean up default.nix a bit
- inline copySources into single user
- remove `inherit sources` where it's not necessary
- inline generatedSources. this will go away completely soon so we may
  as well.
- inline modulesDoc into manual-combined. this too will go away soon.
- inline sources into manual-combined. this too will go away soon.
2023-02-12 11:58:20 +01:00
pennae
ef413e3eac nixos/manual: split manpages-combined from manual-combined
once we generate the entire manual-combined.xml with a single
nixos-render-docs invocation we will no longer need any options xml
files. likewise we do not need the test options xml in the manpage
build. splitting manpages-combined from manual-combined also allows
these two to run in parallel, slightly improving build times.
2023-02-12 11:56:26 +01:00
pennae
9977f99740 nixos/manual: inline man-configuration.xml
man-configuration.xml is the only manpage we build using docbook at this
time, and man-pages.xml includes just this one file. inline
man-configuration.nix into man-pages.xml so we can refer to a single
file to grab the manpage sources later rather than using find-by-suffix.
2023-02-12 11:55:10 +01:00
pennae
d041641b1a nixos/manual: remove md-to-db
with manual chapters no longer needing pandoc for their conversion to
xml we can get rid of this source of confusion, and its huge cache of
xml files.
2023-02-10 06:40:15 +01:00
pennae
652a283e51 nixos-render-docs: render manual chapters during manual build
render all manual chapters to docbook from scratch every time the manual
is built. nixos-render-docs is quick enough at this to not worry about
the cost (needing only about a second), and it means we can remove
md-to-db.sh in the next commit.

no changes to the rendered html manual except for replacements and smartquotes.
2023-02-10 06:40:02 +01:00
pennae
67917ac102 nixos-render-docs: rename manual docbook converter to docbook-section
we'll soon add another docbook converter that does not emit a section as
a collection of chapters, but sections or chapters on their own. this
should clarify naming a bit before there can be any confusion.
2023-02-10 06:40:02 +01:00
pennae
1c9f55ec64 nixos/manual: convert <kbd> elements to bracketed spans
since support for kbd elements was added with explicit intent in #175128
it seems like a good idea to support this in nixos-render-docs instead
of just dropping it in favor of `*F12*` etc. since it's a very rare
thing in the manual and purely presentational it makes sense to use
bracketed spans instead of a new myst role.

the html-elements.lua plugin is now somewhat misnamed, but it'll go away
very soon so we don't want to bother renaming it.
2023-02-10 06:40:01 +01:00
pennae
65d749c80b nixos/manual: inline the single footnote
this is a lot easier than adding footnote support for just the one
instance. if a use case for footnotes appears in the future (e.g. if we
wanted to render the nixpkgs manual with nixos-render-docs as well) this
decision should be reevaluated.
2023-02-10 06:40:01 +01:00
pennae
2ad93ab199 nixos/manual: remove remaining docbook tags
there's one remaining instance of literal docbook tags in the manual.
replace it with a literal (as has been done for package tags everywhere else).
2023-02-10 06:40:01 +01:00
pennae
bb34d5d6d4 nixos/manual: replace ids on blocks with inline anchors
nixos-render-docs supports inline anchors, but not ids for blocks. it
seems wise to reserve blocks for special cases that don't have other
syntax already, like admonitions.
2023-02-10 06:40:01 +01:00
pennae
2e3d9e8d74 nixos/manual: remove .unnumbered section attributes
pandoc would drop these when converting to docbook, just like it dropped
.title block classes.
2023-02-10 06:40:01 +01:00
pennae
a15d7335a5 nixos/manual: remove .title fenced divs
pandoc drops .title classes when rendering to docbook, so these are
effectively just paragraphs anyway. without support for including them
in a table of contents the complexity of parsing them in
nixos-render-docs won't be warranted.
2023-02-10 06:40:00 +01:00
pennae
8163651338 nixos/manual: fix option-declarations sections
the examples for mkPackageOption weren't terminated, leading to pretty
odd nesting of docbook (and thus html) elements. close them properly.

also turn the (likewise unclosed) fenced div containing just an anchor
id and a class that will be silently dropped to an inline anchor while
we're here. we'd have to convert it anyway later.
2023-02-10 06:40:00 +01:00
pennae
ba4bcdc5e4 nixos/manual: remove some newlines from deflists
markdown-it parses deflists slitghtly differently than pandoc does. in
these two cases pandoc would find a deflist item while markdown-it would
not, instead it'd find a lone colon and the rest of the text.
2023-02-10 06:40:00 +01:00
pennae
861ebec769 nixos/manual: don't use multi-definitions in installer chapter
pandoc renders these to multiple docbook paragraphs in a single
definition for the term, not multiple *actual* definitions for the same
term. this is most likely not what is intended here, so let's use
multiple paragraphs instead.
2023-02-10 06:40:00 +01:00
pennae
7098315342 nixos/manual: delete disabled xincludes
userconfiguration.xml hasn't existed for a while, and this comment will
interfere with processing we'll be doing shortly.
2023-02-10 06:40:00 +01:00
pennae
f1e888a53c nixos/manual: moving contributing chapter toc entry
this should be placed before the appendices, not between them. might
even have a good place in the development part, but that's a decision
for another day.
2023-02-10 06:40:00 +01:00
pennae
10f2c3cacf nixos/manual: remove sources input from manpages drv
it's not used. holdover from when manpages were written in docbook.
2023-02-10 06:40:00 +01:00
Alper Çelik
0b74f9829f
nixos/plasma5: use vlc phonon backend by default 2023-02-09 13:53:28 +03:00
Justin Bedő
f2ab8c706d
Merge pull request #158486 from ShamrockLee/singularity-apptainer
singularity: fix defaultPath and reflect upstream changes
2023-02-08 23:47:32 +00:00
pennae
10a4f0daca nixos-render-docs: add options manpage converter
mdoc is just too slow to render on groff, and semantic markup doesn't
help us any for generated pages.

this produces a lot of changes to configuration.nix.5, but only few
rendering changes. most of those seem to be place losing a space where
docbook emitted roff code that did not faithfully represent the input
text, though a few places also gained space where docbook dropped them.
notably we also don't need the compatibility code docbook-xsl emitted
because that problem was fixed over a decade ago.

this will handle block quotes, which the docbook stylesheets turned into
a mess of roff requests that ended up showing up in the output instead
of being processed.
2023-02-08 15:23:34 +01:00
Yueh-Shun Li
71a89291ee apptainer, singularity: enable non-FHS --fakeroot support
This patch provides input arguments `newuidmapPath` and `newgidmapPath`
for apptainer and singularity to specify the path to the SUID-ed executables
newuidmap and newgidmap where they are not available from the FHS PATH.

As NixOS places those suided executables in a non-FHS position
(/run/wrapper/bin), this patch provides
programs.singularity.enableFakeroot option and implement with the above
input parameters.
2023-02-08 18:04:05 +08:00
Yueh-Shun Li
50788d2fb0 apptainer, singularity: fix defaultPath and reflect upstream changes
Upstream changes:
singularity 3.8.7 (the legacy) -> apptainer 1.1.3 (the renamed) / singularity 3.10.4 (Sylabs's fork)

Build process:
*   Share between different sources
*   Fix the sed regexp to make defaultPath patch work
*   allowGoReference is now true
*   Provied input parameter removeCompat (default to false)
    that removes the compatible "*singularity*" symbolic links
    and related autocompletion files when projectName != "singularity"
*   Change localstatedir to /var/lib
*   Format with nixpkgs-fmt
*   Fix the defaultPath patching
    and use it instead of the `<executable> path` config directive
    deprecated in Apptainer
*   Provide dependencies for new functionalities such as
    squashfuse (unprivileged squashfs mount)
*   Provide an attribute `defaultPathInputs` to override
    prefix of container runtime default PATH

NixOS module programs.singularity:
*   Allow users to specify packages
*   Place related directories to /var/lib
*   Format with nixpkgs-fmt

singularity-tools:
*   Allow users to specify packages
*   Place related directories to /var/lib when building images in VM
2023-02-08 18:03:11 +08:00
Will Fancher
1406dd02a9 sshd: Cyphers -> Ciphers 2023-02-07 13:54:36 -05:00
Tim Fenney
fab09085df
doc/nixos: prefer the verb 'log in' (#214616)
* doc/nixos: prefer the term 'login'

Change "re-log" to "login again."

* Update nixos/doc/manual/configuration/xfce.chapter.md

Co-authored-by: Naïm Favier <n@monade.li>

* Change also xml.

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-07 10:48:31 +01:00
Nick Cao
3aee0744e8
Merge pull request #214982 from Janik-Haag/master
qdmr: fixup
2023-02-07 10:09:49 +08:00
figsoda
42d1d60a92
Merge pull request #206773 from SuperSandro2000/cleanup-unused-bindings
treewide: cleanup some unused bindings
2023-02-06 20:07:50 -05:00
Sandro Jäckel
50e0012f9d
treewide: cleanup some unused bindings 2023-02-07 01:36:15 +01:00
Matthieu Coudron
ef5da70d66
services.openssh: rename several settings (#211991)
* services.openssh: rename several settings

... to match the sshd config format (makes transition smoother), namely:
services.openssh.forwardX11 -> services.openssh.settings.X11Forwarding
services.openssh.cyphers -> services.openssh.settings.Cyphers
services.openssh.macs -> services.openssh.settings.Macs
services.openssh.kexAlgorithms -> services.openssh.settings.KexAlgorithms
services.openssh.gatewayPorts -> services.openssh.settings.GatewayPorts

* release-notes: mention openssh renaming

* chore: regenerated release-notes
2023-02-07 00:11:18 +01:00
Sandro
d47709d1ef
Merge pull request #208189 from numinit/update-nebula-module 2023-02-06 23:14:58 +01:00
Janik H
e24028141f qdmr: fixup 2023-02-06 20:19:42 +01:00
Florian Klink
5aa52365e7
Merge pull request #214103 from NickCao/zram
nixos/zram: use zram-generator
2023-02-06 12:53:19 +01:00
Nick Cao
701390c82b
Merge pull request #214809 from drupol/fix/update-pihole-exporter
fix: `pihole-exporter` NixOS module
2023-02-06 18:37:11 +08:00
Pol Dellaiera
4e7f20ade9 nixos/prometheus-pihole-exporter: update configuration options
The `interval` configuration option doesn't exist and has been removed.
The `timeout` configuration option has been added.
2023-02-06 11:35:51 +01:00
ChaosAttractor
b0e773adde nixos/sharing: init
Co-Authored-By: fee1-dead <ent3rm4n@gmail.com>
2023-02-06 11:35:42 +01:00
Michael Lohmann
516a9816a3
nixos/manual/manpages: add description on previewing manpage files (#214833)
nixos/manual/manpages: add description on previewing manpage files

I was a bit lost with the new manpage format and it took me some time to
find the corresponding pull request by @pennae with a very helpful
comment of @alyssais that mentioned this:
https://github.com/NixOS/nixpkgs/pull/213256#issuecomment-1407713215

As @pennae noted, the file path is only a fallback if it cannot be resolved in the man database

Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2023-02-06 00:37:38 +01:00
Morgan Jones
90581c977f nixos/nebula: don't run as root; support relays 2023-02-04 16:24:45 -08:00
Anderson Torres
1149f14600
Merge pull request #210902 from Yarny0/tvbrowser
tvbrowser: fix, update, build from source, add small test
2023-02-04 16:10:53 -03:00
Yarny0
b2fdba820a tvbrowser: build from source
This commit changes from a precompiled bundle to
a source file. Accordingly, the expression file is renamed to `default.nix`
and the old attribute name is changed to `tvbrowser`, the old one being now a
throw-message.

The upstream build script tries to download the news plugin; so, we provide
this and pass it as a parameter.

Given that this is still a piece of a precompiled Java bytecode, along with a
main readable source bundle, `meta.sourceProvenance` is updated accordingly.
2023-02-04 17:55:39 +01:00
Nick Cao
989b9901dc
nixos/zram: add release note about the switch to zram-generator 2023-02-04 10:38:51 +08:00
K900
b3440c2e35
Merge pull request #214317 from K900/tempo-2.0
tempo: 1.5.0 -> 2.0.0
2023-02-03 21:51:28 +03:00
Ulrik Strid
f12b9ea461 buildDunePackage: default to strictDeps = true 2023-02-03 08:59:34 +01:00
K900
85e223976b tempo: 1.5.0 -> 2.0.0
Diff: https://github.com/grafana/tempo/compare/v1.5.0...v2.0.0
2023-02-03 10:47:18 +03:00
pennae
0c601b12bf nixos/manual: translate manpages to mdoc
since we want to move away from docbook and having docbook manpages
around is going to block further progress we have to translate the
current nixos manpages from docbook it *something* else. mdoc seems the
most appropriate choice since markdown can't represent all the things
manpages can differentiate with even more extensions. if we ever need
html manpages we can render them using troff, like many of the online
manpage viewers, or rewrite them again. since we haven't had html
manpages for any of these in many years that seems unlikely to happen.

unlike most of the recent markdown conversions this comes with a lot of
minor rendering changes, mostly in spacing. docbook-xslt creates manual
pages in a very different dialect than mdoc (which is used here).
2023-02-03 02:23:07 +01:00
Florian Klink
fbfe2907af nixos/nscd: use nsncd by default
As announced in the NixOS 22.11 release notes, 23.05 will switch NixOS
to using nsncd (a non-caching reimplementation in Rust) as NSS lookup
dispatcher, instead of the buggy and deprecated glibc-provided nscd.

If you need to switch back, set `services.nscd.enableNsncd = false`, but
please open an issue in nixpkgs so your issue can be fixed.
2023-02-02 11:07:25 +01:00
0x4A6F
321588818e
Merge pull request #209733 from Janik-Haag/master-qdmr
qdmr: init at 0.11.2, added janik as maintainer
2023-02-02 01:31:32 +01:00
Janik H
5c80430c37 rl-2305: Mention QDMR addition 2023-02-01 20:46:17 +01:00
Sandro
8b598ff3d6
Merge pull request #199731 from Luflosi/kubo-idempotence 2023-01-31 22:12:49 +01:00
Sandro
600adcfdcc
Merge pull request #187994 from Izorkin/update-nginx-gzip 2023-01-31 20:41:59 +01:00