From 2b39ed9655bd831c86d725f45827eb2083c3a318 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 10 Feb 2021 09:29:00 +0100 Subject: [PATCH] ambrevar/shell: Add mimimi-save-power. --- .../common-lisp/source/ambrevar/shell.lisp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.local/share/common-lisp/source/ambrevar/shell.lisp b/.local/share/common-lisp/source/ambrevar/shell.lisp index a31b6912..7a7b80d8 100644 --- a/.local/share/common-lisp/source/ambrevar/shell.lisp +++ b/.local/share/common-lisp/source/ambrevar/shell.lisp @@ -388,3 +388,21 @@ INTERFACE is a string in the form of `wlp2s0'." (export-always 'current-ip) (defun current-ip () (ipv4 (current-interface))) + +(export-always 'mimimi-save-power) +(defun mimimi-save-power () + (flet ((bbswitch-off () + (let* ((bbswitch-path (cmd:$cmd "guix" "build" "bbswitch-module")) + (modules (str:concat bbswitch-path "/lib/modules")) + (first-dir (namestring (first (uiop:subdirectories modules)))) + (switch "/proc/acpi/bbswitch")) + (unless (uiop:file-exists-p switch) + (cmd:cmd + "sudo" "insmod" (str:concat first-dir "/extra/bbswitch.ko.gz"))) + (cmd:cmd + (format nil "sudo sh -c 'tee ~a << /sys/module/snd_hda_intel/parameters/power_save'"))) + (bbswitch-off) + (enable-audio-codec-power-management)))