37 lines
1.2 KiB
Nix
37 lines
1.2 KiB
Nix
|
# Light theme during the day, dark theme during the night (not automatic)
|
||
|
{ pkgs, lib, config, ... }:
|
||
|
let
|
||
|
phases = [
|
||
|
{ command = "jour"; polarity = "light"; }
|
||
|
{ command = "crepuscule"; polarity = "dark"; }
|
||
|
{ command = "nuit"; polarity = "dark"; }
|
||
|
];
|
||
|
phasesBrightness = config.frogeye.desktop.phasesBrightness;
|
||
|
in
|
||
|
{
|
||
|
config = {
|
||
|
home.packages = map
|
||
|
(phase: (pkgs.writeShellApplication {
|
||
|
name = "${phase.command}";
|
||
|
runtimeInputs = [ pkgs.brightnessctl ];
|
||
|
text = (lib.optionalString phasesBrightness.enable ''
|
||
|
brightnessctl set ${builtins.getAttr phase.command phasesBrightness}
|
||
|
'') + ''
|
||
|
switch="/nix/var/nix/profiles/system/specialisation/${phase.polarity}/bin/switch-to-configuration"
|
||
|
if [ -x "$switch" ]
|
||
|
then
|
||
|
# In two steps to get the visual changes slightly earlier
|
||
|
sudo "$switch" test
|
||
|
sudo "$switch" boot
|
||
|
fi
|
||
|
'';
|
||
|
})
|
||
|
)
|
||
|
phases;
|
||
|
xsession.windowManager.i3.config.keybindings = {
|
||
|
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
|
||
|
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
|
||
|
};
|
||
|
};
|
||
|
}
|