nixpkgs/overlays/dmenu-custom-scripts/xdebug.sh
Daniel Siepmann 9de6cdb3eb
Migrate custom dmenu scripts to writeShellApplication
No longer have all of them as files and apply sed.
Instead define dependencies via nix expression.
Also allow to write the scripts within nix expression.

Some are still large and separate .sh files, but loaded within
expression.
Also only the main file is exposed as others are only dependencies.
Still all can now be installed as all are separate derivations.

The new writeShellApplication also executes shellcheck as another
benefit. And it makes script executable.
2022-02-08 21:45:11 +01:00

59 lines
2.8 KiB
Bash

activeString=""
action=$(echo -e "enable\ndisable\n" | dmenu -i -p "$activeString")
case "$action" in
"enable")
sudo /bin/ln -s /etc/php/7.0/mods-available/xdebug.ini /etc/php/7.0/cli/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.0/mods-available/xdebug.ini /etc/php/7.0/fpm/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.1/mods-available/xdebug.ini /etc/php/7.1/cli/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.1/mods-available/xdebug.ini /etc/php/7.1/fpm/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.2/mods-available/xdebug.ini /etc/php/7.2/cli/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.2/mods-available/xdebug.ini /etc/php/7.2/fpm/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.3/mods-available/xdebug.ini /etc/php/7.3/cli/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.3/mods-available/xdebug.ini /etc/php/7.3/fpm/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.4/mods-available/xdebug.ini /etc/php/7.4/cli/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/7.4/mods-available/xdebug.ini /etc/php/7.4/fpm/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/8.0/mods-available/xdebug.ini /etc/php/8.0/cli/conf.d/20-xdebug.ini || true
sudo /bin/ln -s /etc/php/8.0/mods-available/xdebug.ini /etc/php/8.0/fpm/conf.d/20-xdebug.ini || true
;;
"disable")
sudo /usr/bin/unlink /etc/php/7.0/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.0/fpm/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.1/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.1/fpm/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.2/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.2/fpm/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.3/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.3/fpm/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.4/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/7.4/fpm/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/8.0/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/8.0/fpm/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/8.1/cli/conf.d/20-xdebug.ini || true
sudo /usr/bin/unlink /etc/php/8.1/fpm/conf.d/20-xdebug.ini || true
;;
*)
exit 0
;;
esac
sudo /bin/systemctl reload php7.0-fpm.service || true
sudo /bin/systemctl reload php7.1-fpm.service || true
sudo /bin/systemctl reload php7.2-fpm.service || true
sudo /bin/systemctl reload php7.3-fpm.service || true
sudo /bin/systemctl reload php7.4-fpm.service || true
sudo /bin/systemctl reload php8.0-fpm.service || true
sudo /bin/systemctl reload php8.1-fpm.service || true
pkill -SIGRTMIN+10 i3blocks || true
notify-send "switching xdebug: $action"