From a6bacd4d817c822287995eb1d9f7450d484f97ff Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Sun, 9 Nov 2014 19:32:11 -0700 Subject: [PATCH] Add "light" package and setuid wrapper --- lib/maintainers.nix | 1 + nixos/modules/module-list.nix | 1 + nixos/modules/programs/light.nix | 26 ++++++++++++++++++++++++ pkgs/os-specific/linux/light/default.nix | 20 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 50 insertions(+) create mode 100644 nixos/modules/programs/light.nix create mode 100644 pkgs/os-specific/linux/light/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index a441768815a..d0e156ea177 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -116,6 +116,7 @@ pkmx = "Chih-Mao Chen "; plcplc = "Philip Lykke Carlsen "; pSub = "Pascal Wittmann "; + puffnfresh = "Brian McKenna "; qknight = "Joachim Schiele "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; redbaron = "Maxim Ivanov "; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 01afea464f8..a709ffa2e2e 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -58,6 +58,7 @@ ./programs/dconf.nix ./programs/environment.nix ./programs/info.nix + ./programs/light.nix ./programs/nano.nix ./programs/screen.nix ./programs/shadow.nix diff --git a/nixos/modules/programs/light.nix b/nixos/modules/programs/light.nix new file mode 100644 index 00000000000..09cd1113d9c --- /dev/null +++ b/nixos/modules/programs/light.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.light; + +in +{ + options = { + programs.light = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Whether to install Light backlight control with setuid wrapper. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.light ]; + security.setuidPrograms = [ "light" ]; + }; +} diff --git a/pkgs/os-specific/linux/light/default.nix b/pkgs/os-specific/linux/light/default.nix new file mode 100644 index 00000000000..5ca9f69f879 --- /dev/null +++ b/pkgs/os-specific/linux/light/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "0.9"; + name = "light-${version}"; + src = fetchurl { + url = "https://github.com/haikarainen/light/archive/v${version}.tar.gz"; + sha256 = "1dnzkkg307izvw76gvzsl2vpxd2a1grxg5h82ix505rb9nnmn0d6"; + }; + + installPhase = "mkdir -p $out/bin; cp light $out/bin/"; + + 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 ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d93e3f8346..97b96e9b26c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7997,6 +7997,8 @@ let then utillinux else null; + light = callPackage ../os-specific/linux/light { }; + e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { }; ebtables = callPackage ../os-specific/linux/ebtables { };