zaneyos/config/home/wlogout.nix

106 lines
2.4 KiB
Nix

{ config, lib, pkgs, ... }:
let
palette = config.colorScheme.palette;
in {
programs.wlogout = {
enable = true;
layout = [
{
label = "shutdown";
action = "sleep 1; systemctl poweroff";
text = "Shutdown";
keybind = "s";
}
{
"label" = "reboot";
"action" = "sleep 1; systemctl reboot";
"text" = "Reboot";
"keybind" = "r";
}
{
"label" = "logout";
"action" = "sleep 1; hyprctl dispatch exit";
"text" = "Exit";
"keybind" = "e";
}
{
"label" = "suspend";
"action" = "sleep 1; systemctl suspend";
"text" = "Suspend";
"keybind" = "u";
}
{
"label" = "lock";
"action" = "sleep 1; hyprlock";
"text" = "Lock";
"keybind" = "l";
}
{
"label" = "hibernate";
"action" = "sleep 1; systemctl hibernate";
"text" = "Hibernate";
"keybind" = "h";
}
];
style = ''
* {
font-family: "JetBrainsMono NF", FontAwesome, sans-serif;
background-image: none;
transition: 20ms;
}
window {
background-color: rgba(12, 12, 12, 0.1);
}
button {
color: #${palette.base05};
font-size:20px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
border-style: solid;
background-color: rgba(12, 12, 12, 0.3);
border: 3px solid #${palette.base05};
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
button:focus,
button:active,
button:hover {
color: #${palette.base0E};
background-color: rgba(12, 12, 12, 0.5);
border: 3px solid #${palette.base0E};
}
#logout {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/logout.png"));
}
#suspend {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/suspend.png"));
}
#shutdown {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/shutdown.png"));
}
#reboot {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/reboot.png"));
}
#lock {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/lock.png"));
}
#hibernate {
margin: 10px;
border-radius: 20px;
background-image: image(url("icons/hibernate.png"));
}
'';
};
}