Release 17.03 (“XXX”, 2017/03/??) In addition to numerous new and upgraded packages, this release has the following highlights: Nixpkgs is now extensible through overlays. See the Nixpkgs manual for more information. The following new services were added since the last release: When upgrading from a previous release, please be aware of the following incompatible changes: stdenv.overrides is now expected to take self and super arguments. See lib.trivial.extends for what those parameters represent. gnome alias has been removed along with gtk, gtkmm and several others. Now you need to use versioned attributes, like gnome3. The attribute name of the Radicale daemon has been changed from pythonPackages.radicale to radicale. The Yama LSM is now enabled by default in the kernel, which prevents ptracing non-child processes. This means you will not be able to attach gdb to an existing process, but will need to start that process from gdb (so it is a child). The stripHash bash function in stdenv changed according to its documentation; it now outputs the stripped name to stdout instead of putting it in the variable strippedName. PHP now scans for extra configuration .ini files in /etc/php.d instead of /etc. This prevents accidentally loading non-PHP .ini files that may be in /etc. Parsoid service now uses YAML configuration format. service.parsoid.interwikis is now called service.parsoid.wikis and is a list of either API URLs or attribute sets as specified in parsoid's documentation. Ntpd was replaced by systemd-timesyncd as the default service to synchronize system time with a remote NTP server. The old behavior can be restored by setting services.ntp.enable to true. Upstream time servers for all NTP implementations are now configured using networking.timeServers. pkgs.overridePackages function no longer exists. Instead import Nixpkgs a second time using import pkgs.path { overlays = [ ... ]; }. Other notable improvements: Module type system have a new extensible option types feature that allow to extend certain types, such as enum, through multiple option declarations of the same option across multiple modules.