2.2 KiB
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.