ooknet/modules/home/workstation/tools/ookbrightness.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";
};
};
}