Commit Graph

866 Commits

Author SHA1 Message Date
nikstur
066151e0de
Merge pull request #277633 from nikstur/image-repart-improvements
Image repart improvements
2024-01-19 15:25:08 +01:00
nikstur
a34af9a955 image/repart: add version and compression options
The version option is needed if you want to implement partition &
systemd-boot based A/B booting where the version information is encoded
in the files on the ESP. See systemd-sysupate docs for more details on
this:
https://www.freedesktop.org/software/systemd/man/latest/sysupdate.d.html

Note, however, that this is not *only* useful for systemd-sysupdate but
also for other similar updating tools/mechanisms.
2024-01-19 14:43:29 +01:00
nikstur
1e70382b81 nixos/version: add options to identify images
This is useful when building appliance images that use among other
things partition based A/B updates.
2024-01-19 01:16:49 +01:00
pennae
4374f2feda nixos/doc: avoid bash argument list size limit
see #277861. as the module list grows the argument size in the
lazy-options nix call grows, eventually reaching a hard limit and
causing the build to fail. writing the list to a file instead and import
it instead of providing it directly circumvents this.
2023-12-31 18:08:46 +01:00
sternenseemann
4cf470c97c nixos/mandoc: don't create leading double slashes in MANPATH 2023-12-24 18:44:36 +01:00
aleksana
ad235e5072 nixos/mandoc: add man.conf settings option 2023-12-24 18:44:36 +01:00
aleksana
4f3e29f3a3 nixos/mandoc: use MANPATH environment variable 2023-12-24 18:44:36 +01:00
aleksana
ab222895b1 nixos/mandoc: fix paths don't exist failure 2023-12-24 18:44:36 +01:00
Sandro
d011c93f7d
nixos/hound: adopt, rework, cleanup (#268983)
- add me as maintainer
- remove hardcoded user id
- validate syntax of config file
- remove superfluous option extraGroups
- use mkPackageOptionMD
2023-12-05 15:59:26 +01:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Artturin
be6349fdee Revert "23.11 beta release"
This line shouldn't be changed from pre to beta on master, only in the beta branch

https://nixos.github.io/release-wiki/Branch-Off.html#on-the-release-branch

This reverts commit dc7b3febf8.

Revert "nixos/release: fix versionSuffix eval"

This reverts commit 625c450024.
2023-11-22 22:39:48 +02:00
figsoda
dc7b3febf8
23.11 beta release
Signed-off-by: figsoda <figsoda@pm.me>
2023-11-21 14:04:49 -05:00
tu-maurice
40c06a143f prayer: remove 2023-11-10 20:44:28 -03:00
K900
424b0cefa4 nixos/version: rewrite stateVersion documentation
Match the comment in nixos-generate-config and add some more details for the curious.
2023-10-29 15:02:50 +03:00
Alyssa Ross
a3ba049545 nixos/nixpkgs.nix: use less confusing example systems
system and config shouldn't both be specified — each will be filled in
based on the other when the system is elaborated.
2023-10-25 08:33:14 +00:00
Bjørn Forsman
8a8ec36615 Revert "ddclient: remove package and module on upstream maintainer request"
This reverts commit d35df28f65.

Upstream ddclient has new maintainers and made a new release (update in
next commit(s)).
2023-10-20 23:49:18 +02:00
Bjørn Forsman
142074c2a8 nixos: fix bad mkEnableOption descriptions
Fix descriptions that don't account for (1) the "Whether to enable"
prefix or (2) the automatically added trailing dot.
2023-10-20 16:22:40 +01:00
Bob van der Linden
423c86a70b
nixos/locate: rename option locate -> package 2023-10-08 10:09:12 +02:00
Sandro Jäckel
b53f817088
nixos/locate: cleanup optional parenthesis 2023-10-03 00:19:57 +02:00
K900
524181b5b8 nixos/locate: rip out dbfile overrides
All the locate versions we have support LOCATE_PATH, so just use that
instead of adding indirections all over the place AND forcing people
to rebuild their locate implementation if they want the path changed.
2023-10-02 15:10:22 +03:00
K900
eb8ce7930d
Merge pull request #257458 from K900/die-nixpkgs-config-die
treewide: fail when `nixpkgs.config` is set with explicit `pkgs`, remove all `nixpkgs.config` usages in in-tree modules
2023-10-01 10:11:15 +03:00
Silvan Mosberger
11406bdc0e nixos/nixpkgs: Rewrite overlays option docs
henrik-ch was also here :)

Co-Authored-By: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-28 16:27:33 +02:00
K900
38461ff27a nixos/locate: remove nixpkgs.config usage 2023-09-26 18:02:00 +03:00
K900
ce87196a00 nixos/nixpkgs: assert that nixpkgs.config is not set when pkgs is passed in externally
This is a common footgun people hit often. Remove it.
2023-09-26 18:02:00 +03:00
Doron Behar
924a07dc22 nixos/doc: Improve documentation of documentation
- Move contents of README.md from
  nixos/modules/installer/tools/manpages/ to
  nixos/doc/manual/contributing-to-this-manual.chapter.md.
- Don't mention DocBook as its obsolete and too specific.
- Rename derivation attribute name of configuration.nix(5) manual page,
  both on the `contributing-to-this-manual.chapter.md`, and in other
  places.
2023-08-12 22:28:04 +03:00
Doron Behar
32f75a0f2a nixos/install-tools: Add manpages to packages instead of seperating them
Since each such `nixos-*` tool has it's own derivation, exposed in pkgs,
There is no point in separating the manuals from the packages. If
someone wishes to have the tools without the manuals, they can use
meta.outputsToInstall to disable the installation of the manpages of
these packages. This Fixes #244450.
2023-08-12 18:01:06 +03:00
Ryan Lahfa
0d2f526dbb
Merge pull request #241462 from SuperSandro2000/remove-ddclient 2023-07-08 14:33:00 +02:00
Robert Hensing
5c0c96a828 nixos/config/nix-channel: Factor out root channel initialization 2023-07-05 14:54:29 +02:00
Sandro Jäckel
d35df28f65
ddclient: remove package and module on upstream maintainer request 2023-07-04 16:46:53 +02:00
Will Fancher
b154feadb9
Merge pull request #237823 from lilyinstarlight/fix/systemd-initrd-no-rev
nixos/version: remove nixpkgs commit rev from initrd
2023-06-24 20:25:32 -04:00
Robert Hensing
b1ad9cd27d
Merge pull request #238136 from hercules-ci/nixos-nixpkgs-dont-check-when-_module.args.pkgs-is-set
`nixos/nixpkgs`: Don't check when `_module.args.pkgs` is set
2023-06-23 19:17:36 +02:00
Robert Hensing
8f31bff794 nixos/nixpkgs: Don't check when _module.args.pkgs is set 2023-06-16 22:08:16 +02:00
Robert Hensing
a742767baf nixos/nixpkgs: Make default Nixpkgs lazy when overridden 2023-06-16 21:46:26 +02:00
Lily Foster
b5cc73db7d
nixos/version: remove nixpkgs commit rev from initrd
This avoids unnecessary initrd rebuilds when nothing in the initrd would
have changed aside from the nixpkgs revision.
2023-06-14 16:57:34 -04:00
pennae
f52f531a4e nixos/make-options-doc: deprecate docbook outputs
they're no longer necessary for us and will almost definitely start to
rot now (like commonmark and asciidoc outputs did previously). most
existing users seem to take the docbook output and run it through pandoc
to generate html, those can easily migrate to use commonmark instead.
other users will hopefully pipe up when they notice that things they rely
on are going away.

optionsUsedDocbook has only been around for one release and only exposed
to allow other places to generate warnings, so that does not deserve
such precautions.
2023-06-13 16:56:32 +02:00
pennae
0997ae1903 nixos/manual: disallow docbook option docs
it's been long in the making, and with 23.05 out we can finally disable
docbook option docs and default to markdown instead. this brings a
massive speed boost in manual and manpage builds, so much so that we may
consider enabling user module documentation by default.

we don't remove the docbook support code entirely yet because it's a lot
all over, and probably better removed in multiple separate changes.
2023-06-13 16:56:30 +02:00
figsoda
701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04:00
Robert Hensing
e5db80ae48 nixosModules.pkgsReadOnly: init 2023-05-10 15:55:09 +02:00
Robert Hensing
6e594fedb3 nixos/nixpkgs: Use types.pkgs 2023-05-10 15:55:09 +02:00
Robert Hensing
8054785157 lib/modules: Move class out of specialArgs 2023-05-06 18:32:58 +02:00
Robert Hensing
79703eef08 nixos,nixpkgs: Add module classes
This allows modules that declare their class to be checked.
While that's not most user modules, frameworks can take advantage
of this by setting declaring the module class for their users.
That way, the mistake of importing a module into the wrong hierarchy
can be reported more clearly in some cases.
2023-05-06 18:29:04 +02:00
ajs124
4f2152215a nixos/gitit: remove
has not been evaluated (in module-list) since 122d5e497e

Closes #167034
2023-04-03 13:19:31 +02:00
simeplejack-src
fe28e8f1e6 nixos/documentation: Fix desktopIcon, GenericName/Comment 2023-03-29 22:23:39 -04:00
Weijia Wang
c24a8ccc98 solr: drop 2023-03-16 16:17:04 +02:00
Winter
ee6517a915 Revert "nixos/polkit: guard static gid for polkituser behind state version"
This reverts commit 2265160fc0 and
e56db577a1.

Ideally, we shouldn't cause friction for users that bump `stateVersion`,
and I'd consider having to switch and/or manually hardcode a UID/GID
to supress the warning friction. I think it'd be more beneficial to, in
this rare case of an ID being missed, just let it be until more
discussion happens surrounding this overall issue.

See https://github.com/NixOS/nixpkgs/pull/217785 for more context.
2023-02-25 22:32:16 -05:00
Winter
15f1369b95 Revert "nixos/systemd-coredump: guard static gid for systemd-coredump behind state version"
This reverts commits f5483464d5 and
6b9583e5e1.

Ideally, we shouldn't cause friction for users that bump `stateVersion`,
and I'd consider having to switch and/or manually hardcode a UID/GID
to supress the warning friction. I think it'd be more beneficial to, in
this rare case of an ID being missed, just let it be until more
discussion happens surrounding this overall issue.

See https://github.com/NixOS/nixpkgs/pull/217785 for more context.
2023-02-25 22:31:56 -05:00
Jan Tojnar
6f0523e484 nixos/documentation: Link Devhelp files
While Devhelp now supports finding API documentation in `/share/doc` and the new `gi-docgen` toolchain places it there, older projects using gtk-doc (e.g. GLib) still install it to `/share/gtk-doc` and/or `/share/devhelp/books`.

For people using the major DEs this is not problem since they have `/share` in `pathsToLink` but we want to be explicit and make it work for everyone.
2023-02-25 01:53:57 +01:00
1sixth
e56db577a1
nixos/polkit: set static gid for polkituser
polkituser needs a group since https://github.com/NixOS/nixpkgs/pull/130522.
2023-02-22 08:46:55 +08:00
Izorkin
6b9583e5e1
nixos/systemd-coredump: fix group id 2023-02-08 20:48:13 +03:00
Jason Yundt
b1bb9bb6c8 treewide: fix backwards smart apostrophes
According to the Unicode Standard, you should use U+2019 RIGHT SINGLE
QUOTATION MARK for apostrophes [1]. Before this change, some of the text
in this repo would use U+2018 LEFT SINGLE QUOTATION MARKs instead.

[1]: https://www.unicode.org/versions/Unicode15.0.0/ch06.pdf#G12411
2023-02-06 07:24:42 -05:00
pennae
0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
pennae
df09c21fb2 nixos/documentation: deprecate docbook option docs
following the plan in https://github.com/NixOS/nixpkgs/pull/189318#discussion_r961764451

also adds an activation script to print the warning during activation
instead of during build, otherwise folks using the new CLI that hides
build logs by default might never see the warning.
2023-01-22 17:08:40 +01:00
Jeff Huffman
96ec8c7623 nixos/documentation.man.mandb: Add skipPackages option, and include nixos-version
prevents unnecessary recreation of man caches

Fixes #209835
2023-01-16 22:24:02 +01:00
Victor Fuentes
d3528cdc3d
nixos/version: add config.system.nixos.distroName and config.system.nixos.distroId 2023-01-14 16:19:06 -05:00
Lassulus
c366c3dbc8
Merge pull request #209064 from Lassulus/os-release-extra 2023-01-05 14:14:09 +01:00
pennae
9da5f12ecf modules: add mkPackageOptionMD
another transitional option factory, like mkAliasOptionModuleMD.
2023-01-05 02:33:13 +01:00
lassulus
5464e0a018 nixos/misc: add VARIANT_ID in /etc/os-release for identifying nixos installer
This is a feature useful for nixos-remote and other installation tools
that try to identify if the remote machine has been successfully booted
into an installer.
2023-01-04 19:11:41 +01:00
Robert Hensing
f03c7fb8d4 nixos/version: Only warn about unset stateVersion if used
If a configuration does not use services that depend on the
stateVersion, it does not need to be set.

This provides an incentive for services not to rely on
stateVersion, and not to burden users with this.
2022-12-28 14:35:14 +01:00
K900
2d3cf010fe
Revert "treewide: use nativeBuildInputs with runCommand instead of inlining" 2022-12-26 21:05:35 +03:00
Sandro
5af3f865e8
Merge pull request #206775 from SuperSandro2000/runCommand-nativeBuildInputs 2022-12-25 21:42:05 +01:00
Artturi
1c387ed1a6
Merge pull request #206709 from SuperSandro2000/mandb-misc
nixos/man-db: use nativeBuildInputs
2022-12-19 17:55:46 +02:00
Sandro Jäckel
26f704b545
treewide: use nativeBuildInputs with runCommand instead of inlining 2022-12-18 23:36:40 +01:00
Sandro Jäckel
a6fa6abb15
nixos/man-db: use nativeBuildInputs 2022-12-18 14:19:36 +01:00
figsoda
6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Naïm Favier
6a117e2759 nixos/doc: render option values using lib.generators.toPretty
Render un`_type`d defaults and examples as `literalExpression`s using
`lib.generators.toPretty` so that consumers don't have to reinvent Nix
pretty-printing. `renderOptionValue` is kept internal for now intentionally.

Make `toPretty` print floats as valid Nix values (without a tilde).

Get rid of the now-obsolete `substSpecial` function.

Move towards disallowing evaluation of packages in the manual by
raising a warning on `pkgs.foo.{outPath,drvPath}`; later, this should
throw an error. Instead, module authors should use `literalExpression`
and `mkPackageOption`.
2022-12-08 17:52:52 +01:00
figsoda
5195ca2346
Merge pull request #203826 from figsoda/lint
nixos/*: apply some lints from statix and nil
2022-12-01 11:20:11 -05:00
figsoda
fd4f865645 nixos/nixpkgs: remove unused binding 2022-11-30 17:27:31 -05:00
Jörg Thalheim
a42f7a0875 nixos/mandb: fix cross compiling 2022-11-22 20:13:25 +01:00
Maxime Brunet
29b5192b08
automatic-timezoned: init at 1.0.41 2022-11-16 15:26:21 -08:00
Brian Cooper
8b013b65a6
nixos/misc: fix grammar typo 2022-11-16 06:54:04 +00:00
Bernardo Meurer
39e63f110e
nixos/man-db: allow man-cache to be fetched from cache
Currently, we build `man-cache` with `runCommandLocal`, which causes it
to get re-built locally instead of fetched from cache. While the
resulting derivation might be small, it does take a fair bit of time to
build for all my systems, and would be _far_ quicker to fetch.

With this change, we use `runCommand` instead of `runCommandLocal`,
allowing it to get fetched from cache instead of rebuilt for all hosts.
2022-11-12 18:33:13 +00:00
Eelco Dolstra
2e860868fe nixos/modules/misc/documentation.nix: Don't use toString on a path
It gives a warning on the lazy-trees branch of Nix
(https://github.com/NixOS/nix/pull/6530) and should generally be
avoided because it causes an unnecessary copy to the store.
2022-10-28 17:05:03 +02:00
Robert Hensing
5d663a9171 nixos/nixpkgs.nix: Fix assertion when nixpkgs.pkgs is set 2022-10-27 13:41:01 +02:00
Robert Hensing
1e9864c85e nixos/nixpkgs: Only error when nixpkgs options are actually used 2022-10-20 11:19:20 +02:00
Christian Kögler
f7077ba131
nixos: Fix cross compilation of derivations defined in NixOS via pkgs 2022-09-11 17:11:37 +02:00
pennae
767485a0de lib/options: deprecate docbook text and literalDocBook
deprecate literalDocBook by adding a warning (that will not fire yet) to
its uses and other docbook literal strings by adding optional warning
message to mergeJSON.
2022-09-10 18:23:13 +02:00
pennae
f2ea09ecbe nixos/*: convert options with listings
minor rendering changes.
2022-08-31 17:27:36 +02:00
pennae
bd56368848 nixos/*: md-convert hidden plaintext options
most of these are hidden because they're either part of a submodule that
doesn't have its type rendered (eg because the submodule type is used in
an either type) or because they are explicitly hidden. some of them are
merely hidden from nix-doc-munge by how their option is put together.
2022-08-31 16:32:54 +02:00
pennae
9547123258 nixos/*: convert internal option descriptions to MD
we'll have to do it eventually, may as well be now.
2022-08-31 16:32:54 +02:00
pennae
ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae
c915b915b5 nixos/*: md-convert options with unordered lists
mostly no rendering changes. some lists (like simplelist) don't have an
exact translation to markdown, so we use a comma-separated list of
literals instead.
2022-08-31 16:32:53 +02:00
pennae
0cfcb5908c nixos/*: <screen> -> <programlisting>
most of the screen tags used in option docs are actually listings of
some sort. nsd had a notable exception where its screen usage was pretty
much a raw markdown block that made most sense to convert into docbook lists.
2022-08-31 16:27:24 +02:00
pennae
51a11254a7 nixos/*: literalDocBook -> literalMD
no change to rendered output
2022-08-27 19:18:29 +02:00
pennae
6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae
7e7d68a250 nixos/*: mark pre-existing markdown descriptions as mdDoc 2022-08-19 22:40:58 +02:00
Bernardo Meurer
5975411744
nixos/localtimed: fix service 2022-08-12 22:46:16 -04:00
pennae
50f9b3107a
Merge pull request #185474 from pennae/option-docs-md
nixos/*: more options md conversion
2022-08-12 23:23:26 +02:00
Robert Hensing
661c29c806
Merge pull request #181222 from hercules-ci/module-specialArgs
`_module.specialArgs` + unit test for nixos/documentation module
2022-08-08 11:53:10 +02:00
pennae
087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
pennae
423545fe48 nixos/*: normalize manpage references to single-line form
now nix-doc-munge will not introduce whitespace changes when it replaces
manpage references with the MD equivalent.

no change to the manpage, changes to the HTML manual are whitespace only.
2022-08-05 18:34:50 +02:00
pennae
16102dce2f nixos/*: replace <code> in option docs with <literal>
markdown can't represent the difference without another extension and
both the html manual and the manpage render them the same, so keeping the
distinction is not very useful on its own. with the distinction removed
we can automatically convert many options that use <code> tags to markdown.

the manpage remains unchanged, html manual does not render
differently (but class names on code tags do change from "code" to "literal").
2022-08-03 21:03:23 +02:00
pennae
6b13dd0e9e
Merge pull request #183491 from pennae/automatic-md-conversions
treewide: automatically md-convert option descriptions
2022-08-02 02:15:30 +02:00
Silvan Mosberger
fe2c9ae814
Merge pull request #177012 from hercules-ci/nixos-modular-system
`flake.lib.nixosSystem`: Allow `nixpkgs.system` to be set modularly; improve error message
2022-08-01 15:05:16 +02:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
pennae
4f91838584 nixos/misc: invariant option docs MD conversions 2022-07-24 13:01:18 +02:00
Robert Hensing
9aa588ecc3 nixos/documentation: Add unit test 2022-07-21 15:32:10 +02:00
Robert Hensing
ec3e1c6a3a nixos/documentation: Remove systemd/initrd dependency
Working towards a unit-testable documentation module.
2022-07-21 15:32:10 +02:00
Robert Hensing
08e6f45747 nixos: Declare module dependencies
Working towards a unit-testable documentation module.
2022-07-21 15:32:10 +02:00
Robert Hensing
5a98c63077 nixos: Move getty helpLine definition to getty module
Working towards a unit-testable documentation module.
2022-07-21 15:32:00 +02:00
Robert Hensing
9a0b26b216 nixos/documentation: Make extraModules configurable 2022-07-21 15:31:35 +02:00