96 lines
2.7 KiB
Nix

{ config, lib, ... }: {
home-manager.users.${config.mainuser} = let
inherit (config.home-manager.users.${config.mainuser}.catppuccin) sources flavor accent;
thm = config.lib.base16.theme;
palette = (lib.importJSON "${sources.palette}/palette.json").${flavor}.colors;
in {
programs.wlogout = {
enable = true;
layout = [{
label = "lock";
action = "";
text = "Lock";
} {
label = "reboot";
action = "systemctl reboot";
text = "Reboot";
} {
label = "shutdown";
action = "systemctl poweroff";
text = "Shutdown";
} {
label = "logout";
action = "hyprctl dispatch exit 0";
text = "Logout";
} {
label = "suspend";
action = "systemctl suspend";
text = "Suspend";
}];
style = ''
window {
font-family: "${thm.fonts.mono.family}";
font-size: 18pt;
color: ${palette.text.hex};
background-color: alpha(${palette.base.hex}, 0.8);
}
button {
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
border: none;
background-color: alpha(${palette.base.hex}, 0);
color: ${palette.${accent}.hex};
}
button:hover {
background-color: alpha(${palette.surface0.hex}, 0.1);
}
button:focus {
background-color: ${palette.${accent}.hex};
color: ${palette.base.hex};
}
#lock {
background-image: image(url("${./lock.png}"));
padding: 35px;
}
#lock:focus {
background-image: image(url("${./lock-hover.png}"));
padding: 35px;
}
#logout {
background-image: image(url("${./logout.png}"));
padding: 30px;
}
#logout:focus {
background-image: image(url("${./logout-hover.png}"));
padding: 30px;
}
#suspend {
background-image: image(url("${./sleep.png}"));
padding: 30px;
}
#suspend:focus {
background-image: image(url("${./sleep-hover.png}"));
padding: 30px;
}
#shutdown {
background-image: image(url("${./power.png}"));
padding: 30px;
}
#shutdown:focus {
background-image: image(url("${./power-hover.png}"));
padding: 30px;
}
#reboot {
background-image: image(url("${./restart.png}"));
padding: 30px;
}
#reboot:focus {
background-image: image(url("${./restart-hover.png}"));
padding: 30px;
}
'';
};
};
}