Robert Hensing
47e4a18d01
types.attrTagWith: remove
...
Keep it simple for now.
2024-04-04 12:00:54 +02:00
Robert Hensing
1465777b63
lib.types.attrTag: Custom error when passing bare type
2024-04-04 11:54:46 +02:00
Robert Hensing
475a55b2f0
lib.types.attrTag: Remove tags from description
...
You can find them in the sub-options now.
2024-04-04 11:54:46 +02:00
Robert Hensing
4c7d990bad
lib.types.attrTag: Provide declarations, definitions
2024-04-04 11:54:45 +02:00
Robert Hensing
e090bb55f0
lib/types.nix: Fix getSubOptions doc
...
This comment was added in 73f32d0375
, when it was already
supposed to be an attrset.
2024-04-04 11:54:45 +02:00
Robert Hensing
0bc9783221
lib.types.attrTag: Support type merging
2024-04-04 11:54:45 +02:00
Robert Hensing
42d3b54f0d
lib.types.attrTag: Take options instead of types
2024-04-04 11:54:45 +02:00
Robert Hensing
5b49672af4
lib.types.attrTag: Support module docs
2024-04-04 11:54:41 +02:00
Robert Hensing
ca81a89839
lib.types.attrTag: init
2024-02-11 18:44:52 +01:00
Silvan Mosberger
f37ba19765
Merge pull request #284512 from hercules-ci/lib-types-unique-merge
...
lib.types.unique: Check inner type deeply
2024-02-10 02:52:45 +01:00
Robert Hensing
bd285d2c11
lib.types.uniq: Check inner type
...
We now reuse the `unique` type, which implements this.
Keeping the duplication around would be bad at this point.
2024-02-04 15:49:55 +01:00
Danila Danko
ad853c1368
types.nix: fix nonEmptyListOf
2024-01-29 22:29:44 +03:00
Robert Hensing
b78ba9bc68
lib.types.unique: Check inner type deeply
...
This doesn't change uniq. Why not?
- In NixOS it seems that uniq is only used with
simple types that are fully checked by t.check.
- It exists for much longer and is used more widely.
- I believe we should deprecate it, because unique was
already better.
- unique can be a proving ground.
2024-01-28 14:09:27 +01:00
Robert Hensing
6f4d0b5261
lib.types: Improve descriptions of composed types that have commas
...
Type: either ints.positive (enum ["auto"])
Before: positive integer, meaning >0 or value "auto" (singular enum)
After: positive integer, meaning >0, or value "auto" (singular enum)
2023-12-23 11:40:27 +01:00
Adam Joseph
80472e3754
treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs
2023-12-15 05:13:46 -08:00
Silvan Mosberger
8d3978c149
lib.types.boolByOr: init
...
This type is necessary to have correct merging behavior for
`allowUnfreePredicate` and `allowInsecurePredicate`
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-12-08 21:50:29 +01:00
Silvan Mosberger
5075a51403
lib.types.string: Use lib.warn instead of deprecationMessage
...
This will cause a poorer error message without option location
information, but it will catch all uses of its use.
2023-08-10 06:31:36 +02:00
Silvan Mosberger
040b0ad3ed
Revert "lib.types.string: Deprecation error instead of warning"
...
This reverts commit c59c6b1c57
.
This was a bit too ambitious, because no warnings were previously
triggered when `string` was nested e.g. `attrsOf string`, `nullOr
string`, etc.
Support for nested type deprecation warnings was introduced in
4b54aedee5
, but had to be reverted in
a36e6760e9
because it caused infinite
recursion for some users, and I couldn't remember that it was reverted.
2023-08-10 06:25:29 +02:00
Silvan Mosberger
c59c6b1c57
lib.types.string: Deprecation error instead of warning
...
The type has given a warning on use since [4 years ago](03392cd336b128a1639c648baf0f6c1a1271e0d2), I think it's safe to move the deprecation to the next stage: An error instead of a warning.
2023-08-08 04:13:22 +02:00
Naïm Favier
14d3e5685a
lib/types: add pathInStore
2023-06-27 11:48:08 +02:00
figsoda
8283d3d8d1
lib/types: remove unused rec
2023-06-23 09:41:04 +00:00
Robert Hensing
2e485f2581
lib.types.submoduleWith: Interoperate with older version of submoduleWith
2023-05-17 12:51:09 +02:00
Robert Hensing
16d594a0e2
lib.types.pkgs: init
...
A nominal type.
2023-05-10 15:55:08 +02:00
Robert Hensing
8054785157
lib/modules: Move class out of specialArgs
2023-05-06 18:32:58 +02:00
Robert Hensing
872a24ebbc
lib.strings: isSimpleCoercibleString -> isStringLike
2022-12-31 01:33:46 +01:00
Robert Hensing
29efb2c438
lib.types.path: Do not allow lists of strings
2022-12-31 01:03:24 +01:00
Robert Hensing
fed5dc66f8
treewide: isCoercibleToString -> isMoreCoercibleToString
...
No change in behavior.
2022-12-31 01:03:24 +01:00
Robert Hensing
3a4c9bdbe6
lib.types.anything: Use isSimpleCoercibleToString
...
Expecting no change in behavior.
2022-12-31 01:03:24 +01:00
Robert Hensing
ef9b04ec5f
lib.types.loaOf: Update comment to say deprecate instead of remove
2022-12-29 00:49:32 +01:00
Robert Hensing
9af74cc709
Revert "lib/types: remove loaOf"
...
This reverts commit c8c538f2ab
.
Reason: removal did not follow a deprecation process and it hurts
nixops 1.7 users.
2022-12-29 00:48:22 +01:00
Sandro Jäckel
c8c538f2ab
lib/types: remove loaOf
2022-12-19 08:31:43 +01:00
Naïm Favier
025f32f705
lib/types: add descriptionClass
for path
2022-11-08 13:31:29 +01:00
Robert Hensing
6259b29f29
Merge pull request #194035 from Ma27/show-option-quoting
...
lib/options/showOption: fix quoting of attr-names that are not identifiers
2022-10-18 11:31:54 +02:00
Silvan Mosberger
bb2fb15247
Merge pull request #192755 from hercules-ci/lib-types-unspecified-name
2022-10-13 16:56:23 +02:00
Maximilian Bosch
ac48f07282
lib/types: always use <function body>
instead of [function body]
to indicate a function inside an option structure
...
The motivation is to have a single identifier for that. Useful for the
next commit where I'll try to escape option-parts correctly (options can
be any kind of strings, but unless these are Nix identifiers, they must
be quoted).
Since `<function body>` (or `<name>`/`*`) are special identifiers in
error messages and the manual, we need a unique way to mark an option
part as function call because these are not to be quoted.
2022-10-07 10:01:44 +02:00
figsoda
4ef185c1b8
lib/types.nix: remove unused bindings
2022-09-26 22:18:55 -04:00
piegames
0ada9fff8a
lib/types.nix: Document that it should not be used
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-09-25 16:37:15 +02:00
Robert Hensing
43efa4900c
lib.types.unspecified: Make name match attribute name again
...
@Infinisil: This isn't right, the name shouldn't be changed, but instead a description should be added
https://github.com/NixOS/nixpkgs/pull/191353#discussion_r978983401
2022-09-24 12:29:09 +01:00
Robert Hensing
1cbe950384
lib.types: Add parentheses where description is ambiguous
2022-09-17 22:16:39 +01:00
Silvan Mosberger
6389a26e5f
Merge pull request #181834 from ncfavier/numbers
...
lib/types: add `number`
2022-09-09 19:59:29 +02:00
Naïm Favier
eb72be8541
lib/types: add number
...
For numbers that can be ints or floats.
2022-07-24 18:03:28 +02:00
Klemens Nanni
574a90771f
lib.types, nixos/users: Make passwdEntry available
...
More nixpkgs code such as `boot.initrd.systemd.emergencyAccess` defines
options that takes hashed passwords, so move the type definition from
modules/ into lib/.
The type definition itself stays unchanged.
2022-06-25 16:34:47 +04:00
Robert Hensing
dfd98a5da2
lib.deferredModule: Make it properly singular
2022-06-14 23:01:27 +02:00
Robert Hensing
19a069ab8b
lib.types: Add deferredModuleWith
2022-06-14 23:01:27 +02:00
Robert Hensing
781c2e0789
lib.types.deferredModule: Allow path-typed module references
2022-06-14 23:01:26 +02:00
Robert Hensing
a2c29561e7
lib.types.deferredModule: Improve reported location
2022-06-14 23:01:26 +02:00
Robert Hensing
4746f6d03e
lib.types: Add deferredModule
2022-06-14 23:01:23 +02:00
Robert Hensing
9dead5565a
lib/types, lib/modules: Remove unused extensionOffset
2022-06-14 17:25:06 +02:00
Robert Hensing
d4a84aeeca
lib/types: Use map instead of imap1 in submoduleWith
2022-06-14 17:09:05 +02:00
Silvan Mosberger
907627f656
lib/types: Simplify submoduleWith shorthandOnlyDefinesConfig handling
...
The module system already uses the parent module's _file as a fallback,
so we don't need to inject the file in a weird way
2022-06-14 17:07:33 +02:00