[Nix-dev] Systemd branch merged

Eelco Dolstra eelco.dolstra at logicblox.com
Mon Jan 21 14:01:23 CET 2013

Hi all,

As promised, I've finally merged NixOS' systemd branch.  This changes NixOS'
init system from Upstart to systemd.  Once the NixOS channel has caught up,
upgrading is done as usual ("nix-channel --update; nixos-rebuild switch") except
that you need to reboot to make the upgrade take effect.  (If you're using
Charon, you can use its "--allow-reboot" flag to do this automatically.)

The two main things to know if you're a systemd newbie:

- System services are managed using "systemctl" instead of "initctl".  See the
systemctl(1) manpage for details.

- Syslogd does not run by default anymore, since systemd's journald performs
syslog logging.  This means that /var/log/messages is no longer used.  Instead,
you should run "journalctl" to see log messages, or "systemctl status
<service-name>" for service-specific messages.  If you really need syslogd, you
can enable it by setting "services.syslogd.enable" to true.

The NixOS manual (run "nixos-help" to read it.) has more information.
Definitive systemd info is in the systemd manpages

If for whatever reason you don't want to switch to systemd at this time, you can
use the "upstart" branches of NixOS and Nixpkgs.  To use them, get a checkout of
the NixOS/Nixpkgs trees (e.g. using "nixos-checkout"), then do "git checkout
upstart" in both and use "nixos-rebuild -I ..." to point nixos-rebuild at those

I've bumped the NixOS version number from 0.1 to 0.2, so 0.1 = Upstart, >= 0.2 =
systemd.  (And to immortalize the Upstart era, there is a "final" Upstart-based
NixOS release at http://nixos.org/releases/nixos/nixos-0.1/.)



Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/

More information about the nix-dev mailing list