1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-15 21:41:04 +01:00
Nix, the purely functional package manager
Find a file
Sergei Zimmerman dc769d72cb
libexpr: Canonicalize TOML timestamps for toml11 > 4.0
This addresses several changes from toml11 4.0 bump in
nixpkgs [1].

1. Added more regression tests for timestamp formats.
   Special attention needs to be paid to the precision
   of the subsecond range for local-time. Prior versions select the closest
   (upwards) multiple of 3 with a hard cap of 9 digits.

2. Normalize local datetime and offset datetime to always
   use the uppercase separator `T`. This is actually the issue
   surfaced in [2]. This canonicalization is basically a requirement
   by (a certain reading) of rfc3339 section 5.6 [3].

3. If using toml11 >= 4.0 also keep the old behavior wrt
   to the number of digits used for subsecond part of the local-time.
   Newer versions cap it at 6 digits unconditionally.

[1]: https://www.github.com/NixOS/nixpkgs/pull/331649
[2]: https://www.github.com/NixOS/nix/issues/11441
[3]: https://datatracker.ietf.org/doc/html/rfc3339
2025-08-12 21:49:30 +03:00
.github ci: add workflow dispatch to bypass nix installer dogfooding 2025-08-11 19:51:46 +02:00
ci/gha hydra: Restore coverage job 2025-08-08 12:05:06 +03:00
contrib function-trace: always show the trace 2019-09-18 23:23:21 +02:00
doc/manual docs/uninstall: add instructions for freebsd 2025-08-08 09:10:35 +02:00
maintainers meson: Apply formatting universally 2025-08-07 02:58:29 +03:00
misc add rc.d script for the nix-daemon 2025-08-08 09:09:58 +02:00
nix-meson-build-support meson: Apply formatting universally 2025-08-07 02:58:29 +03:00
packaging Merge pull request #13713 from Mic92/freebsd-installer 2025-08-08 11:53:02 -04:00
scripts add freebsd multi-user installer 2025-08-08 09:10:35 +02:00
src libexpr: Canonicalize TOML timestamps for toml11 > 4.0 2025-08-12 21:49:30 +03:00
tests tests/functional/lang: Add more tests for TOML timestamps 2025-08-12 14:28:39 +03:00
.clang-format Update clang-format with fixing namespace coments, and separate definition blocks 2025-07-18 12:46:51 -04:00
.clang-tidy Add .clang-tidy 2024-02-01 01:01:39 +01:00
.dir-locals.el .dir-locals.el: Set c-block-comment-prefix 2020-07-10 11:21:06 +02:00
.editorconfig No global eval settings in libnixexpr 2024-06-24 12:15:16 -04:00
.git-blame-ignore-revs git-blame-ignore-revs: Add the meson reformatting commit 2025-08-07 03:01:40 +03:00
.gitignore Overriding gtest with gmock 2025-05-31 07:41:27 -07:00
.mergify.yml Update .mergify.yml 2025-07-08 16:18:53 +02:00
.shellcheckrc housekeeping: shellcheck for tests/functional/ca/build-cache.sh 2024-06-12 17:41:16 -04:00
.version Bump version 2025-07-08 16:14:50 +02:00
CITATION.cff chore: PhD thesis as reference in CITATION.cff 2024-05-18 20:05:22 +02:00
CONTRIBUTING.md Update developer facing links to nix.dev 2025-07-25 10:59:44 +02:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
default.nix Format .nix files 2025-01-24 17:04:02 +01:00
docker.nix Revert "docker: make sure nix config check works" 2025-08-06 20:33:44 +02:00
flake.lock flake.lock: Update 2025-05-15 11:31:34 +02:00
flake.nix ci: Run sanitizer tests in a separate job 2025-07-28 23:37:04 +03:00
HACKING.md Rename doc/manual{src -> source} 2024-10-14 11:21:24 -04:00
meson.build meson: Get rid of multiline array formatting hack 2025-08-07 02:57:02 +03:00
meson.format flake: Add meson formatter 2025-06-11 22:08:03 +00:00
meson.options add derivation parser benchmark 2025-07-29 16:51:55 +02:00
README.md fix(docs): update Matrix channel links 2025-05-04 12:17:48 +02:00
shell.nix Remove url literals 2022-01-24 13:28:21 +01:00

Nix

Open Collective supporters CI

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation and first steps

Visit nix.dev for installation instructions and beginner tutorials.

Full reference documentation can be found in the Nix manual.

Building and developing

Follow instructions in the Nix reference manual to set up a development environment and build Nix from source.

Contributing

Check the contributing guide if you want to get involved with developing Nix.

Additional resources

Nix was created by Eelco Dolstra and developed as the subject of his PhD thesis The Purely Functional Software Deployment Model, published 2006. Today, a world-wide developer community contributes to Nix and the ecosystem that has grown around it.

License

Nix is released under the LGPL v2.1.