Commit Graph

58 Commits

Author SHA1 Message Date
liberodark
a9cd681b8d nixos/ntpd-rs: hardening 2025-08-07 11:36:09 +05:30
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Franz Pletz
b1c964b557 nixos/tests/chrony: graphene-hardened works without mlock
Fix #423330. Broken by #416715.
2025-07-08 01:44:35 +02:00
Jonathan Davies
185eba3148 nixos/ntpd-rs: Validate the ntpd-rs.toml file 2025-06-30 15:24:05 +02:00
Sandro
48f5657fb9 nixos/chrony: fix defaultText rendering of enableMemoryLocking option 2025-06-28 18:22:12 +02:00
Franz Pletz
b333d60710 nixos/tests/chrony: not compatible with graphene-hardened anymore
Version 4.7 introduced the incompatibility, see #416005.
2025-06-14 16:56:34 +02:00
Franz Pletz
7a6c67e796 nixos/chrony: add systemd service notify support 2025-06-14 16:47:44 +02:00
Jonathan Davies
86d94b2d88 nixos/ntpd-rs: Handle configuring timeserver FQDN as a pool 2025-05-04 14:30:12 +00:00
Nico Felbinger
e0d1b49a46 chore: move meta option to top level in many modules 2025-04-19 18:27:48 +02:00
Silvan Mosberger
374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Arne Keller
5de8c5b941 nixos/chrony: fix memory locking issue with graphene-hardened-light (#356837) 2024-12-29 15:08:43 +01:00
Stefan Frijters
31942f20f4 nixos/ntpd: fix permissions error when creating drift file
This fixes "frequency file /var/lib/ntp/ntp.drift.TEMP: Permission denied".

Creating a directory via StateDirectory makes that directory /var/lib/ntp owned by root:root.
However, when running ntpd we change to user ntp (see ntpFlags), so the process cannot
actually use that directory.

Actually creating a home directory for the user at that location solves that problem.
2024-12-22 16:20:31 -06:00
Silvan Mosberger
4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
royce-c
9af100479c nixos/chrony: fix memory locking issue with graphene-hardened-light
The chronyd.service fails with 'graphene-hardened-light' unless enableMemoryLocking is set to false.
2024-11-17 16:07:36 -08:00
Pyrox
4e632e9c3f nixos/ntpd: Add hardening 2024-10-19 14:26:17 -04:00
Pyrox
53bc9450bc nixos/ntpd: Use StateDirectory instead of a preStart script 2024-10-19 14:26:00 -04:00
Pyrox
297f21e357 nixos/ntpd: format with nixfmt-rfc-style 2024-10-19 04:39:16 -04:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Franz Pletz
35c015ff91 nixos/ntpd-rs: fix metrics service 2024-01-17 15:06:20 +01:00
Franz Pletz
9707745cf8 nixos/ntpd-rs: init 2024-01-14 17:34:42 +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
Adrian Pistol
b30601bba2 nixos/chrony: Add missing rtcsync assertion.
Due to a lot of rebasing, I dropped my added assertion in #259405. This is important.
2023-11-19 09:08:26 -06:00
Adrian Pistol
7a1d45811e nixos/chrony: Let Chrony control/track RTC drift 2023-11-15 15:09:22 -06:00
Anthony Roussel
e30f48be94 treewide: fix redirected and broken URLs
Using the script in maintainers/scripts/update-redirected-urls.sh
2023-11-11 10:49:01 +01:00
Franz Pletz
c13c1412bf nixos/chrony: add enableMemoryLocking option
Fixes #222629.
2023-08-10 03:03:53 +02:00
Ben Wolsieffer
b92dae961c nixos/chrony: allow @chown syscall set
The module was allowing specific chown syscalls, which is brittle because
there are several and different ones are used by glibc on different
architectures. For example, fchownat was already added to the allowlist for
aarch64, while on armv6l chrony crashes because chown32 is not in the
allowlist.

systemd provides the @chown syscall set, which includes all the chown
syscalls and avoids this brittleness. I believe the syscalls would all be
equivalent from an attacker's perspective, so there is unlikely to be any
security impact.
2023-03-12 18:10:56 -05:00
Izorkin
59dbe319ce nixos/gitea: update SystemCallFilter 2023-01-31 10:08:32 -06:00
Izorkin
48ecda0962 nixos/chrony: disable PrivateDevices setting 2023-01-31 10:08:32 -06:00
Izorkin
b943fb24b7 chrony: update sandboxing options 2023-01-03 07:04:55 -06:00
Artturin
f4ea1208ec treewide: *Flags convert to list from str
*Flags implies a list

slightly relevant:
> stdenv: start deprecating non-list configureFlags https://github.com/NixOS/nixpkgs/pull/173172

the makeInstalledTests function in `nixos/tests/installed-tests/default.nix` isn't available outside of nixpkgs so
it's not a breaking change
2022-10-10 15:30:59 +03: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
61e93df189 nixos/*: automatically convert option docs to MD
once again using nix-doc-munge (69d080323a)
2022-08-03 22:46:41 +02:00
pennae
694d5b19d3 nixos/*: replace </para><para> with double linebreaks
our xslt already replaces double line breaks with a paragraph close and
reopen. not using explicit para tags lets nix-doc-munge convert more
descriptions losslessly.

only whitespace changes to generated documents, except for two
strongswan options gaining paragraph two breaks they arguably should've
had anyway.
2022-08-03 20:39:21 +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
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Naïm Favier
2ddc335e6f nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Guillaume Girol
615db90f3d nixos/openntpd, nixos/ntp: define group, fix after #133166 2021-09-18 14:42:08 +02:00
Martin Weinelt
611bc7c23b Merge pull request #111692 from lopsided98/chrony-initstepslew-types
nixos/chrony: split the initstepslew attrset into options
2021-08-08 15:03:06 +02:00
Poscat
6e3cecf1f7 nixos/chrony: wait for dns services to start up before starting 2021-08-06 21:03:55 +08:00
Ben Wolsieffer
6f4e6cd819 nixos/chrony: split the initstepslew attrset into options
Add explicit options for initstepslew.enabled and initstepslew.threshold, rather
than using an attrset.
2021-02-02 19:26:47 -05:00
Fritz Otlinghaus
31345193f0 nixos/chrony: add types 2021-01-24 13:50:35 +01:00
Anderson Torres
0f31f03f22 Merge pull request #108578 from ctem/feature/chrony
nixos/chrony: add support for Network Time Security (NTS) authentication
2021-01-22 09:36:08 -03:00
Scriptkiddi
1572940688 networking, chrony, ntpd, timesyncd: add timeServers option type 2021-01-20 10:54:24 +01:00
Ctem
54778551d6 nixos/chrony: add option to change package 2021-01-06 20:05:05 +09:00
Ctem
2aec205bd2 nixos/chrony: add option to change state directory 2021-01-06 20:04:50 +09:00
Ctem
2e131e1f45 nixos/chrony: add option to choose between two commonly used server directive options 2021-01-06 20:04:41 +09:00
Ctem
9550d865e9 nixos/chrony: add option to enable NTS authentication 2021-01-06 20:04:20 +09:00
Ricardo M. Correia
48f8b85e1c nixos/chrony: fix owner of chrony drift file
It had become owned by root due to #97546.
2020-11-02 21:41:49 +01:00
Kevin Cox
57b9d5c144 chrony: Create state directory with correct owner.
Fixes https://github.com/NixOS/nixpkgs/issues/97546
2020-09-09 15:48:48 -04:00
Dominik Xaver Hörl
0412bde942 treewide: add bool type to enable options, or make use of mkEnableOption
Add missing type information to manually specified enable options or replace them by mkEnableOption where appropriate.
2020-04-21 08:55:36 +02:00