home-manager/docs/release-notes/rl-2405.md
Robert Helgesson 7403ed4980
home-manager: internalize uninstall
This adds a Boolean option `uninstall`. When enabled this option will
reset side-effecting configurations to their "empty" state. The intent
is that this will cause the activation script to remove all managed
files and packages.

Doing it this way should hopefully be more robust than the previous
solution. It also allows a somewhat more convenient uninstall process
when using Flakes; put `uninstall = true` in your existing
configuration and then do a switch.

Also add simple uninstall test in CI test job.
2024-01-13 00:32:31 +01:00

1.4 KiB

Release 24.05

This is the current unstable branch and the information in this section is therefore not final.

Highlights

This release has the following notable changes:

  • The .release file in the Home Manager project root has been removed. Please use the release.json file instead.

  • The {command}home-manager uninstall command has been reworked to, hopefully, be more robust. The new implementation makes use of a new Boolean configuration option uninstall that can also be used in a pure Nix Flake setup.

    Specifically, if you are using a Flake only installation, then you can clean up a Home Manager installation by adding

    uninstall = true;
    

    to your existing configuration and then build and activate. This will override any other configuration and cause, for example, the removal of all managed files.

    Please be very careful when enabling this option since activating the built configuration will not only remove the managed files but all Home Manager state from your user environment. This includes removing all your historic Home Manager generations!

State Version Changes

The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to "24.05" or later.

  • Nothing, yet.