Add kbdlight package and setuid wrapper

update nixos/modules/programs/kbdlight.nix to use mkEnableOption

Changed files
+46
lib
nixos
modules
pkgs
os-specific
linux
kbdlight
top-level
+1
lib/maintainers.nix
···
winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
wjlroe = "William Roe <willroe@gmail.com>";
+
womfoo = "Kranium Gikos Mendoza <kranium@gikos.net>";
wkennington = "William A. Kennington III <william@wkennington.com>";
wmertens = "Wout Mertens <Wout.Mertens@gmail.com>";
wscott = "Wayne Scott <wsc9tt@gmail.com>";
+1
nixos/modules/module-list.nix
···
./programs/environment.nix
./programs/info.nix
./programs/ibus.nix
+
./programs/kbdlight.nix
./programs/light.nix
./programs/nano.nix
./programs/screen.nix
+16
nixos/modules/programs/kbdlight.nix
···
+
{ config, lib, pkgs, ... }:
+
+
with lib;
+
+
let
+
cfg = config.programs.kbdlight;
+
+
in
+
{
+
options.programs.kbdlight.enable = mkEnableOption "kbdlight";
+
+
config = mkIf cfg.enable {
+
environment.systemPackages = [ pkgs.kbdlight ];
+
security.setuidPrograms = [ "kbdlight" ];
+
};
+
}
+26
pkgs/os-specific/linux/kbdlight/default.nix
···
+
{ stdenv, fetchFromGitHub }:
+
+
stdenv.mkDerivation rec {
+
name = "kbdlight-${version}";
+
version = "1.3";
+
+
src = fetchFromGitHub {
+
owner = "hobarrera";
+
repo = "kbdlight";
+
rev = "v${version}";
+
sha256 = "1f08aid1xrbl4sb5447gkip9lnvkia1c4ap0v8zih5s9w8v72bny";
+
};
+
+
preConfigure = ''
+
substituteInPlace Makefile \
+
--replace /usr/local $out
+
'';
+
+
meta = with stdenv.lib; {
+
homepage = https://github.com/hobarrera/kbdlight;
+
description = "A very simple application that changes MacBooks' keyboard backlight level";
+
license = licenses.isc;
+
maintainers = [ maintainers.womfoo ];
+
platforms = platforms.linux;
+
};
+
}
+2
pkgs/top-level/all-packages.nix
···
kbd = callPackage ../os-specific/linux/kbd { };
+
kbdlight = callPackage ../os-specific/linux/kbdlight { };
+
kmscon = callPackage ../os-specific/linux/kmscon { };
latencytop = callPackage ../os-specific/linux/latencytop { };