# Release 25.11 {#sec-release-25.11}

The 25.11 release branch became stable in November, 2025.

## Highlights {#sec-release-25.11-highlights}

This release has the following notable changes:

- Updating the `home-manager` Nix profile inside the activation script
  now deprecated. The profile update is instead the responsibility of
  the software calling the activation script, such as the
  `home-manager` tool.

  The legacy behavior remains the default for backwards compatibility
  but may emit a deprecation warning in the future and in the longer
  term removed all together. If you have developed tooling that
  directly call the generated activation script, then you are
  encouraged to adapt to the new behavior. See the
  [Activation](#sec-internals-activation) section in the manual for
  details on how to call the activation script.

- The `home-manager switch` command now offers a `--rollback` option.
  When given, the switch performs a rollback to the Home Manager
  generation prior to the current before activating. While it was
  previously possible to accomplish this by manually activating an old
  generation, it always created a new profile generation. The new
  behavior mirrors the behavior of `nixos-rebuild switch --rollback`.
  See the [Rollbacks](#sec-usage-rollbacks) section for more.

- The `home-manager switch` command now offers a
  `--specialisation NAME` option. When given, the switch activates the
  named specialisation. While it was previously possible to accomplish
  this by manually running the specialisation `activate` script it was
  quite cumbersome and always created a new profile generation. The
  new behavior mirrors the behavior of `nixos-rebuild switch
  --specialisation`.

- When using Home Manager as a NixOS or nix-darwin module we
  previously created an unnecessary `home-manager` per-user "shadow
  profile" for the user. This no longer happens. You can restore the
  old behavior by adding

  ``` nix
  home-manager.enableLegacyProfileManagement = true;
  ```

  to your configuration. This option is likely to be deprecated in the
  future.

- By default, Home Manager imports all modules, which leads to
  increased evaluation time. Some users may wish to only import the
  modules they actually use. To accommodate this, a new option
  `home-manager.minimal` has been added. When this option is enabled,
  Home Manager will only import the basic set of modules it requires
  to function. Other modules will have to be enabled manually, like
  this:


  ```nix
    imports = [
      "${modulesPath}/programs/fzf.nix"
    ];
  ```

  This entrypoint is only recommended for advanced users, who are
  comfortable maintaining a personal list of modules to import.

- The use of `services.syncthing.tray` as a Boolean option was removed
  after being deprecated in 2021. You are now expected to use
  [](#opt-services.syncthing.tray.enable) to enable the Syncthing tray
  service.

## State Version Changes {#sec-release-25.11-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
\"25.11\" or later.

- The `programs.password-store.settings` option does not set
  `{ PASSWORD_STORE_DIR = $XDG_DATA_HOME/password-store; }` anymore by its
  default value. This will revert to the default behaviour of the program,
  namely `$HOME/.password-store` to be used as the store path.

- On macOS, [](#opt-targets.darwin.copyApps.enable) is now enabled by
  default instead of [](#opt-targets.darwin.linkApps.enable). This means
  applications from `home.packages` will be copied to
  `~/Applications/Home Manager Apps` rather than symlinked, making them
  work properly with Spotlight. Users with `home.stateVersion` set to
  earlier versions will continue to use `linkApps` by default.
