
You can now say: systemd.services.foo.baseUnit = "${pkgs.foo}/.../foo.service"; This will cause NixOS' generated foo.service file to include foo.service from the foo package. You can then apply local customization in the usual way: systemd.services.foo.serviceConfig.MemoryLimit = "512M"; Note however that overriding options in the original unit may not work. For instance, you cannot override ExecStart. It's also possible to customize instances of template units: systemd.services."getty@tty4" = { baseUnit = "/etc/systemd/system/getty@.service"; serviceConfig.MemoryLimit = "512M"; }; This replaces the unit options linkTarget (which didn't allow customisation) and extraConfig (which did allow customisation, but in a non-standard way).
*** NixOS *** NixOS is a Linux distribution based on the purely functional package management system Nix. More information can be found at http://nixos.org/nixos and in the manual in doc/manual.