turn tv on and off pretty cooool

This commit is contained in:
Kopatz
2025-10-01 19:08:47 +02:00
parent 7e6ea5246d
commit ff4a21d965

View File

@@ -1,4 +1,7 @@
{ config, pkgs, inputs, lib, ... }: { config, pkgs, inputs, lib, ... }:
let
cec = "${pkgs.v4l-utils}/bin/cec-ctl";
in
{ {
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
@@ -22,6 +25,38 @@
inputs.nixos-hardware.nixosModules.framework-13-7040-amd inputs.nixos-hardware.nixosModules.framework-13-7040-amd
]; ];
# issue with internal mic not workin
# ... didn't work
services.pipewire.wireplumber.extraConfig.no-ucm = {
"monitor.alsa.properties" = {
"alsa.use-ucm" = false;
};
};
# after suspend, do `cec-ctl -A | grep cec0 | wc -l`, if >0, do `cec-ctl --standby --to TV`
# similar on wakeup, if present send `cec-ctl --user-control-pressed ui-cmd=power-on-function --to TV`
environment.etc."systemd/system-sleep/sleep-turn-tv-off-on.sh".source =
pkgs.writeShellScript "post-sleep-turn-tv-off.sh" ''
case $1/$2 in
pre/*)
if [ $(${cec} -A | ${pkgs.gnugrep}/bin/grep cec0 | ${pkgs.coreutils}/bin/wc -l) -gt 0 ]; then
${cec} -C --skip-info
${cec} --tv --skip-info
${cec} --standby --skip-info --to TV
echo "Turning TV off!"
${pkgs.coreutils}/bin/sleep 2
fi
;;
post/*)
if [ $(${cec} -A | ${pkgs.gnugrep}/bin/grep cec0 | ${pkgs.coreutils}/bin/wc -l) -gt 0 ]; then
${cec} --tv --skip-info
${cec} --skip-info --user-control-pressed ui-cmd=power-on-function --to TV
echo "Turning TV on!"
fi
;;
esac
'';
custom = { custom = {
cli-tools.enable = true; cli-tools.enable = true;
tmpfs.enable = true; tmpfs.enable = true;