From bb39670cd1cb25469827589dff8a307efccfb0a6 Mon Sep 17 00:00:00 2001 From: ItsDrike Date: Mon, 10 Jun 2024 15:11:49 +0200 Subject: [PATCH] Use brightnessctl --- home/packages/cli/default.nix | 1 + home/packages/cli/desktop.nix | 18 ++ .../wms/hyprland/config/keybinds.nix | 9 +- .../graphical/wms/hyprland/default.nix | 11 +- .../packages/brightness/brightness.sh | 162 +----------------- .../hyprland/packages/brightness/default.nix | 2 - 6 files changed, 38 insertions(+), 165 deletions(-) create mode 100644 home/packages/cli/desktop.nix diff --git a/home/packages/cli/default.nix b/home/packages/cli/default.nix index 46d4c7f..6f102c9 100644 --- a/home/packages/cli/default.nix +++ b/home/packages/cli/default.nix @@ -1,5 +1,6 @@ _: { imports = [ ./shared.nix + ./desktop.nix ]; } diff --git a/home/packages/cli/desktop.nix b/home/packages/cli/desktop.nix new file mode 100644 index 0000000..4d0b918 --- /dev/null +++ b/home/packages/cli/desktop.nix @@ -0,0 +1,18 @@ +{ + osConfig, + lib, + pkgs, + ... +}: let + inherit (lib) mkIf; + + devType = osConfig.myOptions.device.roles.type; + acceptedTypes = [ "laptop" "desktop" ]; +in { + config = mkIf (builtins.elem devType acceptedTypes) { + home.packages = with pkgs; [ + trash-cli + bitwarden-cli + ]; + }; +} diff --git a/home/programs/graphical/wms/hyprland/config/keybinds.nix b/home/programs/graphical/wms/hyprland/config/keybinds.nix index b79ff0c..dbed510 100644 --- a/home/programs/graphical/wms/hyprland/config/keybinds.nix +++ b/home/programs/graphical/wms/hyprland/config/keybinds.nix @@ -38,11 +38,10 @@ # # Brightness control # - "SUPER, Right, exec, brightness -i 5% -n" - "SUPER, Left, exec, brightness -d 5% -n" - ", XF86MonBrightnessUp, exec, brightness -i 5% -n" - ", XF86MonBrightnessDown, exec, brightness -d 5% -n" - + "SUPER, Right, exec, brightness 5%+" + "SUPER, Left, exec, brightness 5%-" + ", XF86MonBrightnessUp, exec, brightness 5%+" + ", XF86MonBrightnessDown, exec, brightness 5%-" # # Audio/Volume control diff --git a/home/programs/graphical/wms/hyprland/default.nix b/home/programs/graphical/wms/hyprland/default.nix index cd89d71..166748f 100644 --- a/home/programs/graphical/wms/hyprland/default.nix +++ b/home/programs/graphical/wms/hyprland/default.nix @@ -6,7 +6,7 @@ }: let inherit (lib) mkIf; - inherit (import ./packages {inherit pkgs;}) hyprland-swap-workspace hyprland-move-window; + hyprPkgs = (import ./packages {inherit pkgs;}); cfg = osConfig.myOptions.home-manager.wms.hyprland; in { @@ -15,10 +15,11 @@ in { ]; config = mkIf cfg.enable { - home.packages = with pkgs; [ - hyprland-swap-workspace - hyprland-move-window - brightness + home.packages = [ + hyprPkgs.hyprland-swap-workspace + hyprPkgs.hyprland-move-window + pkgs.brightnessctl + hyprPkgs.brightness ]; wayland.windowManager.hyprland = { diff --git a/home/programs/graphical/wms/hyprland/packages/brightness/brightness.sh b/home/programs/graphical/wms/hyprland/packages/brightness/brightness.sh index e5a9fa2..d48c21c 100644 --- a/home/programs/graphical/wms/hyprland/packages/brightness/brightness.sh +++ b/home/programs/graphical/wms/hyprland/packages/brightness/brightness.sh @@ -1,166 +1,22 @@ #!/bin/sh - -# Parse arguments -# ------------------------------------------------------------------------------------ -BRIGHTNESS_DIR="/sys/class/backlight/*" -SEND_NOTIFICATION=0 -URGENCY="normal" -INCREASE=0 -DECREASE=0 -SET=0 -BRIGHTNESS=0 - -PARSED=$(getopt \ - --options=hnu:i:d:s:p:N \ - --longoptions=help,notification,urgency:,increase:,decrease:,set:,path:,no-notification \ - --name "$0" \ - -- \ - "$@") - -if [ $? != 0 ]; then - exit 2 -fi - -eval set -- "$PARSED" - -while [ "$1" ]; do - case "$1" in - -h | --help) - cat </dev/null -} - -# Main Logic -# ------------------------------------------------------------------------------------ - -# Determine the absolute new brightness level -if [ $INCREASE -eq 1 ] || [ $DECREASE -eq 1 ] || [ $SET -eq 1 ]; then - # If we're dealing with percentages, change to absolutes - if echo "$BRIGHTNESS" | grep -qE '%$'; then - numeric=$(echo "$BRIGHTNESS" | sed 's/.$//') - absolute=$(echo "($BRIGHTNESS_MAX / 100) * $numeric" | bc -l) - BRIGHTNESS=$(printf "%.0f" $absolute) - fi - - # Get the new requested absolute brightness - if [ $SET -eq 1 ]; then - new_brightness=$BRIGHTNESS - elif [ $DECREASE -eq 1 ]; then - cur_brightness=$(cat $BRIGHTNESS_FILE) - new_brightness=$(($cur_brightness - $BRIGHTNESS)) - else - cur_brightness=$(cat $BRIGHTNESS_FILE) - new_brightness=$(($cur_brightness + $BRIGHTNESS)) - fi - - # Ensure we respect max/min boundaries - if [ $new_brightness -lt 0 ]; then - new_brightness=0 - elif [ $new_brightness -gt $BRIGHTNESS_MAX ]; then - new_brightness=$BRIGHTNESS_MAX - fi - - # Update the brightness - set_brightness $new_brightness -fi - -cur_brightness=$(cat $BRIGHTNESS_FILE) -percent_brightness=$(echo "($cur_brightness / $BRIGHTNESS_MAX) * 100" | bc -l) -percent_brightness_2f=$(printf "%.2f" $percent_brightness) -percent_brightness_rounded=$(printf "%.0f" $percent_brightness) - -if [ $SEND_NOTIFICATION -eq 1 ]; then - send_brightness_notify "$percent_brightness_rounded" "Level: $percent_brightness_rounded" -fi - -echo "Brightness: ${percent_brightness_2f}% (absolute: $cur_brightness)" +out="$(brightnessctl s "$1")" +cur_percent="$(echo "$out" | grep "Current" | grep -oP '\(\d+%' | tr -d '()%')" +send_brightness_notify "$cur_percent" diff --git a/home/programs/graphical/wms/hyprland/packages/brightness/default.nix b/home/programs/graphical/wms/hyprland/packages/brightness/default.nix index 7a8d515..609c6ff 100644 --- a/home/programs/graphical/wms/hyprland/packages/brightness/default.nix +++ b/home/programs/graphical/wms/hyprland/packages/brightness/default.nix @@ -2,5 +2,3 @@ pkgs.writeShellScriptBin "brightness" '' ${builtins.readFile ./brightness.sh} '' - -