Commit Graph

389 Commits

Author SHA1 Message Date
Austin Horstman
0d6ce2cb8b ci/OWNERS: add lua team for lua-modules
Automatically notify lua team on lua module updates.
2025-04-07 09:46:21 -05:00
TomaSajt
13fa186def OWNERS: add owners for D build-support files 2025-04-06 00:20:40 +02:00
Silvan Mosberger
927521a6ac workflows/check-nix-format: Enforce formatting on all files
Changes the Nix format checking workflow to now strictly enforce
formatting of all Nix files using the treefmt setup introduced
in the pre-previous commit.

This is in [accordance with the approved RFC 166](https://github.com/NixOS/rfcs/blob/master/rfcs/0166-nix-formatting.md#reformat-nixpkgs).

Note that the "skip treewide" thing is no longer necessary, already
before, because there's nothing that would fail for treewide changes.
Previously the problem was that the GitHub API would be bombarded.
2025-04-01 20:09:45 +02:00
Silvan Mosberger
5a8296d74f flake.nix: Set formatter
This enables `nix fmt`, though it won't be practically usable without
also reformatting all files, which is done in a following commit.
2025-04-01 20:09:44 +02:00
Silvan Mosberger
398e74f70b shell: Introduce treefmt
Introduces treefmt with a simple nixfmt-rfc-style configuration to
format all Nix files.

This is only practically usable with the following commit that formats
all files accordingly.
2025-04-01 20:09:44 +02:00
jopejoe1
2346742068 ci/OWNERS: update due to by-name migration 2025-03-25 17:00:56 +01:00
Wolfgang Walther
3f3d4c4fd5 Reapply "build(deps): bump cachix/install-nix-action from 30 to 31" (#391347) 2025-03-21 17:01:46 +00:00
Andrew Marshall
d1f47e4cf3 OWNERS: add owners for ZFS NixOS module
Missing change from 46a13b407f.
2025-03-21 09:20:56 -04:00
Arian van Putten
b684e9c6d6 fluent-bit: link against Nix dependencies, fix Darwin builds, and add NixOS module (#365493) 2025-03-21 11:39:18 +00:00
Andrew Marshall
46a13b407f OWNERS: set ZFS owners
We are not being notified for PRs to some of these files, presumably
because maintainers are specified in a non-standard way and we have
multiple versions.

See e.g.
https://github.com/NixOS/nixpkgs/pull/389010#issuecomment-2715134629
2025-03-20 12:10:10 -04:00
commiterate
3366b27e59 fluent-bit: link against Nix dependencies, fix Darwin builds, and add NixOS module 2025-03-19 18:48:46 -04:00
Wolfgang Walther
5b578b0679 ci/eval/compare: fix reading store paths from json file
This suddenly appeared after updating Nix to v26, which then complained:

… while calling the 'fromJSON' builtin
  at
/home/runner/work/nixpkgs/nixpkgs/target/ci/eval/compare/default.nix:74:19:
    73|
    74|   getAttrs = dir: builtins.fromJSON (builtins.readFile
"${dir}/outpaths.json");
      |                   ^
    75|   beforeAttrs = getAttrs beforeResultDir;

… while evaluating the first argument passed to builtins.fromJSON

error: the string '{
  "AMB-plugins.aarch64-linux": {
    "out":
"/nix/store/faw59ba5p6h4b177n8q2ilb3hlm7xlc2-AMB-plugins-0.8.1"
  },
                  ....
  "zzuf.aarch64-linux": {
    "out": "/nix/store/bqvm1h7jfd8smgnjc1v1gpmbwdgvwy5g-zzuf-0.15"
  },
  "zzuf.x86_64-linux": {
    "out": "/nix/store/6qs4lnmzn1qlr3smqqxnmhnrcdcfiv6a-zzuf-0.15"
  }
}
' is not allowed to refer to a store path (such as
'134m2q047vsr9miwh5l227j7sh9jb130-jq-1.7.1-bin')

By discard the unsafe string context, we explicitly allow loading those
store paths. It's unclear why this blew up now, especially because I was
not possible to consistently replicate this locally, so far.
2025-03-19 20:38:44 +01:00
Silvan Mosberger
1d6ee7d8ee ci: Update pinned Nixpkgs
From the nixpkgs-unstable channel: https://hydra.nixos.org/eval/1813168#tabs-inputs
2025-03-13 21:16:06 +01:00
sanana
eaad2a7c87 OWNERS: add @phip1611 and @programmerlexi to limine module files 2025-03-11 20:42:38 +05:30
programmerlexi
12779dc091 nixos/limine: init module
Co-Authored-By: Gabriel Waksmundzki <czapek1337@gmail.com>
2025-03-06 08:05:08 +01:00
Silvan Mosberger
5ed63a84d5 OWNERS: Add @hsjobeki to lib files 2025-03-03 19:01:41 +01:00
Adam C. Stephens
f61923eca6 beam*: add beam team as code owners 2025-02-16 18:31:08 -05:00
Wolfgang Walther
1b2949a572 ci/eval: fail on non-empty stderr (#381266) 2025-02-14 18:04:12 +01:00
Wolfgang Walther
dfa7783c7d ci/eval: make eval for non-native platforms less incorrect (#378922) 2025-02-14 17:49:10 +01:00
6543
6449da32b2 nixos/services.mysql: add myselfe as maintainer 2025-02-14 01:06:52 +01:00
Silvan Mosberger
799273bf13 ci/eval/compare: Ignore null packages
CI can fail to evaluate if a package is null:
https://github.com/NixOS/nixpkgs/actions/runs/13209876145/job/36881335314?pr=380228
2025-02-11 21:24:28 +01:00
Silvan Mosberger
7c62a764b4 ci/eval: Fail on non-empty stderr
Just like the channel eval requires.
2025-02-11 21:16:58 +01:00
Silvan Mosberger
0344bd7f88 ci/eval: Refactor to cleanly separate stderr
Previously stderr was mixed with the time stats

This allows checking stderr in the next commit
2025-02-11 21:12:31 +01:00
K900
29d8d9b1a7 Merge remote-tracking branch 'origin/master' into staging-next 2025-02-05 22:58:25 +03:00
Tristan Ross
57f3e3dd23 zig: commonify & bootstrap (#331011) 2025-02-05 11:39:03 -08:00
emilylange
657c689842 ci/eval: make eval for non-native platforms less incorrect
We commonly use platform-dependent conditional patterns like
`lib.meta.availableOn stdenv.hostPlatform` and `stdenv.hostPlatform.isLinux`
to enable different features in a given derivation or to evaluate
completely different derivations based on the platform.

For example, source builds of a given derivation may only be available
on linux but not on darwin. The use of such conditionals allow us to
fall back to patched binaries on darwin instead.

In `chromedriver` (pkgs/development/tools/selenium/chromedriver/default.nix), we use

~~~nix
if lib.meta.availableOn stdenv.hostPlatform chromium then
  callPackage ./source.nix { }
else
  callPackage ./binary.nix { }
~~~

To provide some context, `chromedriver` source builds are based on `chromium.mkDerivation`
and `chromium` is limited to `lib.platforms.linux`.
Based on the same `chromium.mkDerivation`, we also do source builds for
`electron` (pkgs/top-level/all-packages.nix):

~~~nix
electron_33 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_33 then electron-source.electron_33 else electron_33-bin;
electron_34 = electron_34-bin;
electron = electron_34;
~~~

And finally, the top-level `jdk` (Java) attribute has a lot of
indirection, but eventually also boils down to `stdenv.hostPlatform.isLinux`
for source builds and binaries for x86_64-darwin and aarch64-darwin.

A surprising amount of electron and jdk consumers use variations of
`meta.platforms = electron.meta.platforms` in their own meta block.
Due to internal implementation details, the conditionals in those
top-level attributes like `chromedriver`, `electron` and `jdk` are
evaluated based on the value from `builtins.currentSystem` and not the
system passed to `import <nixpkgs> { }`.

This then causes `chromedriver`, `electron`, `jdk` and all dependents
that inherit those `meta.platforms` to appear only available on linux
despite also being available on darwin. Hydra is affected similarly, but
it's a lot more nuanced and in practice not actually *that* bad.

The addition of `--eval-system` ensures that `builtins.currentSystem`
matches the requested platform.

As a bonus, this also fixes the store paths of an impure test that
should probably be made pure:

~~~diff
@@ -885069,13 +886119,13 @@
     "out": "/nix/store/lb2500hc69czy4sfga9mbh2k679cr1rp-test-compressDrv"
   },
   "tests.config.allowPkgsInPermittedInsecurePackages.aarch64-darwin": {
-    "out": "/nix/store/0l5h8svrpzwymq35mnpvx82gyc7nf8s4-hello-2.12.1"
+    "out": "/nix/store/v1zjb688mp4y2132b6chii43d5kkxnpa-hello-2.12.1"
   },
   "tests.config.allowPkgsInPermittedInsecurePackages.aarch64-linux": {
-    "out": "/nix/store/0l5h8svrpzwymq35mnpvx82gyc7nf8s4-hello-2.12.1"
+    "out": "/nix/store/hb21z2zdk03dwygsw5lvpa8zc3fbr500-hello-2.12.1"
   },
   "tests.config.allowPkgsInPermittedInsecurePackages.x86_64-darwin": {
-    "out": "/nix/store/0l5h8svrpzwymq35mnpvx82gyc7nf8s4-hello-2.12.1"
+    "out": "/nix/store/gljdqsf0mxv1j8zb04phx9ws09pp7z3l-hello-2.12.1"
   },
   "tests.config.allowPkgsInPermittedInsecurePackages.x86_64-linux": {
     "out": "/nix/store/0l5h8svrpzwymq35mnpvx82gyc7nf8s4-hello-2.12.1"
~~~

Diff stats between two full evals based on 75c8548d81
with and without this fix on x86_64-linux:

~~~bash
# git diff --no-index --stat /nix/store/659l3xp78255wx7abbahggsnrlj3a1la-combined-result/outpaths.json /nix/store/4fhlq4g5qa65cxbibskq9pma40zigrx7-combined-result/outpaths.json
 /nix/store/{659l3xp78255wx7abbahggsnrlj3a1la-combined-result => 4fhlq4g5qa65cxbibskq9pma40zigrx7-combined-result}/outpaths.json | 1416 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 1405 insertions(+), 11 deletions(-)
~~~

The full diff is available as a gist at <https://gist.github.com/emilylange/d40c50031fc332bbcca133ad56d224f6>.

When we added `electron_34` only as binary instead of the usual source
on linux with binary fallback in cfed9a19cb
and made the unversioned `electron` top-level point to the newly added
`electron_34` instead of `electron_33`, the GitHub workflow suddenly
reported 20 new packages. Of those 20 reported packages, 17 where
false-positives caused by dropping the wrongly evaluated conditional.
2025-02-02 21:17:23 +01:00
K900
7017fbeb11 Merge remote-tracking branch 'origin/master' into staging-next 2025-02-01 15:17:10 +03:00
Wolfgang Walther
f1e8cbd2f2 OWNERS: add wolfgangwalther to ci/workflows 2025-02-01 11:49:36 +01:00
Martin Weinelt
d5866b93fd Merge remote-tracking branch 'origin/master' into staging-next 2025-01-29 17:36:44 +01:00
Silvan Mosberger
80e011146b ci/eval/compare: Improve performance and avoid large stacks
Various improvements such as:
1. Avoiding deduplications when there can't be any duplicates
2. Avoiding O(n^2) deduplications
3. Using builtins.any to avoid list allocations
4. Using builtins.concatMap instead of lib.flatten when it's known that there's only one level of nesting
5. Using builtins.groupBy instead of folding with an accumulator

In particular 5. should fix CI exceeding the stack size on staging: https://github.com/NixOS/nixpkgs/actions/runs/12989244871/job/36240781244?pr=377253

While 2. in particular should make CI a lot faster.
2025-01-28 17:05:11 +01:00
Silvan Mosberger
0fe2e3f0e3 maintainers.nix: Remove unused code 2025-01-27 19:07:24 +01:00
Tristan Ross
bccdfa1a59 CODEOWNERS: add RossComputerGuy for Zig 2025-01-26 22:10:45 -08:00
Alyssa Ross
502c77492b Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix
	pkgs/applications/editors/vim/plugins/non-generated/cord-nvim/default.nix
	pkgs/applications/version-management/git-stack/default.nix
	pkgs/by-name/bo/boxbuddy/package.nix
	pkgs/by-name/ca/capnproto-rust/package.nix
	pkgs/by-name/ca/cargo-binstall/package.nix
	pkgs/by-name/ca/cargo-deb/package.nix
	pkgs/by-name/ca/cargo-modules/package.nix
	pkgs/by-name/cl/clapboard/package.nix
	pkgs/by-name/do/dotslash/package.nix
	pkgs/by-name/fe/felix-fm/package.nix
	pkgs/by-name/gi/gitlab-ci-ls/package.nix
	pkgs/by-name/go/gotify-desktop/package.nix
	pkgs/by-name/ha/handlr-regex/package.nix
	pkgs/by-name/ir/iroh/package.nix
	pkgs/by-name/ma/manga-tui/package.nix
	pkgs/by-name/ob/obs-cmd/package.nix
	pkgs/by-name/ox/oxlint/package.nix
	pkgs/by-name/pi/pik/package.nix
	pkgs/by-name/re/reindeer/package.nix
	pkgs/by-name/rn/rnr/package.nix
	pkgs/by-name/ro/routinator/package.nix
	pkgs/by-name/rw/rwpspread/package.nix
	pkgs/by-name/sk/skim/package.nix
	pkgs/by-name/so/sope/package.nix
	pkgs/by-name/so/soteria/package.nix
	pkgs/by-name/sp/spacer/package.nix
	pkgs/by-name/st/stylance-cli/package.nix
	pkgs/by-name/su/subxt/package.nix
	pkgs/by-name/sw/swayfx-unwrapped/package.nix
	pkgs/by-name/te/television/package.nix
	pkgs/by-name/to/toast/package.nix
	pkgs/by-name/wa/wastebin/package.nix
	pkgs/by-name/wi/wit-bindgen/package.nix
	pkgs/by-name/wo/workshop-runner/package.nix
	pkgs/development/interpreters/wasmtime/default.nix
	pkgs/development/tools/rust/cargo-edit/default.nix
	pkgs/development/tools/sentry-cli/default.nix
	pkgs/misc/t-rec/default.nix
	pkgs/tools/video/yaydl/default.nix
2025-01-26 14:55:08 +01:00
Silvan Mosberger
e4da98ae17 ci/eval: restore 501+ label (#375670) 2025-01-24 16:05:22 +01:00
nixpkgs-ci[bot]
ecb2ab8582 Merge staging-next into staging 2025-01-23 12:06:51 +00:00
Silvan Mosberger
27ce43e082 ci: Update pinned Nixpkgs (#376039) 2025-01-23 11:57:28 +01:00
Sefa Eyeoglu
d51aeeb1fb ci: Update pinned Nixpkgs
From the nixpkgs-unstable channel: https://hydra.nixos.org/eval/1811194#tabs-inputs
2025-01-23 08:53:56 +01:00
zowoq
b94f270650 ci/eval: restore 501+ label 2025-01-22 09:14:10 +10:00
nixpkgs-ci[bot]
26d9061f29 Merge staging-next into staging 2025-01-21 00:14:29 +00:00
Silvan Mosberger
06ee611619 ci/request-reviews: Don't fail when there's too many reviewers
It's better than getting failed CI and emails: https://github.com/NixOS/nixpkgs/pull/371528#issuecomment-2573926369

And fix a shellcheck lint
2025-01-20 19:45:28 +01:00
nixpkgs-ci[bot]
ee0d31892a Merge staging-next into staging 2025-01-20 18:05:23 +00:00
Gaétan Lepage
228b8914c3 ci/eval: support "10.rebuild-${kernel}: 1" labels (#374922) 2025-01-20 14:14:36 +01:00
Peder Bergebakken Sundt
a226f13211 ci/eval: support "10.rebuild-${kernel}: 1" labels
This should restore the old behavior of ofborg
2025-01-20 11:45:52 +01:00
nixpkgs-ci[bot]
90a1f88a02 Merge staging-next into staging 2025-01-19 18:04:33 +00:00
Felix Bühler
766984593b OWNERS: Change ownership of pkgs-lib (#373558) 2025-01-19 18:46:04 +01:00
Wolfgang Walther
878140ef75 psqlodbc: adopt with NixOS/postgres team
Since psqlodbc is an official upstream project, we should take ownership
of it.
2025-01-16 21:39:25 +01:00
Silvan Mosberger
df57e1cc3e OWNERS: Change ownership of pkgs-lib 2025-01-16 15:42:14 +01:00
Adam C. Stephens
bb45501b6d zfs_2_1: remove (#358811) 2025-01-14 14:37:08 -05:00
Silvan Mosberger
08f39a348e services.mysqlBackup: add option to change compression algorithm (#364630) 2025-01-13 20:49:10 +01:00
Fernando Rodrigues
43ee4496ca OWNERS: maintain issue and pull request templates
Also sorts the CI list alphabetically and indents it like the rest of the file.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-01-12 16:21:05 -03:00