gphoto2: nixos programs module to configure udev

Closes #21420.
wip/yesman
Christopher League 8 years ago
parent 02c65bdac9
commit 6eead52e12
  1. 1
      lib/maintainers.nix
  2. 1
      nixos/modules/module-list.nix
  3. 31
      nixos/modules/programs/gphoto2.nix
  4. 6
      pkgs/development/libraries/libgphoto2/default.nix

@ -240,6 +240,7 @@
lassulus = "Lassulus <lassulus@gmail.com>";
layus = "Guillaume Maudoux <layus.on@gmail.com>";
ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
league = "Christopher League <league@contrapunctus.net>";
lebastr = "Alexander Lebedev <lebastr@gmail.com>";
leenaars = "Michiel Leenaars <ml.software@leenaa.rs>";
leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";

@ -71,6 +71,7 @@
./programs/environment.nix
./programs/fish.nix
./programs/freetds.nix
./programs/gphoto2.nix
./programs/info.nix
./programs/java.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" ];
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 = {
homepage = http://www.gphoto.org/proj/libgphoto2/;
description = "A library for accessing digital cameras";
@ -41,4 +46,3 @@ stdenv.mkDerivation rec {
maintainers = with stdenv.lib.maintainers; [ jcumming ];
};
}

Loading…
Cancel
Save