Age | Commit message (Collapse) | Author |
|
This more intuitively matches `types.either` and allows paths to be
coerced to submodules again, which was inhibited by #76861
|
|
Staging next
|
|
Add `pkgs.lib.encodeGNUCommandLine`
|
|
|
|
lib/types: dont warn loaOf for home-manager namespace
|
|
|
|
lib.commitIdFromGitRepo: support git-worktree
|
|
This option namespace is not a part of NixOS
so we shouldn't provide this warning for it.
|
|
tree-wide: fix more warning related to loaOf deprecation
|
|
lib/types: Allow paths as submodule values
|
|
Now we suggest correct names for all options in Nixpkgs and also home-manager at the time of writing.
|
|
|
|
Not all modules use name attribute as the name of the submodule, for example,
environment.etc uses target. We will need to maintain a list of exceptions.
|
|
lib.commitIdFromGitRepo now resolves the refs from the
parent repository in case the supplied path is a file
containing the path to said repository. this adds support
for git-worktree and things alike. see gitrepository-layout(5).
this also:
- adds a new boolean function lib.pathIsRegularFile to
check whether a path is a regular file
- patches lib.revisionWithDefault and
the revision and versionSuffix attributes in
config.system.nixos in order to support git-worktrees
|
|
|
|
|
|
|
|
The standard attrsOf is strict in its *values*, meaning it's impossible to
access only one attribute value without evaluating all others as well.
lazyAttrsOf is a version that doesn't have that problem, at the expense
of conditional definitions not properly working anymore.
|
|
Co-Authored-By: Robert Hensing <roberth@users.noreply.github.com>
|
|
Without this change, accessing `mergedValue` from `mergeDefinitions` in
case there are no definitions will throw an error like
error: evaluation aborted with the following error message: 'This case should never happen.'
This change makes it throw the appropriate error
error: The option `foo' is used but not defined.
This is fully backwards compatible.
|
|
Fix the broken test in https://github.com/NixOS/nixpkgs/pull/77416
Apparently hydra uses `nix-build lib/tests/release.nix` to run all
tests, where IFD isn't allowed. Fortunately we can get around this with
builtins.toFile, which doesn't require IFD, but still can test the
properties we want.
|
|
|
|
|
|
This fixes imports from the store not being possible, which was caused by
https://github.com/NixOS/nixpkgs/pull/76857
E.g. such a case:
imports = [ "${home-manager}/nixos" ];
|
|
Apply `disabledModules` recursively
|
|
|
|
With this change, disabledModules applies recursively, meaning if you
have a module "foo.nix" with
imports = [ ./bar.nix ];
then setting
disabledModules = [ "foo.nix" ];
will disable both "foo.nix" and "bar.nix", whereas previously only
"foo.nix" would be disabled.
This change along with https://github.com/NixOS/nixpkgs/pull/61570 allows
modules to be fully disabled even when they have some `mkRenamedOption`
imports.
|
|
|
|
The nss rebuild isn't so small.
|
|
Clarify error message of 'assigning to top-level attribute'
|
|
|
|
lib/types: Fix path type check
|
|
Previously when this function was called without a value coercible to a
string it would throw an error instead of returning false. Now it does.
As a result this now allows the use of a type like `either path attrs`
without it erroring out when a definition is an attribute set.
The warning about there not being a isPath primop was removed because
this is not the case anymore, there is builtins.isPath. But also there
always was `builtins.typeOf x == "path"` that could've been used
instead. However the path type now stands for more than just path types,
but absolute paths in general.
|
|
|
|
|
|
... as suggested by @roberth
Co-Authored-By: Robert Hensing <roberth@users.noreply.github.com>
|
|
... as suggested by @roberth
|
|
If I understand correctly, the problem isn't so much that you're assigning to
that top-level attribute, but that the assignment to the attribute (or any
child of the attribute) introduces the 'config' object and prevents 'lifting'
all settings to a generated 'config' object.
|
|
Update iOS for XCode 11
|
|
|
|
|
|
Until https://github.com/NixOS/nixpkgs/pull/76861 or so is merged
|
|
This reverts commit eec83d41e3e7d9ad5bc1086198d972d55bab1203.
This broke hydra evaluation because with this commit submodule values
are allowed to be paths, however the certmgr module uses `either
(submodule ...) path` in its type, meaning it already used paths for
something else which would now be interpreted as a submodule.
|
|
Module system improvements for NixOS as a submodule
|
|
|
|
|
|
This has the beneficial side effect of allowing paths to be used as modules in
types.{submodule,submoduleWith}
|
|
|
|
... as suggested by @roberth
This also caught a bug in rendering lists, which this change also fixes
|
|
... based on feedback from @edolstra
|