Repository navigation
Release v3.3.0
New Features
- Imprinting a recipe has more intuitive results, respecting basic filters such as hidden files, .gitignore files, and .ignore files using the ignore crate.
- This filter can be disabled with the
--no-filterflag, and and additional files can be excluded with-e|--exclude, which takes paths or globs (e.g.,dir/*)
Changes
- The underlying recipe format has been changed to a new version, v2. All v1 recipes are backwards compatible, and will still work with no action from the user.
- Languages' colours are stored separately from the name that encodes its name.
- Recipe contents are stored with a flat, un-nested structure.
- Slight visual and grammatical improvements to error messages. Warnings and errors are visually distinguished.
- The man pages for
mksubcommands are separated into individuals pages. For example, the man page formk evokeismk-evoke.
Tip
To update a recipe to the new format, run mk show RECIPE -t toml, and replace the old file with the new one. For nix users using the home-manager module, run mk list -t nix and replace the recipes list with the new one provided. It may be helpful to redirect stdout to a file in both cases. This is not necessary, but is likely a good idea to ensure future compatibility.
Fixes
- A known serialisation bug in the ser_nix crate was patched (4jamesccraven/ser_nix#1), and the dependency was updated to the new version. Specifically, nix strings interpolations (e.g.
${VARIABLE}) were incorrectly escaped as$${}instead of''${}.
Warning
Existing recipes managed through the home-manager module that contain nix code in their contents (e.g., a recipe that contains a flake),
may require manual intervention.