Skip to content

Release v3.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 04:09
· 71 commits to main since this release

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-filter flag, 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 mk subcommands are separated into individuals pages. For example, the man page for mk evoke is mk-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.