diff --git a/home/m3tam3re/m3-ares.nix b/home/m3tam3re/m3-ares.nix index 9c8bcd1..8898803 100644 --- a/home/m3tam3re/m3-ares.nix +++ b/home/m3tam3re/m3-ares.nix @@ -67,6 +67,7 @@ with lib; { wayland.windowManager.hyprland = { enable = true; settings = { + exec-once = ["tuxedo-backlight"]; monitor = [ "eDP-1,preferred,0x0,1.25" "HDMI-A-1,1920x1080@120,2560x0,1" diff --git a/hosts/m3-ares/hardware.nix b/hosts/m3-ares/hardware.nix index c20a6c3..8ede075 100644 --- a/hosts/m3-ares/hardware.nix +++ b/hosts/m3-ares/hardware.nix @@ -1,4 +1,4 @@ -{ +{pkgs, ...}: { hardware.nvidia = { prime = { offload.enable = false; @@ -16,11 +16,33 @@ dynamicBoost.enable = true; nvidiaSettings = true; }; + hardware.tuxedo-drivers.enable = true; hardware.bluetooth.enable = true; hardware.keyboard.zsa.enable = true; hardware.graphics.enable = true; services.hardware.bolt.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"]; + } + ]; + } + ]; } diff --git a/hosts/m3-ares/services/udev.nix b/hosts/m3-ares/services/udev.nix index 9b7af9b..9deb200 100644 --- a/hosts/m3-ares/services/udev.nix +++ b/hosts/m3-ares/services/udev.nix @@ -1,6 +1,7 @@ {pkgs, ...}: { services.udev.extraRules = '' 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; [ zsa-udev-rules diff --git a/hosts/m3-ares/services/wireguard.nix b/hosts/m3-ares/services/wireguard.nix index b52b822..b98e312 100644 --- a/hosts/m3-ares/services/wireguard.nix +++ b/hosts/m3-ares/services/wireguard.nix @@ -10,7 +10,7 @@ }; NO = { configFile = config.age.secrets.wg-NO.path; - autostart = true; + autostart = false; }; US = { configFile = config.age.secrets.wg-US.path; diff --git a/hosts/m3-atlas/services/default.nix b/hosts/m3-atlas/services/default.nix index b977434..0e6d78a 100644 --- a/hosts/m3-atlas/services/default.nix +++ b/hosts/m3-atlas/services/default.nix @@ -15,8 +15,4 @@ ./vaultwarden.nix ./wastebin.nix ]; - services = { - desktopManager.gnome.enable = true; - displayManager.gdm.enable = true; - }; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 51754a8..6065587 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -5,6 +5,7 @@ msty = pkgs.callPackage ./msty {}; msty-sidecar = pkgs.callPackage ./msty-sidecar {}; msty-studio = pkgs.callPackage ./msty-studio {}; + tuxedo-backlight = pkgs.callPackage ./tuxedo-backlight {}; zellij-ps = pkgs.callPackage ./zellij-ps {}; aider-chat-env = pkgs.callPackage ./aider-chat-env {}; code2prompt = pkgs.callPackage ./code2prompt {}; diff --git a/pkgs/tuxedo-backlight/default.nix b/pkgs/tuxedo-backlight/default.nix new file mode 100644 index 0000000..7082461 --- /dev/null +++ b/pkgs/tuxedo-backlight/default.nix @@ -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 +''