Commit Graph
100 Commits
Author SHA1 Message Date
Robert HensingandGitHub 1e0f09aca5 options: mkOption docs update (#541773) 2026-07-14 13:09:19 +00:00
Robert HensingandGitHub 1c536b93c3 nixVersions.nix_2_34: 2.34.7 -> 2.34.8 (#539074) 2026-07-06 22:03:23 +00:00
Robert HensingandGitHub ef8925c8e1 testers.modularServiceCompliance: init (#531062) 2026-06-26 15:12:52 +00:00
Robert Hensing 43908e0d12 testers.modularServiceCompliance: init
Portable test suite for modular services, designed to be usable with
other service managers and use cases, inside Nixpkgs and externally.

Like modular services itself, it's still quite bare-bones. New
features can crystallize around this kind of infrastructure.

Assisted-By: Claude Opus 4.7/4.8 era Claude models
2026-06-26 14:25:32 +02:00
Robert HensingandGitHub c3d2e9f1c6 arelle: 2.38.7 -> 2.39.10 (#514136) 2026-06-23 14:59:07 +00:00
Robert HensingandGitHub 846ea62303 nixos/release: remove tests.allDrivers (#532396) 2026-06-16 18:30:58 +00:00
Robert Hensing 235013cf37 treewide: drop unnecessary toString calls
Scope:
- Combination of
  - Textual matches of "baseNameOf (toString"
  - Redundant toString calls I've found with my latest
    "lazy paths" nix branch as they force lazy fetches into
    the store. More info and new PR soon.
- Only cases I believe are worthwhile or easily determined

I've determined the validity by
- testing llvmPackages instantiation
- figuring out which types can pass into any particular
  toString call - "human fuzzy type checker"

Behavior considerations by type:

- `path`: converted back to a string *without* context
  `baseNameOf` does not copy things to the store on its own,
  equivalent to its behavior for string inputs
- `null`: converted to `""` -> may be valid input!
  ok if "" would not have been acceptable anyway
- `string` itself: passed through identically -> trivial
- `attrset` with `outPath`: same coercion as built into
  the `baseNameOf` function -> trivial
- other atomic types: generally not sensible inputs to
  `baseNameOf` -> fuzzy but true
2026-06-04 13:11:56 +02:00
Robert HensingandGitHub 96e65982fb {esbuild,esbuild_netlify}: move to by-name (#526005) 2026-05-30 21:20:57 +00:00
Robert HensingandGitHub 8d10ccfc53 owners: Add @tfc to nixos test driver modules folder (#524366) 2026-05-26 10:34:47 +00:00
Robert HensingandGitHub ccbf6da64e types.attrList: init (#510698) 2026-05-25 11:34:46 +00:00
Robert HensingandJohannes Kirschbauer 8aa6e3dbb9 types.attrListWith: add valueMeta.definitions 2026-05-24 15:32:04 +02:00
Robert HensingandJohannes Kirschbauer e29bf2412b lib.modules.mapDefinitionValue: init 2026-05-24 15:32:04 +02:00
Robert HensingandJohannes Kirschbauer f1b62fdc4e types.attrListWith: add asAttrs
This allows the type's return value to be accessed more easily.

Motivating use case:
- Built-in module provides CLI functionality by declaring
  an `attrListWith { asAttrs = true; }`, extracting the ordered list
  from `valueMeta` for the purpose of creating the `argv`.
- User modules can read the command line's flags directly without
  having to parse the list of attrs.
2026-05-24 15:07:05 +02:00
Robert HensingandJohannes Kirschbauer 17fdb6f68a types.attrListWith: init
Trivial extraction from attrListOf.
2026-05-24 15:07:05 +02:00
Robert HensingandJohannes Kirschbauer 43d998e6c0 types.attrListOf: init
This adds a type for name-value mappings that preserve ordering.

Motivating use case: command line flags for package modules /
wrappers / modular services.
The option value can be transformed into a command line in the
correct order.
Additionally, a convenience readOnly option could be provided
to give easy introspection access to the values in an ad hoc
manner.
2026-05-24 15:07:02 +02:00
Robert Hensing fb0d18ee0b testers.lycheeLinkCheck: improve root-relative link UX
Lychee by itself does not have a way to explicitly declare the
intent for the site to be relocatable.
Recent-ish changes in lychee and/or its dependencies have made
it catch the a root reference in all mdbook 404.html pages,
which is quite confusing.
By improving the UX around this aspect of the site, we resolve
at least part of that confusion.
(Though mdbook users should probably exclude the 404 page)
2026-05-16 12:35:07 +02:00
Robert HensingandGitHub 8d8f08b5f1 lychee: 0.23.0 -> 0.24.1 (#514684) 2026-05-11 08:25:45 +00:00
Robert Hensing d8e48b9c9d lychee.tests.network: use with subtest 2026-05-09 23:03:35 +02:00
Robert Hensing e6b8b50ab4 lychee.tests.fail-emptyDirectory: fix
The textual output format changed in the last update, so let's
switch this to JSON, so that it's less likely to be affected by
similar kinds of changes going forward.
2026-05-09 23:01:02 +02:00
Robert Hensing 71a39baee8 testers.lycheeLinkCheck: add extraArgs 2026-05-09 23:01:02 +02:00
Robert Hensing f9be9e95fb testers.lycheeLinkCheck: use structuredAttrs
Makes it easy to use arrays in next commits.
2026-05-09 22:54:09 +02:00
Robert HensingandGitHub f4f40ee764 Reapply "nixos/nixpkgs.config: make use of the module defined in config.nix" (#517762) 2026-05-09 11:17:17 +00:00
Robert HensingandGitHub a0ffa8bf93 nixos/nixpkgs.config: make use of the module defined in config.nix (#489889) 2026-05-07 10:33:20 +00:00
Robert HensingandGitHub 1e8579c66d nix: bump 2.28.6 -> 2.28.7, 2.30.4 -> 2.30.5, 2.31.4 -> 2.31.5 (#516612) 2026-05-04 20:22:13 +00:00
Robert HensingandGitHub 04b6aa5544 nixos/*: remove unused let bindings (#515686) 2026-05-04 13:12:07 +00:00
Robert HensingandGitHub a4f3323c53 lib: remove unused let bindings and args@{} uses (#515224) 2026-05-02 09:00:44 +00:00
Robert HensingandGitHub f622ff9235 jsonSchemaCatalogs: use structuredAttrs instead of passAsFile (#515675) 2026-05-02 08:51:11 +00:00
Robert HensingandGitHub 629f0f2c6c lib/filesystem: remove absolute path literals (#514225) 2026-04-28 15:48:47 +00:00
Robert HensingandGitHub 2d09609e9d fix pkgs used for netcat when qemu-vm.nix does guestfwd (#512272) 2026-04-23 18:45:24 +00:00
Robert HensingandGitHub b13c0022ba nixos-test-driver: Add extra required features (#511413) 2026-04-21 07:45:53 +00:00
Robert Hensing 77b5864637 lib.modules: submodule emptyValue must evaluate sub-option defaults
`emptyValue` for `types.submodule` was `{ value = { }; }`, i.e. none
of the type-declared options or their defaults.

Previously submodules without defs would simply fail for lack of a default,
but since PR #500104 repurposed `emptyValue` as the fallback when no
definitions exist, submodule options without an explicit `default = { }`
(new additions) silently lost their sub-option defaults
(e.g. `requiredFeatures.devnet` in the nixos-test-driver, #511413).

Main change: `emptyValue`: `{ }` -> `{ value = base.config; }`

Additionally, skip `emptyValue`-based default rendering in docs for
types with submodules, because their sub-options are already documented
individually, and forcing evaluation here can break on modules with
invalid or incomplete definitions.
2026-04-19 20:52:33 +01:00
Robert HensingandGitHub 3a1a279cf8 lib/modules: reduce allocations in evalModules and mergeModules (#510048) 2026-04-19 17:21:54 +00:00
Robert Hensing 7d7a9f2257 nixosTests.nixos-test-driver.skip-typecheck: init
Simple regression test for https://github.com/NixOS/nixpkgs/pull/511225
2026-04-19 16:35:40 +01:00
Robert HensingandGitHub c3a38b4f62 nixos-test-driver: use configuration file instead of scattered env vars (#510385) 2026-04-18 10:42:07 +00:00
Robert HensingandGitHub a3a6c03f0a nix-functional-tests: move env variables into env for structuredAttrs (#508281) 2026-04-14 17:38:17 +00:00
Robert HensingandGitHub 77bbd72922 snid: add modular service and test (#507875) 2026-04-08 13:52:52 +00:00
Robert HensingandGitHub 8d4e372952 lib.types: add types.option (#499945) 2026-04-08 13:41:10 +00:00
Robert Hensing b6f7d1c851 nixos/tmpfiles: fix layer inversion
The nix module uses tmpfiles, not the other way around.
Move definitions so that tmpfiles does not depend on the nix module.
This makes the tmpfiles module usable without loading a nix module.
2026-04-08 14:14:01 +02:00
Robert HensingandGitHub efc768200c cassandra: fix (#505432) 2026-04-07 12:22:39 +00:00
Robert HensingandGitHub ffe82c6a3c lib/modules: deprecate 'mkAliasIfDef' (#470154) 2026-04-07 09:05:53 +00:00
Robert Hensing 3ae1aa9968 pkgs/splice: drop reference to past code
References to previous states of the code generally only belong in
commit messages.
A reminder or warning to future readers is not needed here.
2026-04-06 12:27:06 +02:00
Robert Hensing d7dff39146 pkgs/splice: bring mapAttrs into scope
... and take it from lib. Inconsequential, but it's a good convention
because it has occasional improvements to builtins' intentionally
highly unchanging behavior.
2026-04-06 12:25:46 +02:00
Robert HensingandGitHub f303cb404b lib/services: move portable service infrastructure out of nixos/ (#506519) 2026-04-05 19:17:30 +00:00
Robert Hensing 1baf57f3a0 nixos/modules/docs: fix documentation build
Include the moved-out modular service infrastructure into the set of
files to evaluate during the docs build.
This was previously unnecessary because even the portable parts were
stored inside the nixos tree.
2026-04-04 11:24:24 +02:00
Robert Hensing 17c056fa24 lib.types.optionDeclaration: test error 2026-04-03 10:53:47 +02:00
Robert HensingandGitHub ff011b00be lib/modules: Improve errors involving pushDownProperties (#502117) 2026-04-01 16:00:01 +00:00
Robert Hensing b376c14b43 cassandra: Use our cassandra-driver for cqlsh
... instead of bundled `cassandra-driver-internal-only-*.zip`.
This way it's more up to date, and follows our best practices.
"internal" plainly confirms that this is better.
2026-04-01 01:20:40 +02:00
Robert Hensing ab2aa9915c cassandra: Use correct nixosTests attribute 2026-04-01 01:20:40 +02:00
Robert Hensing 966b542c68 all-packages: Drop unused cassandra python argument
and drop the ... so that this doesn't happen again.
2026-04-01 01:20:40 +02:00
Robert Hensing 4e5d84a1c8 cassandra: use python3Packages 2026-03-31 20:41:14 +02:00
Robert HensingandGitHub d7df9adf42 nixos/tests: respect meta.hydraPlatforms (#503721) 2026-03-27 10:22:32 +00:00
Robert HensingandGitHub 647f7755c1 nixos/documentation: use structuredAttrs instead of passAsFile (#498927) 2026-03-23 13:35:32 +00:00
Robert HensingandGitHub 0a83c9fb4e pkgs.nixos: pass through lib (#457506) 2026-03-07 15:42:04 +00:00
Robert HensingandGitHub ba3dd369bf nixVersions.nix_2_32: 2.32.5 -> 2.32.6 (#493995) 2026-02-27 11:09:32 +00:00
Robert HensingandGitHub ef38cc167e doc/stdenv: revise line in Fixed-point arguments of mkDerivation (#488263) 2026-02-08 16:50:47 +00:00
Robert HensingandGitHub de739a1a53 shellspec: Add passthru tests (#453348) 2026-02-04 00:10:09 +00:00
Robert Hensing f3c573a4dc shellspec.tests: init 2026-02-04 01:05:01 +01:00
Robert HensingandGitHub 45c24c18c2 nixVersions.git: fix cygwin build (#483426) 2026-01-28 21:12:54 +00:00
Robert HensingandGitHub 5c219b59be nixosTests: fix some eval errors and warnings (#401553) 2026-01-20 14:37:41 +00:00
Robert HensingandGitHub 73f21903b4 netlify-cli: remove override (#479827) 2026-01-14 22:23:16 +00:00
Robert HensingandGitHub 5499e267ae python3Packages.arelle: 2.37.72 -> 2.38.4 (#468622) 2026-01-14 22:22:04 +00:00
Robert HensingandGitHub fa66d32ad1 nixops_unstable_minimal: 1.7.0 (2024-02-28) -> 2.0.0 (2025-12-28) (#477448) 2026-01-13 18:20:53 +00:00
Robert HensingandGitHub 6b565aab7d teams/nix: clarify relation to Nix team (#478834) 2026-01-11 20:52:56 +00:00
Robert HensingandGitHub 7ab1c2b1e3 haskellPackages.buildFromCabalSdist: respect patches (#474754) 2026-01-11 15:49:40 +00:00
Robert HensingandGitHub b807bf3b6c Update Hercules CI packages and cachix CLI Nix version (#478114) 2026-01-10 13:18:41 +00:00
Robert Hensing 64555cee76 haskellPackages.hercules-ci-cnix-store.nixPackage: 2.28 -> 2.31 2026-01-08 16:48:00 +01:00
Robert Hensing b92b5c81e1 haskellPackages.hercules-ci-cli: 0.3.8 -> 0.3.9 2026-01-08 16:33:01 +01:00
Robert Hensing 82274cbd17 haskellPackages.hercules-ci-agent: 0.10.7 -> 0.10.8 2026-01-08 16:33:01 +01:00
Robert Hensing 35bfc205bb haskellPackages.hercules-ci-cnix-expr: 0.5.0.0 -> 0.5.1.0 2026-01-08 16:33:01 +01:00
Robert Hensing 50dcda8f72 haskellPackages.hercules-ci-cnix-store: 0.4.0.0 -> 0.4.1.0 2026-01-08 16:33:01 +01:00
Robert Hensing b19910075c haskellPackages.cabal-pkg-config-version-hook: 0.1.0.1 -> 0.1.1.0 2026-01-08 16:33:01 +01:00
Robert HensingandGitHub 7648a2676b dockerTools: Replace bashInteractive with bash (#453912) 2026-01-06 11:59:22 +00:00
Robert Hensing b6a3b8846e haskell.lib.buildFromSdist: add test, fix double-patch
Same issue as buildFromCabalSdist: sdistTarball applies patches via
overrideDerivation, but the patches attribute remained, causing
patchPhase to apply them again.
2025-12-28 15:31:09 +01:00
Robert Hensing 5a38e15e6d haskellPackages.buildFromCabalSdist: add test, fix double-patch
srcOnly applies patches, but the resulting derivation still had the
patches attribute, causing patchPhase to apply them again. Clear
patches after srcOnly to prevent double-application.
2025-12-28 15:26:33 +01:00
Robert HensingandGitHub 8e38f10223 mdbook: 0.4.52 -> 0.5.1 (#467009) 2025-12-25 07:46:12 +00:00
Robert Hensing 8146763574 nixos/ec2-data.nix: Print whole host pubkeys
This prints the whole host public keys in the same format as cloud-init.
The main benefit is that this allows the direct generation of a known_hosts
file, simplifying client setup.

This commit also provides a new NixOS test that's an alternative to the
currently broken nixos/tests/ec2.nix tests.
2025-12-23 13:41:44 +01:00
Robert HensingandGitHub d222d01cd2 nixos/modular-services: add systemd.mainExecStart option (#469450) 2025-12-23 12:08:27 +00:00
Robert HensingandGitHub 34b2f6702f lib.makeOverridable: preserve constructor override and metadata attributes (#461032) 2025-12-22 13:20:41 +00:00
Robert Hensing d267b1e3b3 nix.tests.srcVersion: Tolerate patch versions 2025-12-22 11:03:12 +01:00
Robert Hensing bcbe96f8a6 mdbook-cmdrun: 0.6.0-unstable-2024-04-15 -> 0.7.3-unstable-2025-12-22
This supports mdbook 0.5.
2025-12-22 09:42:20 +01:00
Robert Hensing 194ba32729 engage: fix build with mdbook 0.5
Update engage documentation build for mdbook 0.5 compatibility.

Changes:
- Remove deprecated 'multilingual' field from book.toml
- Update git-repository-icon from 'fa-git-square' to 'fab-square-git'

The 'multilingual' field was removed in mdbook 0.5 as it was never used.
The FontAwesome icon name changed from 'fa-git-square' (FA 4) to
'fab-square-git' (FA 5 brand icon) in the version bundled with mdbook 0.5.
2025-12-18 02:44:29 +01:00
Robert Hensing e7f30ad157 helix: fix build with mdbook 0.5
Update helix documentation build for mdbook 0.5 compatibility.

Changes:
- Replace deprecated {{#previous}}/{{#next}} helpers with {{#if}} blocks
- Update link references from {{link}} to {{previous.link}}/{{next.link}}
- Escape HTML tags in command descriptions to prevent markdown parsing errors
- Fix book-html path in postInstall (../book-html instead of book-html)

The mdbook 0.5 release changed navigation helpers from block helpers to
simple objects, requiring template syntax updates in index.hbs.
2025-12-18 02:44:29 +01:00
Robert HensingandGitHub abcecff5e8 tests.devShellTools.nixos: Fix test (#471839) 2025-12-18 00:01:56 +00:00
Robert Hensing 06989e7585 tests.devShellTools.nixos: Fix test
This increases the disk size, which I assume was consumed by the
various docker image operations.
2025-12-18 00:35:15 +01:00
Robert Hensing 0768ca2fd9 nixVersions.git: 2.33pre20251107_479b6b73 -> 2.34pre20251217_b6add8dc
Update to latest Nix master which includes mdbook 0.5 support merged in
PR #14690.

https://github.com/NixOS/nix/pull/14690
2025-12-18 00:29:33 +01:00
Robert Hensing 2ce35ff13f devenv: apply mdbook 0.5 support patch to devenv_nix
Apply the mdbook 0.5 support patch to devenv's bundled Nix 2.30.4.

The patch is from upstream Nix commit 5cbd7856, which maintains
compatibility with both mdbook 0.4.x and 0.5.x. The doc/manual/package.nix
file is excluded as it doesn't exist in cachix's Nix fork.

https://github.com/NixOS/nix/issues/14628
2025-12-18 00:29:33 +01:00
Robert Hensing 5cd20ff81d lixPackageSets: apply mdbook 0.5 support patches
Apply patches to lix_2_93, lix_2_94, and git versions to support
building documentation with mdbook 0.5.

The patch is from upstream Lix commit 54df89f6, which maintains
compatibility with both mdbook 0.4.x and 0.5.x.

https://git.lix.systems/lix-project/lix/issues/1051
2025-12-16 15:46:06 +01:00
Robert Hensing 9163ecb93e nixVersions: apply mdbook 0.5 support patches 2025-12-15 22:36:49 +01:00
Robert Hensing f19b523d5c mdbook: 0.4.52 -> 0.5.1 2025-12-15 22:36:49 +01:00
Robert HensingandGitHub 617d450d54 ticcutils: 0.36 -> 0.37 (#470853) 2025-12-14 22:07:06 +00:00
Robert HensingandGitHub 0ea380eafe ucto: 0.35 -> 0.36 (#470776) 2025-12-14 22:06:29 +00:00
Robert HensingandGitHub 206bfc56ed timbl: 6.10 -> 6.11 (#470329) 2025-12-13 13:39:49 +00:00
Robert Hensing b1caac95aa ghostunnel: simplify service using systemd.mainExecStart 2025-12-11 11:01:24 +01:00
Robert Hensing 7b4d26bf86 nixos/modular-services: add systemd.mainExecStart option
Provide indirection for ExecStart to enable control over systemd
specifier and variable substitution, while escaping process.argv
by default for literal arguments.
2025-12-11 10:38:03 +01:00
Robert HensingandGitHub 5751e2b6cb hercules-ci-agent: Fix build on aarch64-darwin (#463879) 2025-12-09 13:16:13 +00:00
Robert Hensing a4984c9528 hercules-ci-agent: Work around #461651 on Darwin 2025-12-09 11:27:45 +01:00
Robert HensingandGitHub fd8c29a2bc test driver: normalize callpackage call (#468717) 2025-12-09 00:05:21 +00:00
Robert HensingandGitHub 0b2ab80f7a lib/tests: Use --option to enable abort-on-warn (#468901) 2025-12-08 18:41:16 +00:00
Robert HensingandGitHub 15b145a7ae json-schema-catalog-rs: 0.2.0 -> 0.2.1 (#468601) 2025-12-07 10:46:20 +00:00
Robert HensingandGitHub 70295ac52c lib/tests: move throwTestFailures tests to standalone script (#465418) 2025-11-28 22:22:27 +00:00