# Release 26.05 {#sec-release-26.05}

The 26.05 release branch became stable in May, 2026.

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

This release has the following notable changes:

- WezTerm now supports declarative configuration via
  [](#opt-programs.wezterm.settings). Settings are expressed as a Nix
  attribute set and serialized to Lua using `lib.generators.toLua`.
  Raw Lua expressions such as `wezterm.font` and `wezterm.action.*`
  can be embedded using `lib.generators.mkLuaInline`. The existing
  [](#opt-programs.wezterm.extraConfig) option remains fully supported
  and can be combined with [](#opt-programs.wezterm.settings).

- The [](#opt-programs.anki.uiScale) option now expects a value in the
  range 1.0–2.0, previously it erroneously expected values in the
  range `0.0–1.0`.

- New [](#opt-home.services) namespace for nixpkgs
  [modular services](https://nixos.org/manual/nixos/unstable/#modular-services).
  Service modules shipped with packages (e.g.
  `pkgs.<name>.passthru.services.default`) drop in unchanged and are
  lifted to user systemd units. See
  [Modular Services](#sec-usage-modular-services) for details.

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

- The [](#opt-gtk.gtk4.theme) option does not mirror
  [](#opt-gtk.theme) by default anymore.

- The [](#opt-programs.zsh.dotDir) option now defaults to the XDG
  configuration directory (usually `~/.config/zsh`) when
  [](#opt-xdg.enable) is true.

- The [](#opt-programs.yazi.shellWrapperName) option now defaults to
  `y` instead of `yy`. For users with older `home.stateVersion` values,
  the legacy default `yy` is retained.

- The [](#opt-xdg.userDirs.setSessionVariables) option now defaults to `false`
  instead of `true`.

- The [](#opt-xdg.userDirs.extraConfig) option no longer accepts keys of the
  form `XDG_<name>_DIR`, they should be now be just the name. For example, if
  you had the key `XDG_DESKTOP_DIR` before, you should now use the key
  `DESKTOP`. Home Manager 26.05 introduced a warning when the `XDG_<name>_DIR`
  form is used.

- The [](#opt-programs.man.package) option now defaults to `null` on
  Darwin because the GNU `man` from nixpkgs ships `apropos`/`man -k`
  and `whatis`/`man -f` binaries that don't work on Darwin. Nix-installed
  manual pages still work with macOS's built-in `man` via
  [](#opt-home.extraOutputsToInstall).

- The options [](#opt-programs.neovim.withPython3) and
  [](#opt-programs.neovim.withRuby) now default to `false` following nixpkgs

- On Linux, `programs.firefox.configPath` now defaults to
  `"${config.xdg.configHome}/mozilla/firefox"` for `home.stateVersion = "26.05"` and later.
  Older state versions keep the legacy default of `".mozilla/firefox"`.

- The [](#opt-wayland.windowManager.hyprland.configType) option now
  defaults to `"lua"` for `home.stateVersion = "26.05"` and later.
  Older state versions keep the legacy `"hyprlang"` default. Set
  `wayland.windowManager.hyprland.configType = "hyprlang"` to keep
  generating {file}`$XDG_CONFIG_HOME/hypr/hyprland.conf`.
