how to create scripts that run on random stuff - eviltoast

so I want to create two scripts

  • first one that basically runs “systemctl suspend” when the lid is closed basically the default behavior doesn’t work for some reason and running systemctl suspend always works so yeah you get the idea

  • since I have made the headsets aka the jack output and the default speakers each their respective sink (that’s what I actually want (to have the power to put whatever I want in each sink using qpwgraph ) ) but that power comes at the cost of not switching between those respective two sinks so I just want to change I guess either the wireplumber config file or create a systemd service that runs when the jack port is plugged or unplugged

but I am lost in both questions to be honest and wireplumber is a mystery lol - sorry for being a noob if that matters