103 lines
2.6 KiB
Nix
103 lines
2.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
font = "BerkeleyMono Nerd Font Mono";
|
|
|
|
bg1 = "#3c3836"; # button fill
|
|
bg2 = "#504945"; # button border / hover fill
|
|
fg = "#ebdbb2"; # icon + text
|
|
orange = "#fe8019"; # accent — matches hyprlock/rofi
|
|
|
|
icons = "${config.programs.wlogout.package}/share/wlogout/icons";
|
|
in
|
|
{
|
|
options.custom = {
|
|
wlogout.enable = lib.mkEnableOption "enable wlogout - logout menu";
|
|
};
|
|
|
|
config = lib.mkIf config.custom.wlogout.enable {
|
|
programs.wlogout = {
|
|
enable = true;
|
|
layout = [
|
|
{
|
|
label = "lock";
|
|
action = "loginctl lock-session";
|
|
text = "Lock [l]";
|
|
keybind = "l";
|
|
}
|
|
{
|
|
label = "logout";
|
|
action = "loginctl terminate-user $USER";
|
|
text = "Logout [e]";
|
|
keybind = "e";
|
|
}
|
|
{
|
|
label = "shutdown";
|
|
action = "hyprshutdown -t 'Shutting down...' --post-cmd 'shutdown -P 0'";
|
|
text = "Shutdown [s]";
|
|
keybind = "s";
|
|
}
|
|
{
|
|
label = "suspend";
|
|
action = "systemctl suspend";
|
|
text = "Suspend [u]";
|
|
keybind = "u";
|
|
}
|
|
{
|
|
label = "reboot";
|
|
action = "hyprshutdown -t 'Restarting...' --post-cmd 'reboot'";
|
|
text = "Reboot [r]";
|
|
keybind = "r";
|
|
}
|
|
];
|
|
style = ''
|
|
* {
|
|
font-family: "${font}";
|
|
background-image: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
window {
|
|
background-color: rgba(29, 32, 33, 0.6); /* gruvbox bg0_hard @ 60% */
|
|
}
|
|
|
|
button {
|
|
color: ${fg};
|
|
background-color: ${bg1};
|
|
border: 2px solid ${bg2};
|
|
border-radius: 16px;
|
|
margin: 1rem;
|
|
font-size: 1.1rem;
|
|
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
background-size: 25%;
|
|
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
|
|
button:focus,
|
|
button:active,
|
|
button:hover {
|
|
color: ${orange};
|
|
background-color: ${bg2};
|
|
border-color: ${orange};
|
|
background-size: 30%;
|
|
box-shadow: inset 0 0 0 2px ${orange}; /* clean inner ring, no bleed */
|
|
outline: none;
|
|
}
|
|
|
|
#lock { background-image: url("${icons}/lock.png"); }
|
|
#logout { background-image: url("${icons}/logout.png"); }
|
|
#shutdown { background-image: url("${icons}/shutdown.png"); }
|
|
#suspend { background-image: url("${icons}/suspend.png"); }
|
|
#reboot { background-image: url("${icons}/reboot.png"); }
|
|
'';
|
|
};
|
|
};
|
|
}
|