+tuxedo backlight

This commit is contained in:
m3tam3re
2025-09-08 04:40:19 +02:00
parent d5e13e2099
commit bab10c3273
7 changed files with 54 additions and 7 deletions

View File

@@ -67,6 +67,7 @@ with lib; {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
settings = { settings = {
exec-once = ["tuxedo-backlight"];
monitor = [ monitor = [
"eDP-1,preferred,0x0,1.25" "eDP-1,preferred,0x0,1.25"
"HDMI-A-1,1920x1080@120,2560x0,1" "HDMI-A-1,1920x1080@120,2560x0,1"

View File

@@ -1,4 +1,4 @@
{ {pkgs, ...}: {
hardware.nvidia = { hardware.nvidia = {
prime = { prime = {
offload.enable = false; offload.enable = false;
@@ -16,11 +16,33 @@
dynamicBoost.enable = true; dynamicBoost.enable = true;
nvidiaSettings = true; nvidiaSettings = true;
}; };
hardware.tuxedo-drivers.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.keyboard.zsa.enable = true; hardware.keyboard.zsa.enable = true;
hardware.graphics.enable = true; hardware.graphics.enable = true;
services.hardware.bolt.enable = true; services.hardware.bolt.enable = true;
services.auto-cpufreq.enable = true; services.auto-cpufreq.enable = true;
services.tlp.enable = true; services.tlp = {
enable = true;
settings = {
START_CHARGE_THRESH_BAT0 = 75;
STOP_CHARGE_THRESH_BAT0 = 80;
};
};
environment.systemPackages = with pkgs; [
tuxedo-backlight
];
security.sudo.extraRules = [
{
users = ["@wheel"];
commands = [
{
command = "/run/current-system/sw/bin/set-backlight";
options = ["NOPASSWD"];
}
];
}
];
} }

View File

@@ -1,6 +1,7 @@
{pkgs, ...}: { {pkgs, ...}: {
services.udev.extraRules = '' services.udev.extraRules = ''
SUBSYSTEM=="usb", MODE="0666" SUBSYSTEM=="usb", MODE="0666"
SUBSYSTEM=="leds", KERNEL=="rgb:kbd_backlight*", ACTION=="add", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/leds/%k/multi_intensity"
''; '';
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
zsa-udev-rules zsa-udev-rules

View File

@@ -10,7 +10,7 @@
}; };
NO = { NO = {
configFile = config.age.secrets.wg-NO.path; configFile = config.age.secrets.wg-NO.path;
autostart = true; autostart = false;
}; };
US = { US = {
configFile = config.age.secrets.wg-US.path; configFile = config.age.secrets.wg-US.path;

View File

@@ -15,8 +15,4 @@
./vaultwarden.nix ./vaultwarden.nix
./wastebin.nix ./wastebin.nix
]; ];
services = {
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
};
} }

View File

@@ -5,6 +5,7 @@
msty = pkgs.callPackage ./msty {}; msty = pkgs.callPackage ./msty {};
msty-sidecar = pkgs.callPackage ./msty-sidecar {}; msty-sidecar = pkgs.callPackage ./msty-sidecar {};
msty-studio = pkgs.callPackage ./msty-studio {}; msty-studio = pkgs.callPackage ./msty-studio {};
tuxedo-backlight = pkgs.callPackage ./tuxedo-backlight {};
zellij-ps = pkgs.callPackage ./zellij-ps {}; zellij-ps = pkgs.callPackage ./zellij-ps {};
aider-chat-env = pkgs.callPackage ./aider-chat-env {}; aider-chat-env = pkgs.callPackage ./aider-chat-env {};
code2prompt = pkgs.callPackage ./code2prompt {}; code2prompt = pkgs.callPackage ./code2prompt {};

View File

@@ -0,0 +1,26 @@
{writeShellScriptBin}:
writeShellScriptBin "tuxedo-backlight" ''
# all keys
echo '0 150 255' | tee /sys/class/leds/rgb:kbd_backlight*/multi_intensity
# DEL key
echo '255 0 155' | tee /sys/class/leds/rgb:kbd_backlight_15/multi_intensity
# ESC key
echo '255 0 155' | tee /sys/class/leds/rgb:kbd_backlight/multi_intensity
# function and Fn keys
for i in {1..12} 102; do
echo '0 255 80' | tee /sys/class/leds/rgb:kbd_backlight_$i/multi_intensity
done
# complete numblock and keys above
for i in {16..19} {36..39} {56..59} {76..79} {96..99} {117..119}; do
echo '255 150 0' | tee /sys/class/leds/rgb:kbd_backlight_$i/multi_intensity
done
# arrow keys
for i in 95 {114..116}; do
echo '0 255 80' | tee /sys/class/leds/rgb:kbd_backlight_$i/multi_intensity
done
''