3.3 KiB
2023-05-30
- Fix a strictness issue in
perInput, affectinginputs',self'. This has caused infinite recursions and potentially performance issues since the introduction of these module arguments.
2023-05-08
-
Add
importApplyfor bringing variables from the flake scope into module files. -
Add
mkDeferredModuleOptionas a generic name for the implementation ofmkPerSystemOption.
2023-03-26
- Add preliminary support for
disabledModulesfor modules exposed via the importableflakeModulesmodule. This requires a Nixpkgs of 2023-03-09 or newer.
2023-01-05
- Add importable
easyOverlaymodule for defining an overlay "easily" by reusingperSystem. This is not for consuming overlays.
2022-12-25
-
Added a new
flake.flakeModulesoption so a flake can expose a module to be used in a downstream flake's flake-parts usage..flakeModuleis now an alias for.flakeModules.default.Option only available if
flake-parts.flakeModules.flakeModulesis 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
inputsmodule argument inimports.If you're under the impression that this already worked, that's probably because you were using
inputsfrom the lexical scope (ie directly from the flake outputs function arguments), rather than in a separate module file.
2022-12-07
- The
darwinModulesoption has been removed. This was added in the early days without full consideration. The removal will have no effect on most flakes considering that theflakeoption allows any attribute to be set. This attribute and related attributes should be added to the nix-darwin project instead.
2022-10-11
-
The
nixpkgsinput has been renamed tonixpkgs-libto signify that the only dependency is on thelibattribute, which can be provided by either thenixpkgs?dir=libsubflake or by thenixpkgsflake itself. -
The templates now use the default, fixed
nixpkgs?dir=libdependency instead of a followingnixpkgsdependency.
2022-05-25
-
perSystemis not afunctionTo submoduleanymore, but adeferredModule, which is a lot like a regular submodule, but possible to invoke multiple times, for eachsystem.All
perSystemvalue definitions must remove thesystem:argument. If you needsystemto be in scope, use the one in the module arguments.-perSystem = system: { config, lib, ... }: +perSystem = { config, lib, system, ... }:All
perSystemoption declarations must now useflake-parts-lib.mkPerSystemOption.{ options.perSystem = mkPerSystemOption ({ config, ... }: { options = { # ... }; # ... }); } -
flake-modules-coreis now calledflake-parts. -
flake.overlayhas been removed in favor offlake.overlays.default.