50 lines
1.1 KiB
Nix
50 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
osConfig,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf;
|
|
inherit (builtins) elem;
|
|
inherit (osConfig.ooknet.hardware) features;
|
|
ookbrightness = pkgs.writeShellApplication {
|
|
name = "ookbrightness";
|
|
runtimeInputs = with pkgs; [brillo libnotify];
|
|
text =
|
|
/*
|
|
bash
|
|
*/
|
|
''
|
|
BRIGHTNESS=$(brillo -G | awk -F'.' '{print$1}')
|
|
notify() {
|
|
notify-send --app-name="system-notify" -h string:x-canonical-private-synchronous:sys-notify " $BRIGHTNESS%"
|
|
}
|
|
option() {
|
|
case "$1" in
|
|
up)
|
|
brillo -q -u 30000 -A 5
|
|
;;
|
|
down)
|
|
brillo -q -u 30000 -U 5
|
|
;;
|
|
*)
|
|
echo "Invalid argument"
|
|
;;
|
|
esac
|
|
}
|
|
main() {
|
|
option "$@"
|
|
notify
|
|
}
|
|
main "$@"
|
|
'';
|
|
};
|
|
in {
|
|
config = mkIf (elem "backlight" features) {
|
|
home.packages = [ookbrightness];
|
|
ooknet.binds.brightness = {
|
|
up = "ookbrightness up";
|
|
down = "ookbrightness down";
|
|
};
|
|
};
|
|
}
|