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