56 lines
1.4 KiB
Nix
Raw Normal View History

2025-01-31 18:28:24 -05:00
{
config,
pkgs,
lib,
...
}:
2023-04-02 15:52:45 -04:00
let
2025-01-31 18:28:24 -05:00
rofi = config.programs.rofi.finalPackage;
2024-04-20 09:42:06 -04:00
in
{
2023-04-02 15:52:45 -04:00
# Adapted from:
# A rofi powered menu to execute brightness choices.
2025-01-31 18:28:24 -05:00
config.brightnessCommand = lib.mkIf config.nmasur.presets.programs.rofi.enable builtins.toString (
2024-04-20 09:42:06 -04:00
pkgs.writeShellScript "brightness" ''
2023-04-02 15:52:45 -04:00
dimmer="󰃝"
medium="󰃟"
brighter="󰃠"
2023-04-02 15:52:45 -04:00
chosen=$(printf '%s;%s;%s\n' \
"$dimmer" \
"$medium" \
"$brighter" \
2025-01-31 18:28:24 -05:00
| ${lib.getExe rofi} \
2023-04-02 15:52:45 -04:00
-theme-str '@import "brightness.rasi"' \
-hover-select \
-me-select-entry ''' \
-me-accept-entry MousePrimary \
-dmenu \
-sep ';' \
-selected-row 1)
2023-04-02 15:52:45 -04:00
case "$chosen" in
"$dimmer")
2025-01-31 18:28:24 -05:00
${lib.getExe pkgs.ddcutil} --display 1 setvcp 10 25; ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 25
2023-04-02 15:52:45 -04:00
;;
"$medium")
2025-01-31 18:28:24 -05:00
${lib.getExe pkgs.ddcutil} --display 1 setvcp 10 75; ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 75
2023-04-02 15:52:45 -04:00
;;
"$brighter")
2025-01-31 18:28:24 -05:00
${lib.getExe pkgs.ddcutil} --display 1 setvcp 10 100; ${pkgs.ddcutil}/bin/ddcutil --disable-dynamic-sleep --display 2 setvcp 10 100
2023-04-02 15:52:45 -04:00
;;
*) exit 1 ;;
esac
2024-04-20 09:42:06 -04:00
''
);
2023-04-02 15:52:45 -04:00
}