From 09504dbc89b7aee129b69bdf1c1c2e22d95c57f8 Mon Sep 17 00:00:00 2001 From: ooks-io Date: Sun, 9 Jun 2024 17:13:07 +1200 Subject: [PATCH] refactor(home:hyprland): move volume, brightness, powermenu --> tools --- home/modules/desktop/tools/default.nix | 3 ++ home/modules/desktop/tools/ookbrightness.nix | 45 ++++++++++++++++++ home/modules/desktop/tools/ookpower.nix | 14 ++++++ home/modules/desktop/tools/ookvolume.nix | 47 +++++++++++++++++++ home/modules/desktop/tools/zellijMenu.nix | 14 ++++++ .../wayland/compositor/hyprland/default.nix | 10 +--- .../compositor/hyprland/pkgs/default.nix | 9 ---- .../hyprland/pkgs/hyprbrightness.nix | 20 -------- .../compositor/hyprland/pkgs/hyprvolume.nix | 19 -------- 9 files changed, 124 insertions(+), 57 deletions(-) create mode 100644 home/modules/desktop/tools/ookbrightness.nix create mode 100644 home/modules/desktop/tools/ookpower.nix create mode 100644 home/modules/desktop/tools/ookvolume.nix create mode 100644 home/modules/desktop/tools/zellijMenu.nix delete mode 100644 home/modules/desktop/wayland/compositor/hyprland/pkgs/default.nix delete mode 100644 home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprbrightness.nix delete mode 100644 home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprvolume.nix diff --git a/home/modules/desktop/tools/default.nix b/home/modules/desktop/tools/default.nix index 229e9d3..ce37abe 100644 --- a/home/modules/desktop/tools/default.nix +++ b/home/modules/desktop/tools/default.nix @@ -1,5 +1,8 @@ { imports = [ ./kdeconnect.nix + ./ookvolume.nix + ./ookbrightness.nix + ./zellijMenu.nix ]; } diff --git a/home/modules/desktop/tools/ookbrightness.nix b/home/modules/desktop/tools/ookbrightness.nix new file mode 100644 index 0000000..fcc0551 --- /dev/null +++ b/home/modules/desktop/tools/ookbrightness.nix @@ -0,0 +1,45 @@ +{ lib, osConfig, pkgs, ... }: + +let + inherit (lib) mkIf; + inherit (builtins) elem; + features = osConfig.ooknet.host.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"; + }; + }; +} diff --git a/home/modules/desktop/tools/ookpower.nix b/home/modules/desktop/tools/ookpower.nix new file mode 100644 index 0000000..bafe2c4 --- /dev/null +++ b/home/modules/desktop/tools/ookpower.nix @@ -0,0 +1,14 @@ +{ lib, config, inputs, pkgs, ... }: + +let + inherit (lib) mkIf; + launcher = config.ooknet.wayland.launcher; +in + + +{ + config = mkIf (launcher == "rofi") { + home.packages = [ inputs.ooks-scripts.packages.${pkgs.system}.powermenu ]; + ooknet.binds.powermenu = "powermenu -c dmenu"; + }; +} diff --git a/home/modules/desktop/tools/ookvolume.nix b/home/modules/desktop/tools/ookvolume.nix new file mode 100644 index 0000000..5cb1460 --- /dev/null +++ b/home/modules/desktop/tools/ookvolume.nix @@ -0,0 +1,47 @@ +{ lib, pkgs, osConfig, ... }: + +let + inherit (lib) mkIf; + inherit (builtins) elem; + features = osConfig.ooknet.host.hardware.features; + ookvolume = pkgs.writeShellApplication { + name = "ookvolume"; + runtimeInputs = with pkgs; [pamixer libnotify]; + text = '' + notify() { + volume=$(pamixer --get-volume-human) + notify-send --app-name="system-notify" -h string:x-canonical-private-synchronous:sys-notify "󰕾 $volume" + } + option() { + case "$1" in + up) + pamixer --increase 5 + ;; + down) + pamixer --decrease 5 + ;; + mute) + pamixer --toggle-mute + ;; + *) echo "Invalid option" ;; + esac + } + main() { + option "$@" + notify + } + main "$@" + ''; + }; +in + +{ + config = mkIf (elem "audio" features) { + home.packages = [ ookvolume ]; + ooknet.binds.volume = { + up = "ookvolume up"; + down = "ookvolume down"; + mute = "ookvolume mute"; + }; + }; +} diff --git a/home/modules/desktop/tools/zellijMenu.nix b/home/modules/desktop/tools/zellijMenu.nix new file mode 100644 index 0000000..6ec5601 --- /dev/null +++ b/home/modules/desktop/tools/zellijMenu.nix @@ -0,0 +1,14 @@ +{ lib, config, inputs, pkgs, ... }: + +let + inherit (lib) mkIf; + multiplexer = config.ooknet.console.multiplexer; + launcher = config.ooknet.wayland.launcher; +in + +{ + config = mkIf (multiplexer == "zellij" && launcher == "rofi") { + home.packages = [ inputs.ooks-scripts.packages.${pkgs.system}.zellijmenu ]; + ooknet.binds.zellijMenu = "zellijMenu -n"; + }; +} diff --git a/home/modules/desktop/wayland/compositor/hyprland/default.nix b/home/modules/desktop/wayland/compositor/hyprland/default.nix index acf46ee..44b00b3 100644 --- a/home/modules/desktop/wayland/compositor/hyprland/default.nix +++ b/home/modules/desktop/wayland/compositor/hyprland/default.nix @@ -1,8 +1,6 @@ -{ lib, config, pkgs, inputs, ... }: +{ lib, config, pkgs, ... }: let wayland = config.ooknet.wayland; - inherit (import ./pkgs {inherit pkgs;}) hyprbrightness hyprvolume; - inherit (inputs.ooks-scripts.packages.${pkgs.system}) powermenu zellijmenu; inherit (lib) mkIf; in { @@ -15,12 +13,6 @@ in config = mkIf (wayland.compositor == "hyprland") { home.packages = [ pkgs.hyprpicker - hyprvolume - hyprbrightness - - # Personal scripts - powermenu - zellijmenu #TODO: only add if zellij enabled ]; wayland.windowManager.hyprland = { diff --git a/home/modules/desktop/wayland/compositor/hyprland/pkgs/default.nix b/home/modules/desktop/wayland/compositor/hyprland/pkgs/default.nix deleted file mode 100644 index f110a04..0000000 --- a/home/modules/desktop/wayland/compositor/hyprland/pkgs/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: - -let - packages = { - hyprvolume = pkgs.callPackage ./hyprvolume.nix {}; - hyprbrightness = pkgs.callPackage ./hyprbrightness.nix {}; - }; -in - packages diff --git a/home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprbrightness.nix b/home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprbrightness.nix deleted file mode 100644 index 45ce4d4..0000000 --- a/home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprbrightness.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "hyprbrightness"; - runtimeInputs = with pkgs; [brillo libnotify]; - text = '' - if [ "$1" == "up" ]; then - brillo -q -u 30000 -A 5 - elif [ "$1" == "down" ]; then - brillo -q -u 30000 -U 5 - else - echo "Invalid argument" - exit 1 - fi - - BRIGHTNESS=$(brillo -G | awk -F'.' '{print$1}') - - notify-send --app-name="system-notify" -h string:x-canonical-private-synchronous:sys-notify "󰃠 $BRIGHTNESS%" - ''; -} diff --git a/home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprvolume.nix b/home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprvolume.nix deleted file mode 100644 index 613e02d..0000000 --- a/home/modules/desktop/wayland/compositor/hyprland/pkgs/hyprvolume.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "hyprvolume"; - runtimeInputs = with pkgs; [pamixer libnotify]; - text = '' - if [ "$1" == "up" ]; then - pamixer --increase 5 - elif [ "$1" == "down" ]; then - pamixer --decrease 5 - elif [ "$1" == "mute" ]; then - pamixer --toggle-mute - fi - - VOLUME=$(pamixer --get-volume-human) - - notify-send --app-name="system-notify" -h string:x-canonical-private-synchronous:sys-notify "󰕾 $VOLUME" - ''; -}