dotfiles/hm/brightness/default.nix

35 lines
1.3 KiB
Nix
Raw Normal View History

2024-01-15 19:26:44 +01:00
# Light theme during the day, dark theme during the night (not automatic)
{ pkgs, lib, config, ... }:
let
phases = [
{ command = "jour"; specialisation = null; }
{ command = "crepuscule"; specialisation = "dark"; }
{ command = "nuit"; specialisation = "dark"; }
2024-01-15 19:26:44 +01:00
];
2024-06-20 16:47:58 +02:00
mod = config.xsession.windowManager.i3.config.modifier;
2024-01-15 19:26:44 +01:00
in
{
config = {
2024-06-20 16:47:58 +02:00
home.packages = (map
(phase: (pkgs.writeShellScriptBin phase.command ''
switch="/nix/var/nix/profiles/system${lib.strings.optionalString (phase.specialisation != null) "/specialisation/${phase.specialisation}"}/bin/switch-to-configuration"
if [ -x "$switch" ]
then
sudo "$switch" test &
sudo "$switch" boot &
fi
${builtins.getAttr phase.command config.frogeye.desktop.phasesCommands}
2024-06-24 14:03:59 +02:00
wait
''))
2024-06-20 16:47:58 +02:00
phases) ++ (with pkgs; [
brightnessctl
]);
2024-01-15 19:26:44 +01:00
xsession.windowManager.i3.config.keybindings = {
2024-06-20 16:47:58 +02:00
XF86MonBrightnessUp = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
XF86MonBrightnessDown = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
"${mod}+F6" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
"${mod}+F7" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +1%";
2024-01-15 19:26:44 +01:00
};
};
}