43 lines
1.2 KiB
Nix
43 lines
1.2 KiB
Nix
{ pkgs, config, ... }:
|
|
|
|
let
|
|
homedir = config.home.homeDirectory;
|
|
increments = "5";
|
|
|
|
brightness-change = pkgs.writeShellScriptBin "brightness-change" ''
|
|
sleep 0.05
|
|
|
|
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%+
|
|
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%-
|
|
|
|
brightness_level=$(${pkgs.brightnessctl}/bin/brightnessctl get)
|
|
|
|
message=" Brightness: $brightness_level%"
|
|
|
|
ID=$(cat /tmp/brightness-notification 2>/dev/null)
|
|
[[ $ID -eq "" ]] && ID=0
|
|
|
|
${pkgs.libnotify}/bin/notify-send "$message" \
|
|
--replace-id="$ID" \
|
|
--print-id \
|
|
-t 2000 \
|
|
-h int:value:"$brightness_level" \
|
|
-h string:synchronous:brightness-change > /tmp/brightness-notification
|
|
'';
|
|
|
|
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
|
|
brightness-change up ${increments}
|
|
'';
|
|
|
|
brightness-down = pkgs.writeShellScriptBin "brightness-down" ''
|
|
brightness-change down ${increments}
|
|
'';
|
|
|
|
in {
|
|
home.packages = with pkgs; [
|
|
brightness-change
|
|
brightness-up
|
|
brightness-down
|
|
];
|
|
}
|