services.xserver.desktopManager.default = "xfce";
services.xserver.windowManager.default = "icewm";
}
```
you should change it to:
```nix
{
services.xserver.displayManager.defaultSession = "xfce+icewm";
}
```
- The testing driver implementation in NixOS is now in Python `make-test-python.nix`. This was done by Jacek Galowicz ([\@tfc](https://github.com/tfc)), and with the collaboration of Julian Stecklina ([\@blitz](https://github.com/blitz)) and Jana Traue ([\@jtraue](https://github.com/jtraue)). All documentation has been updated to use this testing driver, and a vast majority of the 286 tests in NixOS were ported to python driver. In 20.09 the Perl driver implementation, `make-test.nix`, is slated for removal. This should give users of the NixOS integration framework a transitory period to rewrite their tests to use the Python implementation. Users of the Perl driver will see this warning everytime they use it:
```ShellSession
$ warning: Perl VM tests are deprecated and will be removed for 20.09.
Please update your tests to use the python test driver.
See https://github.com/NixOS/nixpkgs/pull/71684 for details.
```
API compatibility is planned to be kept for at least the next release with the perl driver.
## New Services {#sec-release-20.03-new-services}
The following new services were added since the last release:
- The kubernetes kube-proxy now supports a new hostname configuration `services.kubernetes.proxy.hostname` which has to be set if the hostname of the node should be non default.
- UPower's configuration is now managed by NixOS and can be customized via `services.upower`.
- To use Geary you should enable [programs.geary.enable](options.html#opt-programs.geary.enable) instead of just adding it to [environment.systemPackages](options.html#opt-environment.systemPackages). It was created so Geary could function properly outside of GNOME.
- `./config/console.nix`
- `./hardware/brillo.nix`
- `./hardware/tuxedo-keyboard.nix`
- `./programs/bandwhich.nix`
- `./programs/bash-my-aws.nix`
- `./programs/liboping.nix`
- `./programs/traceroute.nix`
- `./services/backup/sanoid.nix`
- `./services/backup/syncoid.nix`
- `./services/backup/zfs-replication.nix`
- `./services/continuous-integration/buildkite-agents.nix`
- `./services/databases/victoriametrics.nix`
- `./services/desktops/gnome3/gnome-initial-setup.nix`
- `./services/desktops/neard.nix`
- `./services/games/openarena.nix`
- `./services/hardware/fancontrol.nix`
- `./services/mail/sympa.nix`
- `./services/misc/freeswitch.nix`
- `./services/misc/mame.nix`
- `./services/monitoring/do-agent.nix`
- `./services/monitoring/prometheus/xmpp-alerts.nix`
- `./services/network-filesystems/orangefs/server.nix`
- `./services/network-filesystems/orangefs/client.nix`
- `./services/networking/3proxy.nix`
- `./services/networking/corerad.nix`
- `./services/networking/go-shadowsocks2.nix`
- `./services/networking/ntp/openntpd.nix`
- `./services/networking/shorewall.nix`
- `./services/networking/shorewall6.nix`
- `./services/networking/spacecookie.nix`
- `./services/networking/trickster.nix`
- `./services/networking/v2ray.nix`
- `./services/networking/xandikos.nix`
- `./services/networking/yggdrasil.nix`
- `./services/web-apps/dokuwiki.nix`
- `./services/web-apps/gotify-server.nix`
- `./services/web-apps/grocy.nix`
- `./services/web-apps/ihatemoney`
- `./services/web-apps/moinmoin.nix`
- `./services/web-apps/trac.nix`
- `./services/web-apps/trilium.nix`
- `./services/web-apps/shiori.nix`
- `./services/web-servers/ttyd.nix`
- `./services/x11/picom.nix`
- `./services/x11/hardware/digimend.nix`
- `./services/x11/imwheel.nix`
- `./virtualisation/cri-o.nix`
## Backward Incompatibilities {#sec-release-20.03-incompatibilities}
When upgrading from a previous release, please be aware of the following incompatible changes:
- The dhcpcd package [ does not request IPv4 addresses for tap and bridge interfaces anymore by default](https://roy.marples.name/archives/dhcpcd-discuss/0002621.html). In order to still get an address on a bridge interface, one has to disable `networking.useDHCP` and explicitly enable `networking.interfaces.<name>.useDHCP` on every interface, that should get an address via DHCP. This way, dhcpcd is configured in an explicit way about which interface to run on.