mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-24 14:43:37 +00:00
dc7db9bcc4
Xen is a trademark of the Cloud Software Group; we're not packaging Xen(Server), we're packaging the Xen Project Hypervisor, which is open source and owned by the Linux Foundation. This is based on advice from Kelly Choi, the Xen Project Community Manager, who has assisted us in the branding aspects of pacakaging. Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
52 lines
1.6 KiB
Nix
52 lines
1.6 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
let
|
|
cfg = config.services.xe-guest-utilities;
|
|
in {
|
|
options = {
|
|
services.xe-guest-utilities = {
|
|
enable = lib.mkEnableOption "the XenServer guest utilities daemon";
|
|
};
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
services.udev.packages = [ pkgs.xe-guest-utilities ];
|
|
systemd.tmpfiles.rules = [ "d /run/xenstored 0755 - - -" ];
|
|
|
|
systemd.services.xe-daemon = {
|
|
description = "xen daemon file";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "xe-linux-distribution.service" ];
|
|
requires = [ "proc-xen.mount" ];
|
|
path = [ pkgs.coreutils pkgs.iproute2 ];
|
|
serviceConfig = {
|
|
PIDFile = "/run/xe-daemon.pid";
|
|
ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid";
|
|
ExecStop = "${pkgs.procps}/bin/pkill -TERM -F /run/xe-daemon.pid";
|
|
};
|
|
};
|
|
|
|
systemd.services.xe-linux-distribution = {
|
|
description = "xen linux distribution service";
|
|
wantedBy = [ "multi-user.target" ];
|
|
before = [ "xend.service" ];
|
|
path = [ pkgs.xe-guest-utilities pkgs.coreutils pkgs.gawk pkgs.gnused ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
RemainAfterExit = "yes";
|
|
ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-linux-distribution /var/cache/xe-linux-distribution";
|
|
};
|
|
};
|
|
|
|
systemd.mounts = [
|
|
{ description = "Mount /proc/xen files";
|
|
what = "xenfs";
|
|
where = "/proc/xen";
|
|
type = "xenfs";
|
|
unitConfig = {
|
|
ConditionPathExists = "/proc/xen";
|
|
RefuseManualStop = "true";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|