Convert "acpid"

svn path=/nixos/branches/fix-style/; revision=14358
This commit is contained in:
Marc Weber 2009-03-06 12:25:25 +00:00
parent 8c5f0522e7
commit 1c43b4946b
2 changed files with 41 additions and 29 deletions

View File

@ -2180,18 +2180,6 @@ in
}; };
powerManagement = {
enable = mkOption {
default = false;
description = "
Whether to enable power management.
";
};
};
nesting = { nesting = {
children = mkOption { children = mkOption {
default = []; default = [];
@ -2222,6 +2210,8 @@ in
(import ../system/activate-configuration.nix) (import ../system/activate-configuration.nix)
(import ../upstart-jobs/default.nix) (import ../upstart-jobs/default.nix)
(import ../upstart-jobs/acpid.nix) # ACPI daemon
# security # security
(import ../system/sudo.nix) (import ../system/sudo.nix)

View File

@ -1,5 +1,22 @@
{pkgs, config, ...}: {pkgs, config, ...}:
###### interface
let
inherit (pkgs.lib) mkOption mkIf;
options = {
powerManagement = {
enable = mkOption {
default = false;
description = "Whether to enable power management (ACPI daemon)";
};
};
};
in
###### implementation
let let
acpiConfDir = pkgs.runCommand "acpi-events" {} acpiConfDir = pkgs.runCommand "acpi-events" {}
@ -18,8 +35,6 @@ let
} }
''; '';
events = [powerEvent lidEvent acEvent];
# Called when the power button is pressed. # Called when the power button is pressed.
powerEvent = powerEvent =
{ name = "power-button"; { name = "power-button";
@ -64,20 +79,27 @@ let
''; '';
}; };
events = [powerEvent lidEvent acEvent];
in in
{ mkIf config.powerManagement.enable {
name = "acpid"; require = [
options
];
extraPath = [pkgs.acpid]; services = {
extraJobs = [{
name = "acpid";
job = '' job = ''
description "ACPI daemon" description "ACPI daemon"
start on udev start on udev
stop on shutdown stop on shutdown
respawn ${pkgs.acpid}/sbin/acpid --foreground --confdir ${acpiConfDir}
'';
respawn ${pkgs.acpid}/sbin/acpid --foreground --confdir ${acpiConfDir}
'';
}];
};
} }