mirror of
https://github.com/lightly-toasted/nix-config.git
synced 2025-12-10 03:49:44 +00:00
Compare commits
No commits in common. "2c642a7e325c8b6d68cc522ee9faecc607bcfa63" and "1c99f9d063e081fd22b40d36689ef54c7925161c" have entirely different histories.
2c642a7e32
...
1c99f9d063
8 changed files with 64 additions and 46 deletions
|
|
@ -1,9 +1,9 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
package = pkgs.writeShellScriptBin "autoclick-action" ''
|
script = pkgs.writeShellScriptBin "autoclick-action" ''
|
||||||
if ! command -v ydotool >/dev/null 2>&1; then
|
if ! command -v ydotool >/dev/null 2>&1; then
|
||||||
${pkgs.libnotify}/bin/notify-send -r 120000 "Autoclicker" "This tool requires ydotool to be installed on your system."
|
notify-send -r 120000 "Autoclicker" "This tool requires ydotool to be installed on your system."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AUTOCLICK_FILE="/run/user/$(id -u)/autoclick"
|
AUTOCLICK_FILE="/run/user/$(id -u)/autoclick"
|
||||||
|
|
@ -15,11 +15,11 @@
|
||||||
current=$(cat "$AUTOCLICK_FILE")
|
current=$(cat "$AUTOCLICK_FILE")
|
||||||
if [ "$current" = "0" ]; then
|
if [ "$current" = "0" ]; then
|
||||||
echo "1" > "$AUTOCLICK_FILE"
|
echo "1" > "$AUTOCLICK_FILE"
|
||||||
${pkgs.libnotify}/bin/notify-send -r 120000 "Autoclicker" "Stopped"
|
notify-send -r 120000 "Autoclicker" "Stopped"
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "0" > "$AUTOCLICK_FILE"
|
echo "0" > "$AUTOCLICK_FILE"
|
||||||
${pkgs.libnotify}/bin/notify-send -r 120000 "Autoclicker" "Started"
|
notify-send -r 120000 "Autoclicker" "Started"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while :; do
|
while :; do
|
||||||
|
|
@ -31,4 +31,10 @@
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
package = pkgs.symlinkJoin {
|
||||||
|
name = "autoclick-action";
|
||||||
|
paths = [ script pkgs.libnotify ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
package = pkgs.writeShellScriptBin "deafen-action" ''
|
script = pkgs.writeShellScriptBin "deafen-action" ''
|
||||||
${pkgs.hyprland}/bin/hyprctl dispatch sendshortcut CTRL+SHIFT, D, 'class:^(vesktop)$'
|
hyprctl dispatch sendshortcut CTRL+SHIFT, D, 'class:^(vesktop)$'
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
package = pkgs.symlinkJoin {
|
||||||
|
name = "deafen-action";
|
||||||
|
paths = [ script pkgs.hyprland ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,4 @@
|
||||||
deafen = import ./deafen.nix { inherit pkgs; };
|
deafen = import ./deafen.nix { inherit pkgs; };
|
||||||
sober-lag = import ./sober-lag.nix { inherit pkgs; };
|
sober-lag = import ./sober-lag.nix { inherit pkgs; };
|
||||||
flick = import ./flick.nix { inherit pkgs; };
|
flick = import ./flick.nix { inherit pkgs; };
|
||||||
play-pause = import ./play-pause.nix { inherit pkgs; };
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,18 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
package = pkgs.writeShellScriptBin "flick-action" ''
|
script = pkgs.writeShellScriptBin "flick-action" ''
|
||||||
if ! command -v ydotool >/dev/null 2>&1; then
|
if ! command -v ydotool >/dev/null 2>&1; then
|
||||||
${pkgs.libnotify}/bin/notify-send -r 120000 "Flick" "This tool requires ydotool to be installed on your system."
|
notify-send -r 120000 "Flick" "This tool requires ydotool to be installed on your system."
|
||||||
fi
|
fi
|
||||||
ydotool mousemove -- 800 0
|
ydotool mousemove -- 800 0
|
||||||
sleep 0.03
|
sleep 0.03
|
||||||
ydotool mousemove -- -800 0
|
ydotool mousemove -- -800 0
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
package = pkgs.symlinkJoin {
|
||||||
|
name = "autoclick-action";
|
||||||
|
paths = [ script pkgs.libnotify ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
package = pkgs.writeShellScriptBin "play-pause-action" ''
|
|
||||||
${pkgs.playerctl}/bin/playerctl play-pause
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +1,27 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
package = pkgs.writeShellScriptBin "sober-lag-action" ''
|
script = pkgs.writeShellScriptBin "sober-lag-action" ''
|
||||||
roblox_pid=$(${pkgs.procps}/bin/ps aux \
|
roblox_pid=$(ps aux | grep "[s]ober --" | sort -k3 -nr | head -n 1 | awk '{print $2}')
|
||||||
| ${pkgs.gnugrep}/bin/grep "[s]ober --" \
|
|
||||||
| ${pkgs.coreutils}/bin/sort -k3 -nr \
|
|
||||||
| ${pkgs.coreutils}/bin/head -n 1 \
|
|
||||||
| ${pkgs.gawk}/bin/awk '{print $2}')
|
|
||||||
|
|
||||||
if [ -z "$roblox_pid" ]; then
|
if [ -z "$roblox_pid" ]; then
|
||||||
${pkgs.libnotify}/bin/notify-send "sober-lag.sh" "Sober is not running."
|
notify-send "sober-lag.sh" "Sober is not running."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pgid=$(${pkgs.procps}/bin/ps -o pgid= -p "$roblox_pid" | ${pkgs.coreutils}/bin/xargs)
|
pgid=$(ps -o pgid= -p "$roblox_pid" | xargs)
|
||||||
|
|
||||||
if [ -z "$pgid" ]; then
|
if [ -z "$pgid" ]; then
|
||||||
${pkgs.libnotify}/bin/notify-send "sober-lag.sh" "Could not find PGID for PID $roblox_pid."
|
notify-send "sober-lag.sh" "Could not find PGID for PID $roblox_pid."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${pkgs.coreutils}/bin/kill -STOP -- "-$pgid"
|
kill -STOP -- "-$pgid"
|
||||||
${pkgs.coreutils}/bin/sleep 0.2
|
sleep 0.2
|
||||||
${pkgs.coreutils}/bin/kill -CONT -- "-$pgid"
|
kill -CONT -- "-$pgid"
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
package = pkgs.symlinkJoin {
|
||||||
|
name = "sober-lag-action";
|
||||||
|
paths = [ script pkgs.procps pkgs.gawk pkgs.gnugrep pkgs.gnused pkgs.coreutils pkgs.libnotify ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ pkgs }:
|
{ pkgs }:
|
||||||
|
|
||||||
{
|
let
|
||||||
package = pkgs.writeShellScriptBin "cycle-mouse-action" ''
|
script = pkgs.writeShellScriptBin "cycle-mouse-action" ''
|
||||||
STATE_FILE="$HOME/.config/mouse-actions/state"
|
STATE_FILE="$HOME/.config/mouse-actions/state"
|
||||||
mkdir -p "$(dirname "$STATE_FILE")"
|
mkdir -p "$(dirname "$STATE_FILE")"
|
||||||
|
|
||||||
|
|
@ -15,11 +15,16 @@
|
||||||
"deafen") NEW_ACTION="sober-lag" ;;
|
"deafen") NEW_ACTION="sober-lag" ;;
|
||||||
"sober-lag") NEW_ACTION="autoclick" ;;
|
"sober-lag") NEW_ACTION="autoclick" ;;
|
||||||
"autoclick") NEW_ACTION="flick" ;;
|
"autoclick") NEW_ACTION="flick" ;;
|
||||||
"flick") NEW_ACTION="play-pause" ;;
|
|
||||||
*) NEW_ACTION="deafen"
|
*) NEW_ACTION="deafen"
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "$NEW_ACTION" > "$STATE_FILE.tmp"
|
echo "$NEW_ACTION" > "$STATE_FILE.tmp"
|
||||||
mv "$STATE_FILE.tmp" "$STATE_FILE"
|
mv "$STATE_FILE.tmp" "$STATE_FILE"
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
package = pkgs.symlinkJoin {
|
||||||
|
name = "cycle-mouse-action";
|
||||||
|
paths = [ script pkgs.libnotify ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ pkgs, actions }:
|
{ pkgs, actions }:
|
||||||
|
|
||||||
{
|
let
|
||||||
package = pkgs.writeShellScriptBin "run-mouse-action" ''
|
script = pkgs.writeShellScriptBin "run-mouse-action" ''
|
||||||
STATE_FILE="$HOME/.config/mouse-actions/state"
|
STATE_FILE="$HOME/.config/mouse-actions/state"
|
||||||
|
|
||||||
if [ ! -f "$STATE_FILE" ]; then
|
if [ ! -f "$STATE_FILE" ]; then
|
||||||
|
|
@ -12,20 +12,23 @@
|
||||||
|
|
||||||
case "$ACTION_NAME" in
|
case "$ACTION_NAME" in
|
||||||
"deafen")
|
"deafen")
|
||||||
${pkgs.systemd}/bin/systemd-run --user ${actions.deafen.package}/bin/deafen-action
|
systemd-run --user ${actions.deafen.package}/bin/deafen-action
|
||||||
;;
|
;;
|
||||||
"sober-lag")
|
"sober-lag")
|
||||||
${pkgs.systemd}/bin/systemd-run --user ${actions.sober-lag.package}/bin/sober-lag-action
|
systemd-run --user ${actions.sober-lag.package}/bin/sober-lag-action
|
||||||
;;
|
;;
|
||||||
"autoclick")
|
"autoclick")
|
||||||
${pkgs.systemd}/bin/systemd-run --user ${actions.autoclick.package}/bin/autoclick-action
|
systemd-run --user ${actions.autoclick.package}/bin/autoclick-action
|
||||||
;;
|
;;
|
||||||
"flick")
|
"flick")
|
||||||
${pkgs.systemd}/bin/systemd-run --user ${actions.flick.package}/bin/flick-action
|
systemd-run --user ${actions.flick.package}/bin/flick-action
|
||||||
;;
|
|
||||||
"play-pause")
|
|
||||||
${pkgs.systemd}/bin/systemd-run --user ${actions.play-pause.package}/bin/play-pause-action
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
package = pkgs.symlinkJoin {
|
||||||
|
name = "run-mouse-action";
|
||||||
|
paths = [ script pkgs.systemd ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue