Commit Graph

827 Commits

Author SHA1 Message Date
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
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
Robert Hensing
e135c417bb nixos/documentation: Forward the specialArgs
This is necessary when generating the complete documenation for
configurations that import modules from the module arguments.
2022-07-21 15:31:35 +02:00
Sandro
769329f5f8
Merge pull request #172058 from midchildan/improvement/1pw-gid
nixos/_1password{,-gui}: use a static gid
2022-07-17 01:21:42 +02:00
Lucas Eduardo
e13404895a
nixos/label: add validation for system.nixos.label (#181479)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-07-15 11:45:25 +02:00
Robert Hensing
acd969a4dd nixos/nixpkgs.nix: Recommend hostPlatform instead of system
The ${opt.*} syntax will print the full path when NixOS is used
as a submodule.

nixpkgs.system / nixpkgs.localSystem must not be read by any
other module because its meaning is ambiguous in cross vs
non-cross contexts. hostPlatform is generally what you need.
*Where* you build something generally doesn't matter in a
system _configuration_ context like NixOS.
2022-07-10 13:36:24 +02:00
Alyssa Ross
0a2337c4da
nixos/ids: fix typo in comment 2022-06-28 11:58:47 +00:00
Thomas Depierre
fc658c86f7 riak, nixos/riak: remove
Riak have been updated a lot since the version 2.2 (now 3.0.10) but
has seen no updated to the package. This is at this point
a problem forcing us to maintain old versions of erlang.

We would be happy to re accept a newer version of Riak if someone want
to spend the time to set it up.
2022-06-25 15:51:18 -04:00
Robert Hensing
985b6812d6 nixos/nixpkgs.nix: Ignore the default system in check
We might want to make this more strict at some point.
2022-06-25 10:40:41 +02:00
Robert Hensing
c9fea8c03c nixos: Add simplified nixpkgs.{hostSystem,buildSystem} 2022-06-21 14:22:36 +02:00
pennae
320aa2a791 treewide: attempt at markdown option docs 2022-06-12 12:44:38 +02:00
Robert Hensing
53326189ba
Merge pull request #174829 from blaggacao/fix/cleanup-nixpkgs-initial-system
nixos: remove effect-less nixpgks.initialSystem
2022-05-31 16:26:25 +02:00
David Arnold
646e214e11
nixos: remove effect-less nixpgks.initialSystem
- initialSystem was keeping track of the evaluating system
- it had been used by `nesting.children`
- since, 20.09, `nesting.children` has been replaced with named
  specializations

It appears that this option was left over and not cleand up properly.
2022-05-26 20:00:05 -05:00
Matthew Toohey
e41c423b01 nixos/version: add trailing newline to os-release 2022-05-25 20:25:27 -04:00
Daniel Beecham
7502133997
nixos/locate: clarification in warning message (#173247)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-05-17 16:47:33 +02:00
midchildan
2a58907251
nixos/_1password{,-gui}: use a static gid 2022-05-15 22:15:11 +09:00
Klemens Nanni
199933efdf nixos/mandoc: Leave shell argument quoting to nix
Manually crafting a quoted string that otherwise lacks any safe-guards
looks odd.

Use `escapeShellArg` instead before prepending the path.
2022-05-09 10:48:54 +02:00
Janne Heß
e2703d2697
nixos/version: Warn about using the default of system.stateVersion 2022-05-05 12:22:31 +02:00
github-actions[bot]
c57af6e8b0
Merge staging-next into staging 2022-04-08 18:11:40 +00:00
Alyssa Ross
aeed45992b
nixos/documentation: apply cleanSourceFilter
This will prevent result symlinks, etc. from causing rebuilds of the
manual.
2022-04-08 12:20:28 +00:00
Martin Weinelt
f95a3d1140 Merge remote-tracking branch 'origin/staging-next' into staging 2022-04-04 00:46:25 +02:00
Janne Heß
7cdc4dd5d1
Merge pull request #164943 from ElvishJerricco/systemd-initrd-reuse-systemd-module
initrd: Opt-in bare bones systemd-based initrd
2022-04-03 15:53:02 +02:00
Janne Heß
7ebb4ebe40
nixos/systemd-stage-1: Append (Initrd) to /etc/initrd-release
This is more in line with what dracut does (it appends "Initramfs") and
makes it clear where the boot is currently at when it hangs.
2022-04-01 13:54:09 +02:00
Artturin
c3c0444949 findutils: move {locate,updatedb} to a separate $locate output
https://github.com/NixOS/nixpkgs/issues/53925
2022-03-26 21:55:19 +02:00
Sandro
99f75e17d3
Merge pull request #164270 from alyssais/locate-pruneNames 2022-03-16 21:17:48 +01:00
Alyssa Ross
a65930ca21
nixos/locate: disable default findutils pruneNames
It doesn't make sense to have a default value for this that's
incompatible with the default locate implementation.  It means that
just doing services.locate.enable = true; generates a warning, even if
you don't care about pruning anything.  So only use the default prune
list if the locate implementation supports it (i.e., isn't findutils).
2022-03-16 11:06:38 +00:00
Vladimir Serov
0c68e23f52
nixos/modules/version: remove unnecessary quoting
(In cases it is unnecessary)
2022-03-15 14:17:59 +03:00
Peter Hoeg
bae181d3f0 nixos/os-release: generate from attrset 2022-03-04 09:36:40 +08:00
Renaud
671a068a01
Remove F-PROT package and service module (EoL) (#160372) 2022-03-02 21:51:47 +02:00
K900
cb2cfba6f7 treewide: switch all desktop file generators to new API
Notably:
- remove explicit arguments that match the defaults
- convert everything to the right Nix types
2022-02-25 13:40:38 -08:00
ajs124
9748295636
Merge pull request #160237 from helsinki-systems/drop/virtuoso
virtuoso: drop
2022-02-23 23:48:52 +01:00
ajs124
31462e501e nixos/virtuoso: drop 2022-02-16 01:01:13 +01:00
Michael Reilly
787219edaf nixos/modules/misc/wordlist: init
Addresses #16545.  Allows for user defined environment variables that
hold paths to wordlists.  This is to allow for easy access to wordlists
for users and scripts, (in other distributions a convenient wordlist is
typically found in /usr/share/dict/words or similar).  The default
wordlist is the one found in scowl, for no other reason than that's the
one that was mentioned in the linked issue.

It is possible to specify multiple environment variables as well.  This
is for users who need multiple wordlists (such as multilingual users).
2022-02-09 14:52:12 -05:00
Robert Hensing
6b9ef93b98 Revert "flake.nix: Set nixpkgs.config.path"
This reverts commit 0b222173db.
2022-01-27 12:53:29 +01:00
Robert Hensing
aa877346f8 Revert "nixos/documentation: avoid copying nixpkgs subpaths, iteration 2"
This reverts commit 15a00be189.
2022-01-27 12:35:16 +01:00
Robert Hensing
647b304306 Revert "nixos/documentation.nix: Only use store non-flake pkgs.path directly when already copied"
This reverts commit fecf325059.
2022-01-27 12:35:16 +01:00
Robert Hensing
a732a8de1c Revert "nixos/documentation.nix: Use builtins.storePath when appropriate"
This reverts commit 5d29853c38.
2022-01-27 12:33:10 +01:00
Eirik Nygaard
d53ef8b822
nixos/locate Add support for plocate (#156185) 2022-01-24 00:36:51 +01:00
Robert Hensing
5d29853c38 nixos/documentation.nix: Use builtins.storePath when appropriate 2022-01-22 16:47:02 +01:00
Robert Hensing
0b222173db flake.nix: Set nixpkgs.config.path 2022-01-22 16:43:05 +01:00
Robert Hensing
fecf325059 nixos/documentation.nix: Only use store non-flake pkgs.path directly when already copied 2022-01-22 16:42:08 +01:00