light: 1.1.2 -> 1.2, use new udev support instead of setuid wrapper.

Changed files
+15 -10
nixos
modules
programs
pkgs
os-specific
linux
light
+2 -2
nixos/modules/programs/light.nix
···
default = false;
type = types.bool;
description = ''
-
Whether to install Light backlight control with setuid wrapper.
+
Whether to install Light backlight control command and udev rules.
'';
};
};
···
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.light ];
-
security.wrappers.light.source = "${pkgs.light.out}/bin/light";
+
services.udev.packages = [ pkgs.light ];
};
}
+13 -8
pkgs/os-specific/linux/light/default.nix
···
-
{ stdenv, fetchFromGitHub, help2man }:
+
{ stdenv, fetchFromGitHub, autoreconfHook, coreutils }:
stdenv.mkDerivation rec {
-
version = "1.1.2";
+
version = "1.2";
name = "light-${version}";
src = fetchFromGitHub {
owner = "haikarainen";
repo = "light";
-
rev = version;
-
sha256 = "0c934gxav9cgdf94li6dp0rfqmpday9d33vdn9xb2mfp4war9n4w";
+
rev = "v${version}";
+
sha256 = "1h286va0r1xgxlnxfaaarrj3qhxmjjsivfn3khwm0wq1mhkfihra";
};
-
buildInputs = [ help2man ];
+
configureFlags = [ "--with-udev" ];
-
installPhase = "mkdir -p $out/bin; cp light $out/bin/";
+
nativeBuildInputs = [ autoreconfHook ];
-
preFixup = "make man; mkdir -p $out/man/man1; mv light.1.gz $out/man/man1";
+
# ensure udev rules can find the commands used
+
postPatch = ''
+
substituteInPlace 90-backlight.rules \
+
--replace '/bin/chgrp' '${coreutils}/bin/chgrp' \
+
--replace '/bin/chmod' '${coreutils}/bin/chmod'
+
'';
meta = {
description = "GNU/Linux application to control backlights";
homepage = https://haikarainen.github.io/light/;
license = stdenv.lib.licenses.gpl3;
-
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
+
maintainers = with stdenv.lib.maintainers; [ puffnfresh dtzWill ];
platforms = stdenv.lib.platforms.linux;
};
}