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