Convert "udev"
svn path=/nixos/branches/fix-style/; revision=14385
This commit is contained in:
parent
d0733953e1
commit
e0240ddf3d
|
@ -479,39 +479,6 @@ in
|
|||
|
||||
};
|
||||
|
||||
udev = {
|
||||
|
||||
addFirmware = mkOption {
|
||||
default = [];
|
||||
example = ["/mnt/big-storage/firmware/"];
|
||||
description = "
|
||||
To specify firmware that is not too spread to ensure
|
||||
a package, or have an interactive process of extraction
|
||||
and cannot be redistributed.
|
||||
";
|
||||
merge = pkgs.lib.mergeListOption;
|
||||
};
|
||||
|
||||
addUdevPkgs = mkOption {
|
||||
default = [];
|
||||
description = "
|
||||
List of packages containing udev rules.
|
||||
";
|
||||
merge = pkgs.lib.mergeListOption;
|
||||
};
|
||||
|
||||
sndMode = mkOption {
|
||||
default = "0600";
|
||||
example = "0666";
|
||||
description = "
|
||||
Permissions for /dev/snd/*, in case you have multiple
|
||||
logged in users or if the devices belong to root for
|
||||
some reason.
|
||||
";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
samba = {
|
||||
|
||||
enable = mkOption {
|
||||
|
@ -1015,6 +982,7 @@ in
|
|||
(import ../upstart-jobs/apache-httpd) # Apache httpd (new style).
|
||||
(import ../upstart-jobs/vsftpd.nix)
|
||||
(import ../upstart-jobs/cupsd.nix) # CUPS printing daemon
|
||||
(import ../upstart-jobs/udev.nix) # The udev daemon creates devices nodes and runs programs when hardware events occur.
|
||||
|
||||
# nix
|
||||
(import ../upstart-jobs/nix.nix) # nix options and daemon
|
||||
|
|
|
@ -77,16 +77,6 @@ let
|
|||
inherit config;
|
||||
})
|
||||
|
||||
# The udev daemon creates devices nodes and runs programs when
|
||||
# hardware events occur.
|
||||
(import ../upstart-jobs/udev.nix {
|
||||
inherit modprobe config;
|
||||
inherit (pkgs) stdenv writeText substituteAll udev procps;
|
||||
inherit (pkgs.lib) cleanSource;
|
||||
firmwareDirs = config.services.udev.addFirmware;
|
||||
extraUdevPkgs = config.services.udev.addUdevPkgs;
|
||||
})
|
||||
|
||||
# Makes LVM logical volumes available.
|
||||
(import ../upstart-jobs/lvm.nix {
|
||||
inherit modprobe;
|
||||
|
|
|
@ -1,12 +1,55 @@
|
|||
{ stdenv, writeText, substituteAll, cleanSource, udev, procps, firmwareDirs, modprobe
|
||||
, extraUdevPkgs ? []
|
||||
, config
|
||||
}:
|
||||
{pkgs, config, ...}:
|
||||
|
||||
###### interface
|
||||
let
|
||||
inherit (pkgs.lib) mkOption mkIf;
|
||||
|
||||
options = {
|
||||
services = {
|
||||
udev = {
|
||||
|
||||
addFirmware = mkOption {
|
||||
default = [];
|
||||
example = ["/mnt/big-storage/firmware/"];
|
||||
description = "
|
||||
To specify firmware that is not too spread to ensure
|
||||
a package, or have an interactive process of extraction
|
||||
and cannot be redistributed.
|
||||
";
|
||||
merge = pkgs.lib.mergeListOption;
|
||||
};
|
||||
|
||||
addUdevPkgs = mkOption {
|
||||
default = [];
|
||||
description = "
|
||||
List of packages containing udev rules.
|
||||
";
|
||||
merge = pkgs.lib.mergeListOption;
|
||||
};
|
||||
|
||||
sndMode = mkOption {
|
||||
default = "0600";
|
||||
example = "0666";
|
||||
description = "
|
||||
Permissions for /dev/snd/*, in case you have multiple
|
||||
logged in users or if the devices belong to root for
|
||||
some reason.
|
||||
";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
###### implementation
|
||||
|
||||
let
|
||||
|
||||
inherit (pkgs) substituteAll stdenv writeText udev procps;
|
||||
|
||||
cfg = config.services.udev;
|
||||
|
||||
|
||||
firmwareLoader = substituteAll {
|
||||
src = ./udev-firmware-loader.sh;
|
||||
path = "${stdenv.coreutils}/bin";
|
||||
|
@ -14,6 +57,11 @@ let
|
|||
inherit firmwareDirs;
|
||||
};
|
||||
|
||||
firmwareDirs = config.services.udev.addFirmware;
|
||||
extraUdevPkgs = config.services.udev.addUdevPkgs;
|
||||
|
||||
modprobe = config.system.sbin.modprobe;
|
||||
|
||||
nixRules = writeText "90-nix.rules" ''
|
||||
|
||||
# Miscellaneous devices.
|
||||
|
@ -86,6 +134,13 @@ let
|
|||
in
|
||||
|
||||
{
|
||||
|
||||
require = [
|
||||
options
|
||||
];
|
||||
|
||||
services = {
|
||||
extraJobs = [{
|
||||
name = "udev";
|
||||
|
||||
job = ''
|
||||
|
@ -137,4 +192,6 @@ in
|
|||
'';
|
||||
|
||||
passthru = {inherit udevRules;};
|
||||
}];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue