2.4 KiB
2022-12-25
-
Added a new
flake.flakeModules
option so a flake can expose a module to be used in a downstream flake's flake-parts usage..flakeModule
is now an alias for.flakeModules.default
.Option only available if
flake-parts.flakeModules.flakeModules
is imported.
2022-12-17
-
The old syntax
mkFlake { inherit self; }
is now strongly discouraged in favor of:outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { /* module */ }
This fixes an infinite recursion that occurs with the old syntax when using the
inputs
module argument inimports
.If you're under the impression that this already worked, that's probably because you were using
inputs
from the lexical scope (ie directly from the flake outputs function arguments), rather than in a separate module file.
2022-12-07
- The
darwinModules
option has been removed. This was added in the early days without full consideration. The removal will have no effect on most flakes considering that theflake
option allows any attribute to be set. This attribute and related attributes should be added to the nix-darwin project instead.
2022-10-11
-
The
nixpkgs
input has been renamed tonixpkgs-lib
to signify that the only dependency is on thelib
attribute, which can be provided by either thenixpkgs?dir=lib
subflake or by thenixpkgs
flake itself. -
The templates now use the default, fixed
nixpkgs?dir=lib
dependency instead of a followingnixpkgs
dependency.
2022-05-25
-
perSystem
is not afunctionTo submodule
anymore, but adeferredModule
, which is a lot like a regular submodule, but possible to invoke multiple times, for eachsystem
.All
perSystem
value definitions must remove thesystem:
argument. If you needsystem
to be in scope, use the one in the module arguments.-perSystem = system: { config, lib, ... }: +perSystem = { config, lib, system, ... }:
All
perSystem
option declarations must now useflake-parts-lib.mkPerSystemOption
.{ options.perSystem = mkPerSystemOption ({ config, ... }: { options = { # ... }; # ... }); }
-
flake-modules-core
is now calledflake-parts
. -
flake.overlay
has been removed in favor offlake.overlays.default
.