mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-02 23:21:02 +01:00
82 lines
3.4 KiB
Markdown
82 lines
3.4 KiB
Markdown
# 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 accomodate 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.
|