[Nix-dev] NixOS on systemd
Shea Levy
shea at shealevy.com
Fri Aug 31 14:26:10 CEST 2012
Hi Eelco,
On 08/30/2012 02:51 PM, Eelco Dolstra wrote:
> Hi all,
>
> For the last few months I've been working on and off on replacing Upstart with
> systemd as NixOS's init system.
Thanks for doing this! My boot is much much faster now.
> This is now in a fairly usable state. (I'm
> running it on my own laptop, but it hasn't been widely tested and there are
> undoubtedly many issues remaining.)
One issue I've found so far: hardware.bluetooth.enable=true installs the
udev rules to start bluetoothd on bluetooth events, but even though
bt-usb is loaded by udev I have to start bluetoothd manually now (before
it was automatic).
> If you want to test it, do:
>
> $ git clone -b systemd git://github.com/edolstra/nixos.git nixos-systemd
> $ nixos-rebuild switch -I nixos=/path/to/nixos-systemd
> $ reboot
>
> The reboot is required to switch to systemd.
>
> Things to note:
>
> * You can see and manage systemd units using "systemctl". As a convenience for
> Upstart users, there are shell aliases "start", "stop" and "status" that run the
> corresponding "systemctl" command. E.g. "status httpd" shows the status of the
> httpd.service unit.
FWIW, these aliases don't seem to get passed through when sudoing, even
with sudo -i.
> * Systemd service units can be defined through the boot.systemd.services option.
> For compatibility, Upstart jobs defined in the "jobs" option are automatically
> converted to systemd services. (See modules/system/upstart/upstart.nix.)
> However, this mapping is not perfect. In particular, Upstart-specific
> constructs such as startOn and extraConfig should be rewritten.
>
> * ConsoleKit is gone. Its role has been taken over by logind. Use "loginctl"
> to manage user sessions. Every user session runs in a separate cgroup (see
> "systemd-cgls" and "systemd-cgtop" for a nice view).
>
> * Syslogd no longer runs by default since systemd provides its own journal
> service. This means /var/log/{messages,warn} are not used. Instead you can run
> "journalctl" or "systemctl status" to see log messages.
>
> * KDE 4.7 can no longer suspend/hibernate. Maybe a newer KDE fixes this. You
> can however run "systemctl suspend" or "systemctl hibernate" (as a logged-in user).
>
> * There is no getty/login started on tty1.
Any reason why not?
More information about the nix-dev
mailing list