117 lines
2.6 KiB
Nix

# Log out and shutdown menu
{
home.file =
let
dir = ".config/wlogout";
in
{
"${dir}/hibernate.svg".source = ./hibernate.svg;
"${dir}/lock.svg".source = ./lock.svg;
"${dir}/logout.svg".source = ./logout.svg;
"${dir}/reboot.svg".source = ./reboot.svg;
"${dir}/shutdown.svg".source = ./shutdown.svg;
"${dir}/suspend.svg".source = ./suspend.svg;
};
programs.wlogout = {
enable = false;
layout = [
{
label = "lock";
action = "sh -c '(sleep 0.5s; hyprlock)'";
text = "Lock";
keybind = "l";
}
{
label = "hibernate";
action = "systemctl hibernate";
text = "Hibernate";
keybind = "h";
}
{
label = "logout";
action = "loginctl terminate-user $USER";
text = "Logout";
keybind = "e";
}
{
label = "shutdown";
action = "systemctl poweroff";
text = "Shutdown";
keybind = "s";
}
{
label = "suspend";
action = "systemctl suspend";
text = "Suspend";
keybind = "u";
}
{
label = "reboot";
action = "systemctl reboot";
text = "Reboot";
keybind = "r";
}
];
style =
let
theme = import ../../theme.nix;
in
''
* {
background-image: none;
box-shadow: none;
}
window {
background-color: rgba(30, 30, 46, 0.9);
}
button {
border-radius: 0;
border-color: #${theme.pinkAlpha};
text-decoration-color: #${theme.textAlpha};
color: #${theme.textAlpha};
background-color: #${theme.mantleAlpha};
border-style: solid;
border-width: 1px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
}
button:focus,
button:active,
button:hover {
/* 20% Overlay 2, 80% mantle */
background-color: rgb(48, 50, 66);
outline-style: none;
}
#lock {
background-image: url("./lock.svg");
}
#logout {
background-image: url("./logout.svg");
}
#suspend {
background-image: url("./suspend.svg");
}
#hibernate {
background-image: url("./hibernate.svg");
}
#shutdown {
background-image: url("./shutdown.svg");
}
#reboot {
background-image: url("./reboot.svg");
}
'';
};
}