1<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-18.03">
2 <title>Release 18.03 (<quote>Impala</quote>, 2018/04/04)</title>
3 <section xml:id="sec-release-18.03-highlights">
4 <title>Highlights</title>
5 <para>
6 In addition to numerous new and upgraded packages, this release
7 has the following highlights:
8 </para>
9 <itemizedlist>
10 <listitem>
11 <para>
12 End of support is planned for end of October 2018, handing
13 over to 18.09.
14 </para>
15 </listitem>
16 <listitem>
17 <para>
18 Platform support: x86_64-linux and x86_64-darwin since release
19 time (the latter isn't NixOS, really). Binaries for
20 aarch64-linux are available, but no channel exists yet, as
21 it's waiting for some test fixes, etc.
22 </para>
23 </listitem>
24 <listitem>
25 <para>
26 Nix now defaults to 2.0; see its
27 <link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.0">release
28 notes</link>.
29 </para>
30 </listitem>
31 <listitem>
32 <para>
33 Core version changes: linux: 4.9 -> 4.14, glibc: 2.25 ->
34 2.26, gcc: 6 -> 7, systemd: 234 -> 237.
35 </para>
36 </listitem>
37 <listitem>
38 <para>
39 Desktop version changes: gnome: 3.24 -> 3.26, (KDE)
40 plasma-desktop: 5.10 -> 5.12.
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 MariaDB 10.2, updated from 10.1, is now the default MySQL
46 implementation. While upgrading a few changes have been made
47 to the infrastructure involved:
48 </para>
49 <itemizedlist>
50 <listitem>
51 <para>
52 <literal>libmysql</literal> has been deprecated, please
53 use <literal>mysql.connector-c</literal> instead, a
54 compatibility passthru has been added to the MySQL
55 packages.
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 The <literal>mysql57</literal> package has a new
61 <literal>static</literal> output containing the static
62 libraries including <literal>libmysqld.a</literal>
63 </para>
64 </listitem>
65 </itemizedlist>
66 </listitem>
67 <listitem>
68 <para>
69 PHP now defaults to PHP 7.2, updated from 7.1.
70 </para>
71 </listitem>
72 </itemizedlist>
73 </section>
74 <section xml:id="sec-release-18.03-new-services">
75 <title>New Services</title>
76 <para>
77 The following new services were added since the last release:
78 </para>
79 <itemizedlist>
80 <listitem>
81 <para>
82 <literal>./config/krb5/default.nix</literal>
83 </para>
84 </listitem>
85 <listitem>
86 <para>
87 <literal>./hardware/digitalbitbox.nix</literal>
88 </para>
89 </listitem>
90 <listitem>
91 <para>
92 <literal>./misc/label.nix</literal>
93 </para>
94 </listitem>
95 <listitem>
96 <para>
97 <literal>./programs/ccache.nix</literal>
98 </para>
99 </listitem>
100 <listitem>
101 <para>
102 <literal>./programs/criu.nix</literal>
103 </para>
104 </listitem>
105 <listitem>
106 <para>
107 <literal>./programs/digitalbitbox/default.nix</literal>
108 </para>
109 </listitem>
110 <listitem>
111 <para>
112 <literal>./programs/less.nix</literal>
113 </para>
114 </listitem>
115 <listitem>
116 <para>
117 <literal>./programs/npm.nix</literal>
118 </para>
119 </listitem>
120 <listitem>
121 <para>
122 <literal>./programs/plotinus.nix</literal>
123 </para>
124 </listitem>
125 <listitem>
126 <para>
127 <literal>./programs/rootston.nix</literal>
128 </para>
129 </listitem>
130 <listitem>
131 <para>
132 <literal>./programs/systemtap.nix</literal>
133 </para>
134 </listitem>
135 <listitem>
136 <para>
137 <literal>./programs/sway.nix</literal>
138 </para>
139 </listitem>
140 <listitem>
141 <para>
142 <literal>./programs/udevil.nix</literal>
143 </para>
144 </listitem>
145 <listitem>
146 <para>
147 <literal>./programs/way-cooler.nix</literal>
148 </para>
149 </listitem>
150 <listitem>
151 <para>
152 <literal>./programs/yabar.nix</literal>
153 </para>
154 </listitem>
155 <listitem>
156 <para>
157 <literal>./programs/zsh/zsh-autoenv.nix</literal>
158 </para>
159 </listitem>
160 <listitem>
161 <para>
162 <literal>./services/backup/borgbackup.nix</literal>
163 </para>
164 </listitem>
165 <listitem>
166 <para>
167 <literal>./services/backup/crashplan-small-business.nix</literal>
168 </para>
169 </listitem>
170 <listitem>
171 <para>
172 <literal>./services/desktops/dleyna-renderer.nix</literal>
173 </para>
174 </listitem>
175 <listitem>
176 <para>
177 <literal>./services/desktops/dleyna-server.nix</literal>
178 </para>
179 </listitem>
180 <listitem>
181 <para>
182 <literal>./services/desktops/pipewire.nix</literal>
183 </para>
184 </listitem>
185 <listitem>
186 <para>
187 <literal>./services/desktops/gnome3/chrome-gnome-shell.nix</literal>
188 </para>
189 </listitem>
190 <listitem>
191 <para>
192 <literal>./services/desktops/gnome3/tracker-miners.nix</literal>
193 </para>
194 </listitem>
195 <listitem>
196 <para>
197 <literal>./services/hardware/fwupd.nix</literal>
198 </para>
199 </listitem>
200 <listitem>
201 <para>
202 <literal>./services/hardware/interception-tools.nix</literal>
203 </para>
204 </listitem>
205 <listitem>
206 <para>
207 <literal>./services/hardware/u2f.nix</literal>
208 </para>
209 </listitem>
210 <listitem>
211 <para>
212 <literal>./services/hardware/usbmuxd.nix</literal>
213 </para>
214 </listitem>
215 <listitem>
216 <para>
217 <literal>./services/mail/clamsmtp.nix</literal>
218 </para>
219 </listitem>
220 <listitem>
221 <para>
222 <literal>./services/mail/dkimproxy-out.nix</literal>
223 </para>
224 </listitem>
225 <listitem>
226 <para>
227 <literal>./services/mail/pfix-srsd.nix</literal>
228 </para>
229 </listitem>
230 <listitem>
231 <para>
232 <literal>./services/misc/gitea.nix</literal>
233 </para>
234 </listitem>
235 <listitem>
236 <para>
237 <literal>./services/misc/home-assistant.nix</literal>
238 </para>
239 </listitem>
240 <listitem>
241 <para>
242 <literal>./services/misc/ihaskell.nix</literal>
243 </para>
244 </listitem>
245 <listitem>
246 <para>
247 <literal>./services/misc/logkeys.nix</literal>
248 </para>
249 </listitem>
250 <listitem>
251 <para>
252 <literal>./services/misc/novacomd.nix</literal>
253 </para>
254 </listitem>
255 <listitem>
256 <para>
257 <literal>./services/misc/osrm.nix</literal>
258 </para>
259 </listitem>
260 <listitem>
261 <para>
262 <literal>./services/misc/plexpy.nix</literal>
263 </para>
264 </listitem>
265 <listitem>
266 <para>
267 <literal>./services/misc/pykms.nix</literal>
268 </para>
269 </listitem>
270 <listitem>
271 <para>
272 <literal>./services/misc/tzupdate.nix</literal>
273 </para>
274 </listitem>
275 <listitem>
276 <para>
277 <literal>./services/monitoring/fusion-inventory.nix</literal>
278 </para>
279 </listitem>
280 <listitem>
281 <para>
282 <literal>./services/monitoring/prometheus/exporters.nix</literal>
283 </para>
284 </listitem>
285 <listitem>
286 <para>
287 <literal>./services/network-filesystems/beegfs.nix</literal>
288 </para>
289 </listitem>
290 <listitem>
291 <para>
292 <literal>./services/network-filesystems/davfs2.nix</literal>
293 </para>
294 </listitem>
295 <listitem>
296 <para>
297 <literal>./services/network-filesystems/openafs/client.nix</literal>
298 </para>
299 </listitem>
300 <listitem>
301 <para>
302 <literal>./services/network-filesystems/openafs/server.nix</literal>
303 </para>
304 </listitem>
305 <listitem>
306 <para>
307 <literal>./services/network-filesystems/ceph.nix</literal>
308 </para>
309 </listitem>
310 <listitem>
311 <para>
312 <literal>./services/networking/aria2.nix</literal>
313 </para>
314 </listitem>
315 <listitem>
316 <para>
317 <literal>./services/networking/monero.nix</literal>
318 </para>
319 </listitem>
320 <listitem>
321 <para>
322 <literal>./services/networking/nghttpx/default.nix</literal>
323 </para>
324 </listitem>
325 <listitem>
326 <para>
327 <literal>./services/networking/nixops-dns.nix</literal>
328 </para>
329 </listitem>
330 <listitem>
331 <para>
332 <literal>./services/networking/rxe.nix</literal>
333 </para>
334 </listitem>
335 <listitem>
336 <para>
337 <literal>./services/networking/stunnel.nix</literal>
338 </para>
339 </listitem>
340 <listitem>
341 <para>
342 <literal>./services/web-apps/matomo.nix</literal>
343 </para>
344 </listitem>
345 <listitem>
346 <para>
347 <literal>./services/web-apps/restya-board.nix</literal>
348 </para>
349 </listitem>
350 <listitem>
351 <para>
352 <literal>./services/web-servers/mighttpd2.nix</literal>
353 </para>
354 </listitem>
355 <listitem>
356 <para>
357 <literal>./services/x11/fractalart.nix</literal>
358 </para>
359 </listitem>
360 <listitem>
361 <para>
362 <literal>./system/boot/binfmt.nix</literal>
363 </para>
364 </listitem>
365 <listitem>
366 <para>
367 <literal>./system/boot/grow-partition.nix</literal>
368 </para>
369 </listitem>
370 <listitem>
371 <para>
372 <literal>./tasks/filesystems/ecryptfs.nix</literal>
373 </para>
374 </listitem>
375 <listitem>
376 <para>
377 <literal>./virtualisation/hyperv-guest.nix</literal>
378 </para>
379 </listitem>
380 </itemizedlist>
381 </section>
382 <section xml:id="sec-release-18.03-incompatibilities">
383 <title>Backward Incompatibilities</title>
384 <para>
385 When upgrading from a previous release, please be aware of the
386 following incompatible changes:
387 </para>
388 <itemizedlist>
389 <listitem>
390 <para>
391 <literal>sound.enable</literal> now defaults to false.
392 </para>
393 </listitem>
394 <listitem>
395 <para>
396 Dollar signs in options under
397 <literal>services.postfix</literal> are passed verbatim to
398 Postfix, which will interpret them as the beginning of a
399 parameter expression. This was already true for string-valued
400 options in the previous release, but not for list-valued
401 options. If you need to pass literal dollar signs through
402 Postfix, double them.
403 </para>
404 </listitem>
405 <listitem>
406 <para>
407 The <literal>postage</literal> package (for web-based
408 PostgreSQL administration) has been renamed to
409 <literal>pgmanage</literal>. The corresponding module has also
410 been renamed. To migrate please rename all
411 <literal>services.postage</literal> options to
412 <literal>services.pgmanage</literal>.
413 </para>
414 </listitem>
415 <listitem>
416 <para>
417 Package attributes starting with a digit have been prefixed
418 with an underscore sign. This is to avoid quoting in the
419 configuration and other issues with command-line tools like
420 <literal>nix-env</literal>. The change affects the following
421 packages:
422 </para>
423 <itemizedlist>
424 <listitem>
425 <para>
426 <literal>2048-in-terminal</literal> →
427 <literal>_2048-in-terminal</literal>
428 </para>
429 </listitem>
430 <listitem>
431 <para>
432 <literal>90secondportraits</literal> →
433 <literal>_90secondportraits</literal>
434 </para>
435 </listitem>
436 <listitem>
437 <para>
438 <literal>2bwm</literal> → <literal>_2bwm</literal>
439 </para>
440 </listitem>
441 <listitem>
442 <para>
443 <literal>389-ds-base</literal> →
444 <literal>_389-ds-base</literal>
445 </para>
446 </listitem>
447 </itemizedlist>
448 </listitem>
449 <listitem>
450 <para>
451 <emphasis role="strong">The OpenSSH service no longer enables
452 support for DSA keys by default, which could cause a system
453 lock out. Update your keys or, unfavorably, re-enable DSA
454 support manually.</emphasis>
455 </para>
456 <para>
457 DSA support was
458 <link xlink:href="https://www.openssh.com/legacy.html">deprecated
459 in OpenSSH 7.0</link>, due to it being too weak. To re-enable
460 support, add
461 <literal>PubkeyAcceptedKeyTypes +ssh-dss</literal> to the end
462 of your <literal>services.openssh.extraConfig</literal>.
463 </para>
464 <para>
465 After updating the keys to be stronger, anyone still on a
466 pre-17.03 version is safe to jump to 17.03, as vetted
467 <link xlink:href="https://search.nix.gsc.io/?q=stateVersion">here</link>.
468 </para>
469 </listitem>
470 <listitem>
471 <para>
472 The <literal>openssh</literal> package now includes Kerberos
473 support by default; the
474 <literal>openssh_with_kerberos</literal> package is now a
475 deprecated alias. If you do not want Kerberos support, you can
476 do
477 <literal>openssh.override { withKerberos = false; }</literal>.
478 Note, this also applies to the <literal>openssh_hpn</literal>
479 package.
480 </para>
481 </listitem>
482 <listitem>
483 <para>
484 <literal>cc-wrapper</literal> has been split in two; there is
485 now also a <literal>bintools-wrapper</literal>. The most
486 commonly used files in <literal>nix-support</literal> are now
487 split between the two wrappers. Some commonly used ones, like
488 <literal>nix-support/dynamic-linker</literal>, are duplicated
489 for backwards compatability, even though they rightly belong
490 only in <literal>bintools-wrapper</literal>. Other more
491 obscure ones are just moved.
492 </para>
493 </listitem>
494 <listitem>
495 <para>
496 The propagation logic has been changed. The new logic, along
497 with new types of dependencies that go with, is thoroughly
498 documented in the "Specifying dependencies" section
499 of the "Standard Environment" chapter of the nixpkgs
500 manual. The old logic isn't but is easy to describe:
501 dependencies were propagated as the same type of dependency no
502 matter what. In practice, that means that many
503 <literal>propagatedNativeBuildInputs</literal> should instead
504 be <literal>propagatedBuildInputs</literal>. Thankfully, that
505 was and is the least used type of dependency. Also, it means
506 that some <literal>propagatedBuildInputs</literal> should
507 instead be <literal>depsTargetTargetPropagated</literal>.
508 Other types dependencies should be unaffected.
509 </para>
510 </listitem>
511 <listitem>
512 <para>
513 <literal>lib.addPassthru drv passthru</literal> is removed.
514 Use <literal>lib.extendDerivation true passthru drv</literal>
515 instead.
516 </para>
517 </listitem>
518 <listitem>
519 <para>
520 The <literal>memcached</literal> service no longer accept
521 dynamic socket paths via
522 <literal>services.memcached.socket</literal>. Unix sockets can
523 be still enabled by
524 <literal>services.memcached.enableUnixSocket</literal> and
525 will be accessible at
526 <literal>/run/memcached/memcached.sock</literal>.
527 </para>
528 </listitem>
529 <listitem>
530 <para>
531 The <literal>hardware.amdHybridGraphics.disable</literal>
532 option was removed for lack of a maintainer. If you still need
533 this module, you may wish to include a copy of it from an
534 older version of nixos in your imports.
535 </para>
536 </listitem>
537 <listitem>
538 <para>
539 The merging of config options for
540 <literal>services.postfix.config</literal> was buggy.
541 Previously, if other options in the Postfix module like
542 <literal>services.postfix.useSrs</literal> were set and the
543 user set config options that were also set by such options,
544 the resulting config wouldn't include all options that were
545 needed. They are now merged correctly. If config options need
546 to be overridden, <literal>lib.mkForce</literal> or
547 <literal>lib.mkOverride</literal> can be used.
548 </para>
549 </listitem>
550 <listitem>
551 <para>
552 The following changes apply if the
553 <literal>stateVersion</literal> is changed to 18.03 or higher.
554 For <literal>stateVersion = "17.09"</literal> or
555 lower the old behavior is preserved.
556 </para>
557 <itemizedlist spacing="compact">
558 <listitem>
559 <para>
560 <literal>matrix-synapse</literal> uses postgresql by
561 default instead of sqlite. Migration instructions can be
562 found
563 <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite">
564 here </link>.
565 </para>
566 </listitem>
567 </itemizedlist>
568 </listitem>
569 <listitem>
570 <para>
571 The <literal>jid</literal> package has been removed, due to
572 maintenance overhead of a go package having non-versioned
573 dependencies.
574 </para>
575 </listitem>
576 <listitem>
577 <para>
578 When using <literal>services.xserver.libinput</literal>
579 (enabled by default in GNOME), it now handles all input
580 devices, not just touchpads. As a result, you might need to
581 re-evaluate any custom Xorg configuration. In particular,
582 <literal>Option "XkbRules" "base"</literal>
583 may result in broken keyboard layout.
584 </para>
585 </listitem>
586 <listitem>
587 <para>
588 The <literal>attic</literal> package was removed. A maintained
589 fork called
590 <link xlink:href="https://www.borgbackup.org/">Borg</link>
591 should be used instead. Migration instructions can be found
592 <link xlink:href="http://borgbackup.readthedocs.io/en/stable/usage/upgrade.html#attic-and-borg-0-xx-to-borg-1-x">here</link>.
593 </para>
594 </listitem>
595 <listitem>
596 <para>
597 The Piwik analytics software was renamed to Matomo:
598 </para>
599 <itemizedlist>
600 <listitem>
601 <para>
602 The package <literal>pkgs.piwik</literal> was renamed to
603 <literal>pkgs.matomo</literal>.
604 </para>
605 </listitem>
606 <listitem>
607 <para>
608 The service <literal>services.piwik</literal> was renamed
609 to <literal>services.matomo</literal>.
610 </para>
611 </listitem>
612 <listitem>
613 <para>
614 The data directory <literal>/var/lib/piwik</literal> was
615 renamed to <literal>/var/lib/matomo</literal>. All files
616 will be moved automatically on first startup, but you
617 might need to adjust your backup scripts.
618 </para>
619 </listitem>
620 <listitem>
621 <para>
622 The default <literal>serverName</literal> for the nginx
623 configuration changed from
624 <literal>piwik.${config.networking.hostName}</literal> to
625 <literal>matomo.${config.networking.hostName}.${config.networking.domain}</literal>
626 if <literal>config.networking.domain</literal> is set,
627 <literal>matomo.${config.networking.hostName}</literal> if
628 it is not set. If you change your
629 <literal>serverName</literal>, remember you'll need to
630 update the <literal>trustedHosts[]</literal> array in
631 <literal>/var/lib/matomo/config/config.ini.php</literal>
632 as well.
633 </para>
634 </listitem>
635 <listitem>
636 <para>
637 The <literal>piwik</literal> user was renamed to
638 <literal>matomo</literal>. The service will adjust
639 ownership automatically for files in the data directory.
640 If you use unix socket authentication, remember to give
641 the new <literal>matomo</literal> user access to the
642 database and to change the <literal>username</literal> to
643 <literal>matomo</literal> in the
644 <literal>[database]</literal> section of
645 <literal>/var/lib/matomo/config/config.ini.php</literal>.
646 </para>
647 </listitem>
648 <listitem>
649 <para>
650 If you named your database `piwik`, you might want to
651 rename it to `matomo` to keep things clean, but this is
652 neither enforced nor required.
653 </para>
654 </listitem>
655 </itemizedlist>
656 </listitem>
657 <listitem>
658 <para>
659 <literal>nodejs-4_x</literal> is end-of-life.
660 <literal>nodejs-4_x</literal>,
661 <literal>nodejs-slim-4_x</literal> and
662 <literal>nodePackages_4_x</literal> are removed.
663 </para>
664 </listitem>
665 <listitem>
666 <para>
667 The <literal>pump.io</literal> NixOS module was removed. It is
668 now maintained as an
669 <link xlink:href="https://github.com/rvl/pump.io-nixos">external
670 module</link>.
671 </para>
672 </listitem>
673 <listitem>
674 <para>
675 The Prosody XMPP server has received a major update. The
676 following modules were renamed:
677 </para>
678 <itemizedlist>
679 <listitem>
680 <para>
681 <literal>services.prosody.modules.httpserver</literal> is
682 now <literal>services.prosody.modules.http_files</literal>
683 </para>
684 </listitem>
685 <listitem>
686 <para>
687 <literal>services.prosody.modules.console</literal> is now
688 <literal>services.prosody.modules.admin_telnet</literal>
689 </para>
690 </listitem>
691 </itemizedlist>
692 <para>
693 Many new modules are now core modules, most notably
694 <literal>services.prosody.modules.carbons</literal> and
695 <literal>services.prosody.modules.mam</literal>.
696 </para>
697 <para>
698 The better-performing <literal>libevent</literal> backend is
699 now enabled by default.
700 </para>
701 <para>
702 <literal>withCommunityModules</literal> now passes through the
703 modules to <literal>services.prosody.extraModules</literal>.
704 Use <literal>withOnlyInstalledCommunityModules</literal> for
705 modules that should not be enabled directly, e.g
706 <literal>lib_ldap</literal>.
707 </para>
708 </listitem>
709 <listitem>
710 <para>
711 All prometheus exporter modules are now defined as submodules.
712 The exporters are configured using
713 <literal>services.prometheus.exporters</literal>.
714 </para>
715 </listitem>
716 </itemizedlist>
717 </section>
718 <section xml:id="sec-release-18.03-notable-changes">
719 <title>Other Notable Changes</title>
720 <itemizedlist>
721 <listitem>
722 <para>
723 ZNC option <literal>services.znc.mutable</literal> now
724 defaults to <literal>true</literal>. That means that old
725 configuration is not overwritten by default when update to the
726 znc options are made.
727 </para>
728 </listitem>
729 <listitem>
730 <para>
731 The option
732 <literal>networking.wireless.networks.<name>.auth</literal>
733 has been added for wireless networks with WPA-Enterprise
734 authentication. There is also a new
735 <literal>extraConfig</literal> option to directly configure
736 <literal>wpa_supplicant</literal> and
737 <literal>hidden</literal> to connect to hidden networks.
738 </para>
739 </listitem>
740 <listitem>
741 <para>
742 In the module
743 <literal>networking.interfaces.<name></literal> the
744 following options have been removed:
745 </para>
746 <itemizedlist>
747 <listitem>
748 <para>
749 <literal>ipAddress</literal>
750 </para>
751 </listitem>
752 <listitem>
753 <para>
754 <literal>ipv6Address</literal>
755 </para>
756 </listitem>
757 <listitem>
758 <para>
759 <literal>prefixLength</literal>
760 </para>
761 </listitem>
762 <listitem>
763 <para>
764 <literal>ipv6PrefixLength</literal>
765 </para>
766 </listitem>
767 <listitem>
768 <para>
769 <literal>subnetMask</literal>
770 </para>
771 </listitem>
772 </itemizedlist>
773 <para>
774 To assign static addresses to an interface the options
775 <literal>ipv4.addresses</literal> and
776 <literal>ipv6.addresses</literal> should be used instead. The
777 options <literal>ip4</literal> and <literal>ip6</literal> have
778 been renamed to <literal>ipv4.addresses</literal>
779 <literal>ipv6.addresses</literal> respectively. The new
780 options <literal>ipv4.routes</literal> and
781 <literal>ipv6.routes</literal> have been added to set up
782 static routing.
783 </para>
784 </listitem>
785 <listitem>
786 <para>
787 The option <literal>services.logstash.listenAddress</literal>
788 is now <literal>127.0.0.1</literal> by default. Previously the
789 default behaviour was to listen on all interfaces.
790 </para>
791 </listitem>
792 <listitem>
793 <para>
794 <literal>services.btrfs.autoScrub</literal> has been added, to
795 periodically check btrfs filesystems for data corruption. If
796 there's a correct copy available, it will automatically repair
797 corrupted blocks.
798 </para>
799 </listitem>
800 <listitem>
801 <para>
802 <literal>displayManager.lightdm.greeters.gtk.clock-format.</literal>
803 has been added, the clock format string (as expected by
804 strftime, e.g. <literal>%H:%M</literal>) to use with the
805 lightdm gtk greeter panel.
806 </para>
807 <para>
808 If set to null the default clock format is used.
809 </para>
810 </listitem>
811 <listitem>
812 <para>
813 <literal>displayManager.lightdm.greeters.gtk.indicators</literal>
814 has been added, a list of allowed indicator modules to use
815 with the lightdm gtk greeter panel.
816 </para>
817 <para>
818 Built-in indicators include <literal>~a11y</literal>,
819 <literal>~language</literal>, <literal>~session</literal>,
820 <literal>~power</literal>, <literal>~clock</literal>,
821 <literal>~host</literal>, <literal>~spacer</literal>. Unity
822 indicators can be represented by short name (e.g.
823 <literal>sound</literal>, <literal>power</literal>), service
824 file name, or absolute path.
825 </para>
826 <para>
827 If set to <literal>null</literal> the default indicators are
828 used.
829 </para>
830 <para>
831 In order to have the previous default configuration add
832 </para>
833 <programlisting language="bash">
834{
835 services.xserver.displayManager.lightdm.greeters.gtk.indicators = [
836 "~host" "~spacer"
837 "~clock" "~spacer"
838 "~session"
839 "~language"
840 "~a11y"
841 "~power"
842 ];
843}
844</programlisting>
845 <para>
846 to your <literal>configuration.nix</literal>.
847 </para>
848 </listitem>
849 <listitem>
850 <para>
851 The NixOS test driver supports user services declared by
852 <literal>systemd.user.services</literal>. The methods
853 <literal>waitForUnit</literal>,
854 <literal>getUnitInfo</literal>, <literal>startJob</literal>
855 and <literal>stopJob</literal> provide an optional
856 <literal>$user</literal> argument for that purpose.
857 </para>
858 </listitem>
859 <listitem>
860 <para>
861 Enabling bash completion on NixOS,
862 <literal>programs.bash.enableCompletion</literal>, will now
863 also enable completion for the Nix command line tools by
864 installing the
865 <link xlink:href="https://github.com/hedning/nix-bash-completions">nix-bash-completions</link>
866 package.
867 </para>
868 </listitem>
869 <listitem>
870 <para>
871 The vim/kakoune plugin updater now reads from a CSV file:
872 check
873 <literal>pkgs/applications/editors/vim/plugins/vim-plugin-names</literal>
874 out to see the new format
875 </para>
876 </listitem>
877 </itemizedlist>
878 </section>
879</section>