refactor(home:hyprland): move volume, brightness, powermenu --> tools
This commit is contained in:
parent
a6d5e892a1
commit
09504dbc89
9 changed files with 124 additions and 57 deletions
|
|
@ -1,5 +1,8 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./kdeconnect.nix
|
./kdeconnect.nix
|
||||||
|
./ookvolume.nix
|
||||||
|
./ookbrightness.nix
|
||||||
|
./zellijMenu.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
45
home/modules/desktop/tools/ookbrightness.nix
Normal file
45
home/modules/desktop/tools/ookbrightness.nix
Normal file
|
|
@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home/modules/desktop/tools/ookpower.nix
Normal file
14
home/modules/desktop/tools/ookpower.nix
Normal file
|
|
@ -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";
|
||||||
|
};
|
||||||
|
}
|
||||||
47
home/modules/desktop/tools/ookvolume.nix
Normal file
47
home/modules/desktop/tools/ookvolume.nix
Normal file
|
|
@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home/modules/desktop/tools/zellijMenu.nix
Normal file
14
home/modules/desktop/tools/zellijMenu.nix
Normal file
|
|
@ -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";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
wayland = config.ooknet.wayland;
|
wayland = config.ooknet.wayland;
|
||||||
inherit (import ./pkgs {inherit pkgs;}) hyprbrightness hyprvolume;
|
|
||||||
inherit (inputs.ooks-scripts.packages.${pkgs.system}) powermenu zellijmenu;
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
@ -15,12 +13,6 @@ in
|
||||||
config = mkIf (wayland.compositor == "hyprland") {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.hyprpicker
|
pkgs.hyprpicker
|
||||||
hyprvolume
|
|
||||||
hyprbrightness
|
|
||||||
|
|
||||||
# Personal scripts
|
|
||||||
powermenu
|
|
||||||
zellijmenu #TODO: only add if zellij enabled
|
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
packages = {
|
|
||||||
hyprvolume = pkgs.callPackage ./hyprvolume.nix {};
|
|
||||||
hyprbrightness = pkgs.callPackage ./hyprbrightness.nix {};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
packages
|
|
||||||
|
|
@ -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%"
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
@ -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"
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue