From 27d5e9392046d0a5a62f1ed710b5d7de9d393835 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 2 Jan 2008 10:07:52 +0000 Subject: [PATCH] Added choice of sound devices mode. svn path=/nixos/trunk/; revision=10045 --- system/options.nix | 11 ++++++++++- upstart-jobs/default.nix | 1 + upstart-jobs/udev-rules/50-udev.rules | 12 ++++++------ upstart-jobs/udev.nix | 2 ++ 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/system/options.nix b/system/options.nix index 0e607a5dd74..1ea25cb21cd 100644 --- a/system/options.nix +++ b/system/options.nix @@ -1162,7 +1162,16 @@ and cannot be redistributed. "; }; - + + 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. + "; + }; }; diff --git a/upstart-jobs/default.nix b/upstart-jobs/default.nix index 7b7c64af36f..cdeb5806369 100644 --- a/upstart-jobs/default.nix +++ b/upstart-jobs/default.nix @@ -30,6 +30,7 @@ let (config.services.udev.addFirmware); extraUdevPkgs = pkgs.lib.optional (config.services.hal.enable) pkgs.hal; + sndMode = config.services.udev.sndMode; }) # Makes LVM logical volumes available. diff --git a/upstart-jobs/udev-rules/50-udev.rules b/upstart-jobs/udev-rules/50-udev.rules index 400bf225903..02ce5920411 100644 --- a/upstart-jobs/udev-rules/50-udev.rules +++ b/upstart-jobs/udev-rules/50-udev.rules @@ -34,12 +34,12 @@ KERNEL=="sr[0-9]", BUS=="scsi", SYMLINK+="cdrom cdrom-%k" # ALSA sound devices. -KERNEL=="controlC[0-9]*", NAME="snd/%k" -KERNEL=="hwC[D0-9]*", NAME="snd/%k" -KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" -KERNEL=="midiC[D0-9]*", NAME="snd/%k" -KERNEL=="timer", NAME="snd/%k" -KERNEL=="seq", NAME="snd/%k" +KERNEL=="controlC[0-9]*", NAME="snd/%k", MODE="@sndMode@" +KERNEL=="hwC[D0-9]*", NAME="snd/%k", MODE="@sndMode@" +KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k", MODE="@sndMode@" +KERNEL=="midiC[D0-9]*", NAME="snd/%k", MODE="@sndMode@" +KERNEL=="timer", NAME="snd/%k", MODE="@sndMode@" +KERNEL=="seq", NAME="snd/%k", MODE="@sndMode@" # Firmware loading. diff --git a/upstart-jobs/udev.nix b/upstart-jobs/udev.nix index c29c4b5c5eb..e006db3587d 100644 --- a/upstart-jobs/udev.nix +++ b/upstart-jobs/udev.nix @@ -1,5 +1,6 @@ { stdenv, writeText, substituteAll, cleanSource, udev, procps, firmwareDirs , extraUdevPkgs ? [] +, sndMode ? "0600" }: let @@ -14,6 +15,7 @@ let isExecutable = true; inherit firmwareDirs; }; + inherit sndMode; buildCommand = " buildCommand= # urgh ensureDir $out