mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 12:53:59 +03:00
318 lines
12 KiB
XML
318 lines
12 KiB
XML
<section xmlns="http://docbook.org/ns/docbook"
|
||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||
version="5.0"
|
||
xml:id="sec-release-16.03">
|
||
|
||
<title>Release 16.03 (“Emu”, 2016/03/??)</title>
|
||
|
||
<para>In addition to numerous new and upgraded packages, this release
|
||
has the following highlights:</para>
|
||
|
||
<itemizedlist>
|
||
|
||
<listitem>
|
||
<para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>.
|
||
The package and attribute names are plain <literal>firefox</literal>
|
||
or <literal>midori</literal>, etc. Backward-compatibility attributes were set up,
|
||
but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update
|
||
your current <literal>firefox-with-plugins</literal>;
|
||
you have to uninstall it and install <literal>firefox</literal> instead.
|
||
More discussion is <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12299">
|
||
on the PR</link>. </para>
|
||
</listitem>
|
||
|
||
</itemizedlist>
|
||
|
||
<para>The following new services were added since the last release:
|
||
|
||
<itemizedlist>
|
||
<listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem>
|
||
<listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem>
|
||
<listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem>
|
||
<listitem><para><literal>services/security/haka.nix</literal></para></listitem>
|
||
<listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<para>When upgrading from a previous release, please be aware of the
|
||
following incompatible changes:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><command>wmiiSnap</command> has been replaced with
|
||
<command>wmii_hg</command>, but
|
||
<command>services.xserver.windowManager.wmii.enable</command> has
|
||
been updated respectively so this only affects you if you have
|
||
explicitly installed <command>wmiiSnap</command>.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>jobs</literal> NixOS option has been removed. It served as
|
||
compatibility layer between Upstart jobs and SystemD services. All services
|
||
have been rewritten to use <literal>systemd.services</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><command>wmiimenu</command> is removed, as it has been
|
||
removed by the developers upstream. Use <command>wimenu</command>
|
||
from the <command>wmii-hg</command> package.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Gitit is no longer automatically added to the module list in
|
||
NixOS and as such there will not be any manual entries for it. You
|
||
will need to add an import statement to your NixOS configuration
|
||
in order to use it, e.g.
|
||
|
||
<programlisting><![CDATA[
|
||
{
|
||
imports = [ <nixos/modules/services/misc/gitit.nix> ];
|
||
}
|
||
]]></programlisting>
|
||
|
||
will include the Gitit service configuration options.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><command>nginx</command> does not accept flags for enabling and
|
||
disabling modules anymore. Instead it accepts <literal>modules</literal>
|
||
argument, which is a list of modules to be built in. All modules now
|
||
reside in <literal>nginxModules</literal> set. Example configuration:
|
||
|
||
<programlisting><![CDATA[
|
||
nginx.override {
|
||
modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ];
|
||
}
|
||
]]></programlisting>
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><command>s3sync</command> is removed, as it hasn't been
|
||
developed by upstream for 4 years and only runs with ruby 1.8.
|
||
For an actively-developer alternative look at
|
||
<command>tarsnap</command> and others.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><command>ruby_1_8</command> has been removed as it's not
|
||
supported from upstream anymore and probably contains security
|
||
issues.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>tidy-html5</literal> package is removed.
|
||
Upstream only provided <literal>(lib)tidy5</literal> during development,
|
||
and now they went back to <literal>(lib)tidy</literal> to work as a drop-in
|
||
replacement of the original package that has been unmaintained for years.
|
||
You can (still) use the <literal>html-tidy</literal> package, which got updated
|
||
to a stable release from this new upstream.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>extraDeviceOptions</literal> argument is removed
|
||
from <literal>bumblebee</literal> package. Instead there are
|
||
now two separate arguments: <literal>extraNvidiaDeviceOptions</literal>
|
||
and <literal>extraNouveauDeviceOptions</literal> for setting
|
||
extra X11 options for nvidia and nouveau drivers, respectively.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>The <literal>Ctrl+Alt+Backspace</literal> key combination
|
||
no longer kills the X server by default.
|
||
There's a new option <option>services.xserver.enableCtrlAltBackspace</option>
|
||
allowing to enable the combination again.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>emacsPackagesNg</literal> now contains all packages
|
||
from the ELPA, MELPA, and MELPA Stable repositories.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Data directory for Postfix MTA server is moved from
|
||
<filename>/var/postfix</filename> to <filename>/var/lib/postfix</filename>.
|
||
Old configurations are migrated automatically. <literal>service.postfix</literal>
|
||
module has also received many improvements, such as correct directories' access
|
||
rights, new <literal>aliasFiles</literal> and <literal>mapFiles</literal>
|
||
options and more.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Filesystem options should now be configured as a list of strings, not
|
||
a comma-separated string. The old style will continue to work, but print a
|
||
warning, until the 16.09 release. An example of the new style:
|
||
|
||
<programlisting>
|
||
fileSystems."/example" = {
|
||
device = "/dev/sdc";
|
||
fsType = "btrfs";
|
||
options = [ "noatime" "compress=lzo" "space_cache" "autodefrag" ];
|
||
};
|
||
</programlisting>
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>CUPS, installed by <literal>services.printing</literal> module, now
|
||
has its data directory in <filename>/var/lib/cups</filename>. Old
|
||
configurations from <filename>/etc/cups</filename> are moved there
|
||
automatically, but there might be problems. Also configuration options
|
||
<literal>services.printing.cupsdConf</literal> and
|
||
<literal>services.printing.cupsdFilesConf</literal> were removed
|
||
because they had been allowing one to override configuration variables
|
||
required for CUPS to work at all on NixOS. For most use cases,
|
||
<literal>services.printing.extraConf</literal> and new option
|
||
<literal>services.printing.extraFilesConf</literal> should be enough;
|
||
if you encounter a situation when they are not, please file a bug.</para>
|
||
|
||
<para>There are also Gutenprint improvements; in particular, a new option
|
||
<literal>services.printing.gutenprint</literal> is added to enable automatic
|
||
updating of Gutenprint PPMs; it's greatly recommended to enable it instead
|
||
of adding <literal>gutenprint</literal> to the <literal>drivers</literal> list.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>services.xserver.vaapiDrivers</literal> has been removed. Use
|
||
<literal>services.hardware.opengl.extraPackages{,32}</literal> instead. You can
|
||
also specify VDPAU drivers there.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
<literal>programs.ibus</literal> moved to <literal>i18n.inputMethod.ibus</literal>.
|
||
The option <literal>programs.ibus.plugins</literal> changed to <literal>i18n.inputMethod.ibus.engines</literal>
|
||
and the option to enable ibus changed from <literal>programs.ibus.enable</literal> to
|
||
<literal>i18n.inputMethod.enabled</literal>.
|
||
<literal>i18n.inputMethod.enabled</literal> should be set to the used input method name,
|
||
<literal>"ibus"</literal> for ibus.
|
||
An example of the new style:
|
||
|
||
<programlisting>
|
||
i18n.inputMethod.enabled = "ibus";
|
||
i18n.inputMethod.ibus.engines = with pkgs.ibus-engines; [ anthy mozc ];
|
||
</programlisting>
|
||
|
||
That is equivalent to the old version:
|
||
|
||
<programlisting>
|
||
programs.ibus.enable = true;
|
||
programs.ibus.plugins = with pkgs; [ ibus-anthy mozc ];
|
||
</programlisting>
|
||
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>services.udev.extraRules</literal> option now writes rules
|
||
to <filename>99-local.rules</filename> instead of <filename>10-local.rules</filename>.
|
||
This makes all the user rules apply after others, so their results wouldn't be
|
||
overriden by anything else.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Large parts of the <literal>services.gitlab</literal> module has been
|
||
been rewritten. There are new configuration options available. The
|
||
<literal>stateDir</literal> option was renamned to
|
||
<literal>statePath</literal> and the <literal>satellitesDir</literal> option
|
||
was removed. Please review the currently available options.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
The option <option>services.nsd.zones.<name>.data</option> no
|
||
longer interpret the dollar sign ($) as a shell variable, as such it
|
||
should not be escaped anymore. Thus the following zone data:
|
||
</para>
|
||
<programlisting>
|
||
\$ORIGIN example.com.
|
||
\$TTL 1800
|
||
@ IN SOA ns1.vpn.nbp.name. admin.example.com. (
|
||
</programlisting>
|
||
<para>
|
||
Should modified to look like the actual file expected by nsd:
|
||
</para>
|
||
<programlisting>
|
||
$ORIGIN example.com.
|
||
$TTL 1800
|
||
@ IN SOA ns1.vpn.nbp.name. admin.example.com. (
|
||
</programlisting>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
<literal>service.syncthing.dataDir</literal> options now has to point
|
||
to exact folder where syncthing is writing to. Example configuration should
|
||
loook something like:
|
||
</para>
|
||
<programlisting>
|
||
services.syncthing = {
|
||
enable = true;
|
||
dataDir = "/home/somebody/.syncthing";
|
||
user = "somebody";
|
||
};
|
||
</programlisting>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
<literal>networking.firewall.allowPing</literal> is now enabled by
|
||
default. Users are encourarged to configure an approiate rate limit for
|
||
their machines using the Kernel interface at
|
||
<filename>/proc/sys/net/ipv4/icmp_ratelimit</filename> and
|
||
<filename>/proc/sys/net/ipv6/icmp/ratelimit</filename> or using the
|
||
firewall itself, i.e. by setting the NixOS option
|
||
<literal>networking.firewall.pingLimit</literal>.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Systems with some broadcom cards used to result into a generated config
|
||
that is no longer accepted. If you get errors like
|
||
<screen>error: path ‘/nix/store/*-broadcom-sta-*’ does not exist and cannot be created</screen>
|
||
you should either re-run <command>nixos-generate-config</command> or manually replace
|
||
<literal>"${config.boot.kernelPackages.broadcom_sta}"</literal>
|
||
by
|
||
<literal>config.boot.kernelPackages.broadcom_sta</literal>
|
||
in your <filename>/etc/nixos/hardware-configuration.nix</filename>.
|
||
More discussion is on <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12595">
|
||
the github issue</link>.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
|
||
<para>Other notable improvements:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>The <command>command-not-found</command> hook was extended.
|
||
Apart from <literal>$NIX_AUTO_INSTALL</literal> variable,
|
||
it newly also checks for <literal>$NIX_AUTO_RUN</literal>
|
||
which causes it to directly run the missing commands via
|
||
<command>nix-shell</command> (without installing anything). </para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>ejabberd</literal> module is brought back and now works on
|
||
NixOS.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Input method support was improved. New NixOS modules (fcitx, nabi and uim),
|
||
fcitx engines (chewing, hangul, m17n, mozc and table-other) and ibus engines (hangul and m17n)
|
||
have been added.</para>
|
||
</listitem>
|
||
|
||
</itemizedlist></para>
|
||
|
||
</section>
|