Merge pull request #21444 from league/fix/gphoto2-udev
gphoto2: nixos programs module to configure udev
This commit is contained in:
commit
84a50084c3
|
@ -242,6 +242,7 @@
|
||||||
lassulus = "Lassulus <lassulus@gmail.com>";
|
lassulus = "Lassulus <lassulus@gmail.com>";
|
||||||
layus = "Guillaume Maudoux <layus.on@gmail.com>";
|
layus = "Guillaume Maudoux <layus.on@gmail.com>";
|
||||||
ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
|
ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
|
||||||
|
league = "Christopher League <league@contrapunctus.net>";
|
||||||
lebastr = "Alexander Lebedev <lebastr@gmail.com>";
|
lebastr = "Alexander Lebedev <lebastr@gmail.com>";
|
||||||
leenaars = "Michiel Leenaars <ml.software@leenaa.rs>";
|
leenaars = "Michiel Leenaars <ml.software@leenaa.rs>";
|
||||||
leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";
|
leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";
|
||||||
|
|
|
@ -71,6 +71,7 @@
|
||||||
./programs/environment.nix
|
./programs/environment.nix
|
||||||
./programs/fish.nix
|
./programs/fish.nix
|
||||||
./programs/freetds.nix
|
./programs/freetds.nix
|
||||||
|
./programs/gphoto2.nix
|
||||||
./programs/info.nix
|
./programs/info.nix
|
||||||
./programs/java.nix
|
./programs/java.nix
|
||||||
./programs/kbdlight.nix
|
./programs/kbdlight.nix
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
meta.maintainers = [ maintainers.league ];
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
programs.gphoto2 = {
|
||||||
|
enable = mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
type = types.bool;
|
||||||
|
description = ''
|
||||||
|
Whether to configure system to use gphoto2.
|
||||||
|
To grant digital camera access to a user, the user must
|
||||||
|
be part of the camera group:
|
||||||
|
<code>users.extraUsers.alice.extraGroups = ["camera"];</code>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf config.programs.gphoto2.enable {
|
||||||
|
services.udev.packages = [ pkgs.libgphoto2 ];
|
||||||
|
environment.systemPackages = [ pkgs.gphoto2 ];
|
||||||
|
users.extraGroups.camera = {};
|
||||||
|
};
|
||||||
|
}
|
|
@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/lib/udev/rules.d
|
||||||
|
$out/lib/libgphoto2/print-camera-list udev-rules version 175 group camera >$out/lib/udev/rules.d/40-gphoto2.rules
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.gphoto.org/proj/libgphoto2/;
|
homepage = http://www.gphoto.org/proj/libgphoto2/;
|
||||||
description = "A library for accessing digital cameras";
|
description = "A library for accessing digital cameras";
|
||||||
|
@ -41,4 +46,3 @@ stdenv.mkDerivation rec {
|
||||||
maintainers = with stdenv.lib.maintainers; [ jcumming ];
|
maintainers = with stdenv.lib.maintainers; [ jcumming ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue