1<section xmlns="http://docbook.org/ns/docbook" 2 xmlns:xlink="http://www.w3.org/1999/xlink" 3 xmlns:xi="http://www.w3.org/2001/XInclude" 4 version="5.0" 5 xml:id="sec-release-unstable"> 6 7<title>Unstable</title> 8 9<para>In addition to numerous new and upgraded packages, this release 10has the following highlights:</para> 11 12<itemizedlist> 13 14 <listitem> 15 <para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>. 16 The package and attribute names are plain <literal>firefox</literal> 17 or <literal>midori</literal>, etc. Backward-compatibility attributes were set up, 18 but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update 19 your current <literal>firefox-with-plugins</literal>; 20 you have to uninstall it and install <literal>firefox</literal> instead. 21 More discussion is <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12299"> 22 on the PR</link>. </para> 23 </listitem> 24 25</itemizedlist> 26 27<para>The following new services were added since the last release: 28 29 <itemizedlist> 30 <listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem> 31 <listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem> 32 <listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem> 33 <listitem><para><literal>services/security/haka.nix</literal></para></listitem> 34 <listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem> 35 </itemizedlist> 36</para> 37 38<para>When upgrading from a previous release, please be aware of the 39following incompatible changes:</para> 40 41<itemizedlist> 42 <listitem> 43 <para><command>wmiiSnap</command> has been replaced with 44 <command>wmii_hg</command>, but 45 <command>services.xserver.windowManager.wmii.enable</command> has 46 been updated respectively so this only affects you if you have 47 explicitly installed <command>wmiiSnap</command>. 48 </para> 49 </listitem> 50 51 <listitem> 52 <para><literal>jobs</literal> NixOS option has been removed. It served as 53 compatibility layer between Upstart jobs and SystemD services. All services 54 have been rewritten to use <literal>systemd.services</literal></para> 55 </listitem> 56 57 <listitem> 58 <para><command>wmiimenu</command> is removed, as it has been 59 removed by the developers upstream. Use <command>wimenu</command> 60 from the <command>wmii-hg</command> package.</para> 61 </listitem> 62 63 <listitem> 64 <para>Gitit is no longer automatically added to the module list in 65 NixOS and as such there will not be any manual entries for it. You 66 will need to add an import statement to your NixOS configuration 67 in order to use it, e.g. 68 69<programlisting><![CDATA[ 70{ 71 imports = [ <nixos/modules/services/misc/gitit.nix> ]; 72} 73]]></programlisting> 74 75 will include the Gitit service configuration options.</para> 76 </listitem> 77 78 <listitem> 79 <para><command>nginx</command> does not accept flags for enabling and 80 disabling modules anymore. Instead it accepts <literal>modules</literal> 81 argument, which is a list of modules to be built in. All modules now 82 reside in <literal>nginxModules</literal> set. Example configuration: 83 84<programlisting><![CDATA[ 85nginx.override { 86 modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ]; 87} 88]]></programlisting> 89 </para> 90 </listitem> 91 92 <listitem> 93 <para><command>s3sync</command> is removed, as it hasn't been 94 developed by upstream for 4 years and only runs with ruby 1.8. 95 For an actively-developer alternative look at 96 <command>tarsnap</command> and others. 97 </para> 98 </listitem> 99 100 <listitem> 101 <para><command>ruby_1_8</command> has been removed as it's not 102 supported from upstream anymore and probably contains security 103 issues. 104 </para> 105 </listitem> 106 107 <listitem> 108 <para><literal>tidy-html5</literal> package is removed. 109 Upstream only provided <literal>(lib)tidy5</literal> during development, 110 and now they went back to <literal>(lib)tidy</literal> to work as a drop-in 111 replacement of the original package that has been unmaintained for years. 112 You can (still) use the <literal>html-tidy</literal> package, which got updated 113 to a stable release from this new upstream.</para> 114 </listitem> 115 116 <listitem> 117 <para><literal>extraDeviceOptions</literal> argument is removed 118 from <literal>bumblebee</literal> package. Instead there are 119 now two separate arguments: <literal>extraNvidiaDeviceOptions</literal> 120 and <literal>extraNouveauDeviceOptions</literal> for setting 121 extra X11 options for nvidia and nouveau drivers, respectively. 122 </para> 123 </listitem> 124 125 <listitem> 126 <para>The <literal>Ctrl+Alt+Backspace</literal> key combination 127 no longer kills the X server by default. 128 There's a new option <option>services.xserver.enableCtrlAltBackspace</option> 129 allowing to enable the combination again. 130 </para> 131 </listitem> 132 133 <listitem> 134 <para><literal>emacsPackagesNg</literal> now contains all packages 135 from the ELPA, MELPA, and MELPA Stable repositories. 136 </para> 137 </listitem> 138 139 <listitem> 140 <para>Data directory for Postfix MTA server is moved from 141 <filename>/var/postfix</filename> to <filename>/var/lib/postfix</filename>. 142 Old configurations are migrated automatically. <literal>service.postfix</literal> 143 module has also received many improvements, such as correct directories' access 144 rights, new <literal>aliasFiles</literal> and <literal>mapFiles</literal> 145 options and more.</para> 146 </listitem> 147 148 <listitem> 149 <para>Filesystem options should now be configured as a list of strings, not 150 a comma-separated string. The old style will continue to work, but print a 151 warning, until the 16.09 release. An example of the new style: 152 153<programlisting> 154fileSystems."/example" = { 155 device = "/dev/sdc"; 156 fsType = "btrfs"; 157 options = [ "noatime" "compress=lzo" "space_cache" "autodefrag" ]; 158}; 159</programlisting> 160 </para> 161 </listitem> 162 163 <listitem> 164 <para>CUPS, installed by <literal>services.printing</literal> module, now 165 has its data directory in <filename>/var/lib/cups</filename>. Old 166 configurations from <filename>/etc/cups</filename> are moved there 167 automatically, but there might be problems. Also configuration options 168 <literal>services.printing.cupsdConf</literal> and 169 <literal>services.printing.cupsdFilesConf</literal> were removed 170 because they had been allowing one to override configuration variables 171 required for CUPS to work at all on NixOS. For most use cases, 172 <literal>services.printing.extraConf</literal> and new option 173 <literal>services.printing.extraFilesConf</literal> should be enough; 174 if you encounter a situation when they are not, please file a bug.</para> 175 176 <para>There are also Gutenprint improvements; in particular, a new option 177 <literal>services.printing.gutenprint</literal> is added to enable automatic 178 updating of Gutenprint PPMs; it's greatly recommended to enable it instead 179 of adding <literal>gutenprint</literal> to the <literal>drivers</literal> list. 180 </para> 181 </listitem> 182 183 <listitem> 184 <para><literal>services.xserver.vaapiDrivers</literal> has been removed. Use 185 <literal>services.hardware.opengl.extraPackages{,32}</literal> instead. You can 186 also specify VDPAU drivers there.</para> 187 </listitem> 188 189 <listitem> 190 <para> 191 <literal>programs.ibus</literal> moved to <literal>i18n.inputMethod.ibus</literal>. 192 The option <literal>programs.ibus.plugins</literal> changed to <literal>i18n.inputMethod.ibus.engines</literal> 193 and the option to enable ibus changed from <literal>programs.ibus.enable</literal> to 194 <literal>i18n.inputMethod.enabled</literal>. 195 <literal>i18n.inputMethod.enabled</literal> should be set to the used input method name, 196 <literal>"ibus"</literal> for ibus. 197 An example of the new style: 198 199<programlisting> 200i18n.inputMethod.enabled = "ibus"; 201i18n.inputMethod.ibus.engines = with pkgs.ibus-engines; [ anthy mozc ]; 202</programlisting> 203 204That is equivalent to the old version: 205 206<programlisting> 207programs.ibus.enable = true; 208programs.ibus.plugins = with pkgs; [ ibus-anthy mozc ]; 209</programlisting> 210 211 </para> 212 </listitem> 213 214 <listitem> 215 <para><literal>services.udev.extraRules</literal> option now writes rules 216 to <filename>99-local.rules</filename> instead of <filename>10-local.rules</filename>. 217 This makes all the user rules apply after others, so their results wouldn't be 218 overriden by anything else.</para> 219 </listitem> 220 221 <listitem> 222 <para>Large parts of the <literal>services.gitlab</literal> module has been 223 been rewritten. There are new configuration options available. The 224 <literal>stateDir</literal> option was renamned to 225 <literal>statePath</literal> and the <literal>satellitesDir</literal> option 226 was removed. Please review the currently available options.</para> 227 </listitem> 228 229</itemizedlist> 230 231 232<para>Other notable improvements: 233<itemizedlist> 234 <listitem> 235 <para>The <command>command-not-found</command> hook was extended. 236 Apart from <literal>$NIX_AUTO_INSTALL</literal> variable, 237 it newly also checks for <literal>$NIX_AUTO_RUN</literal> 238 which causes it to directly run the missing commands via 239 <command>nix-shell</command> (without installing anything). </para> 240 </listitem> 241 242 <listitem> 243 <para><literal>ejabberd</literal> module is brought back and now works on 244 NixOS.</para> 245 </listitem> 246 247 <listitem> 248 <para>Input method support was improved. New NixOS modules (fcitx, nabi and uim), 249 fcitx engines (chewing, hangul, m17n, mozc and table-other) and ibus engines (hangul and m17n) 250 have been added.</para> 251 </listitem> 252 253</itemizedlist></para> 254 255</section>