rgb on waybar
This commit is contained in:
parent
96d02ac12e
commit
d25752f468
3 changed files with 334 additions and 293 deletions
|
|
@ -5,10 +5,38 @@ let
|
|||
cfg = config.modules.hardware.rgb;
|
||||
in {
|
||||
options.modules.hardware.rgb = {
|
||||
enable = mkEnableOption "Enable support for rgb devices through openrgb";
|
||||
enable = mkEnableOption "Enable support for rgb devices through OpenRGB";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.openrgb;
|
||||
example = "pkgs.openrgb";
|
||||
};
|
||||
swapScript = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.writeShellScript "openrgb-swap" ''
|
||||
set -euo pipefail
|
||||
|
||||
mapfile -t files < <(
|
||||
find "$XDG_CONFIG_HOME/OpenRGB" -name "*.orp"
|
||||
find /var/lib/OpenRGB -name "*.orp" 2>/dev/null
|
||||
)
|
||||
|
||||
selected=$(printf '%s\n' "''${files[@]}" | xargs -n1 basename | ${lib.getExe config.modules.desktop.rofi.package} -dmenu -i -p "select profile")
|
||||
|
||||
[[ -z "$selected" ]] && exit 0
|
||||
|
||||
for f in "''${files[@]}"; do
|
||||
if [[ $(basename "$f") == "$selected" ]]; then
|
||||
${lib.getExe cfg.package} -p "$f"
|
||||
break
|
||||
fi
|
||||
done
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.hardware.openrgb.enable = true;
|
||||
services.hardware.openrgb.package = cfg.package;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue