migrate lock for oled
This commit is contained in:
@@ -1 +1 @@
|
||||
{ ... }: { imports = [ ./dunst ./eww ./kanshi ./waylock ./wofi ]; }
|
||||
{ ... }: { imports = [ ./dunst ./eww ./kanshi ./lockscreen ./wofi ]; }
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
eww close popup 2>/dev/null
|
||||
swaylock
|
||||
eww close powermenu 2>/dev/null
|
||||
# swaylock #swaylock-effects
|
||||
hyprlock
|
||||
# gtklock
|
||||
@@ -16,9 +16,9 @@
|
||||
(pm-btn :icon "" :label "Reboot"
|
||||
:onclick "systemctl reboot")
|
||||
(pm-btn :icon "" :label "Lock"
|
||||
:onclick "sleep 0.1 && gtklock & eww close powermenu &")
|
||||
:onclick "scripts/lock")
|
||||
(pm-btn :icon "" :label "Suspend"
|
||||
:onclick "sleep 0.1 && gtklock & systemctl suspend & eww close powermenu &")
|
||||
:onclick "scripts/lock & systemctl suspend")
|
||||
(pm-btn :icon "" :label "Sign out"
|
||||
:onclick "hyprctl eval \"hl.dispatch(hl.dsp.exit())\"")
|
||||
(pm-btn :icon "" :label "Cancel"
|
||||
|
||||
@@ -29,7 +29,7 @@ let
|
||||
"scripts/radio" = mkScript "radio" ./bar/scripts/radio [ pkgs.eww pkgs.jq pkgs.curl pkgs.mpv pkgs.playerctl ];
|
||||
"scripts/color-pick" = mkScript "color-pick" ./bar/scripts/color-pick [ pkgs.eww pkgs.hyprpicker ];
|
||||
"scripts/media" = mkScript "media" ./bar/scripts/media [ pkgs.playerctl ];
|
||||
"scripts/lock" = mkScript "lock" ./bar/scripts/lock [ pkgs.eww pkgs.swaylock-effects ];
|
||||
"scripts/lock" = mkScript "lock" ./bar/scripts/lock [ pkgs.eww pkgs.hyprlock ];
|
||||
"scripts/screenshot" = mkScript "screenshot" ./bar/scripts/screenshot [ pkgs.eww pkgs.hyprshot pkgs.satty pkgs.wl-clipboard ];
|
||||
"scripts/sys/gpu" = mkScript "gpu" ./bar/scripts/sys/gpu [ pkgs.custom.amdgpu_top pkgs.jq ];
|
||||
"scripts/sys/memory" = mkScript "memory" ./bar/scripts/sys/memory [ pkgs.ripgrep ];
|
||||
|
||||
@@ -17,14 +17,14 @@ in {
|
||||
settings = [
|
||||
{output = baseOutput//{
|
||||
criteria = "LG Electronics LG ULTRAGEAR+ 511NTDVGC194";
|
||||
mode = "2560x1440@480.168";
|
||||
# mode = "2560x1440x240.083";
|
||||
# mode = "2560x1440@480.168";
|
||||
mode = "2560x1440@240.083";
|
||||
# mode = "1920x1080x240.084";
|
||||
};}
|
||||
{output = baseOutput//{
|
||||
criteria = "AOC 24E1W1 GNSKCHA086899";
|
||||
mode = "1920x1080@60.000";
|
||||
transform = "90";
|
||||
transform = "180";
|
||||
};}
|
||||
{output = baseOutput//{
|
||||
criteria = "AOC 24E1W1 GNSKBHA080346";
|
||||
@@ -51,7 +51,6 @@ in {
|
||||
outputs = [
|
||||
{
|
||||
criteria = "AOC 24E1W1 GNSKCHA086899";
|
||||
transform = "180";
|
||||
position = "0,0";
|
||||
}
|
||||
{
|
||||
@@ -101,7 +100,7 @@ in {
|
||||
}
|
||||
];
|
||||
exec = [
|
||||
"${pkgs.eww}/bin/eww open bar --screen 0"
|
||||
|
||||
"${pkgs.writeShellScript "kanshi-hyprland-init" ''
|
||||
#!/usr/bin/env bash
|
||||
${pkgs.hyprland}/bin/hyprctl eval '
|
||||
@@ -119,6 +118,7 @@ in {
|
||||
|
||||
''}"
|
||||
"${pkgs.awww}/bin/awww restore"
|
||||
"${pkgs.eww}/bin/eww open bar --screen 0"
|
||||
];
|
||||
};}
|
||||
{profile = {
|
||||
|
||||
113
modules/home/wayland/apps/lockscreen/default.nix
Executable file
113
modules/home/wayland/apps/lockscreen/default.nix
Executable file
@@ -0,0 +1,113 @@
|
||||
{ lib, pkgs, config, ... }: {
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
grace = 5; # grace=5
|
||||
no_fade_in = false; # fade-in=0.2 (handled dynamically)
|
||||
ignore_empty_input = true; # ignore-empty-password
|
||||
};
|
||||
|
||||
background = [
|
||||
# 1. OLED MONITOR (Pure Black)
|
||||
{
|
||||
monitor = "desc:LG Electronics LG ULTRAGEAR+ 511NTDVGC194";
|
||||
color = "rgba(0,0,0,1.0)"; # Pure black OLED protection
|
||||
path = ""; # Explicitly no screenshot
|
||||
zindex = 0;
|
||||
}
|
||||
# 2. ALL OTHER MONITORS (Pixelated Screenshot)
|
||||
{
|
||||
monitor = "";
|
||||
path = "screenshot"; # screenshots
|
||||
blur_passes = 3; # effect-pixelate=5 approximation
|
||||
blur_size = 8;
|
||||
noise = 0.01;
|
||||
zindex = -1;
|
||||
}
|
||||
];
|
||||
|
||||
input-field = {
|
||||
monitor = "";
|
||||
placeholder_text = "";
|
||||
fail_text = "";
|
||||
|
||||
size = "200, 200"; # Custom sizing matching indicator-radius
|
||||
outline_thickness = 30; # indicator-thickness=30
|
||||
|
||||
dots_size = 0.33;
|
||||
dots_spacing = 0.15;
|
||||
dots_center = true;
|
||||
fade_on_empty = true;
|
||||
hide_input = true;
|
||||
dots_text_format = "*";
|
||||
font_family = "IBM Plex Mono"; # font=IBM Plex Mono
|
||||
|
||||
# --- Outer Rings / Outline Colors ---
|
||||
# key-hl-color, bs-hl-color, caps-lock-key-hl-color
|
||||
check_color = "rgb(${config.colorScheme.palette.base0C})"; # key-hl
|
||||
fail_color = "rgb(${config.colorScheme.palette.base0F})"; # inside-wrong
|
||||
capslock_color = "rgb(${config.colorScheme.palette.base09})"; # caps-lock-key-hl
|
||||
|
||||
# --- Inner/Outer Core Colors ---
|
||||
# Replicating your transparent rings with solid action states
|
||||
outer_color = "rgba(${config.colorScheme.palette.base00}00)"; # ring-color (Transparent)
|
||||
inner_color = "rgba(${config.colorScheme.palette.base0C}00)"; # inside-color (Transparent)
|
||||
font_color = "rgba(${config.colorScheme.palette.base00}00)"; # text-color (Transparent)
|
||||
|
||||
fail_transition = 300;
|
||||
};
|
||||
};
|
||||
};
|
||||
xdg.configFile."swaylock/config".text = ''
|
||||
screenshots
|
||||
grace-no-mouse
|
||||
grace-no-touch
|
||||
grace=5
|
||||
effect-pixelate=5
|
||||
fade-in=0.2
|
||||
|
||||
ignore-empty-password
|
||||
font=IBM Plex Mono
|
||||
|
||||
color=${config.colorScheme.palette.base00}00
|
||||
|
||||
indicator-radius=100
|
||||
indicator-thickness=30
|
||||
|
||||
separator-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
inside-color=${config.colorScheme.palette.base0C}00
|
||||
inside-clear-color=${config.colorScheme.palette.base08}FF
|
||||
inside-caps-lock-color=${config.colorScheme.palette.base09}00
|
||||
inside-ver-color=${config.colorScheme.palette.base0C}FF
|
||||
inside-wrong-color=${config.colorScheme.palette.base0F}FF
|
||||
|
||||
|
||||
ring-color=${config.colorScheme.palette.base00}00
|
||||
ring-clear-color=${config.colorScheme.palette.base00}00
|
||||
ring-caps-lock-color=${config.colorScheme.palette.base00}00
|
||||
ring-ver-color=${config.colorScheme.palette.base00}00
|
||||
ring-wrong-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
line-color=${config.colorScheme.palette.base00}00
|
||||
line-clear-color=${config.colorScheme.palette.base00}00
|
||||
line-caps-lock-color=${config.colorScheme.palette.base00}00
|
||||
line-ver-color=${config.colorScheme.palette.base00}00
|
||||
line-wrong-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
text-color=${config.colorScheme.palette.base00}00
|
||||
text-clear-color=${config.colorScheme.palette.base00}00
|
||||
text-caps-lock-color=${config.colorScheme.palette.base00}00
|
||||
text-ver-color=${config.colorScheme.palette.base00}00
|
||||
text-wrong-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
|
||||
key-hl-color=${config.colorScheme.palette.base0C}FF
|
||||
bs-hl-color=${config.colorScheme.palette.base08}FF
|
||||
caps-lock-key-hl-color=${config.colorScheme.palette.base09}FF
|
||||
caps-lock-bs-hl-color=${config.colorScheme.palette.base09}FF
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{ lib, pkgs, config, ... }: {
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
|
||||
xdg.configFile."swaylock/config".text = ''
|
||||
screenshots
|
||||
grace-no-mouse
|
||||
grace-no-touch
|
||||
grace=5
|
||||
effect-pixelate=5
|
||||
fade-in=0.2
|
||||
|
||||
ignore-empty-password
|
||||
font=IBM Plex Mono
|
||||
|
||||
color=${config.colorScheme.palette.base00}00
|
||||
|
||||
indicator-radius=100
|
||||
indicator-thickness=30
|
||||
|
||||
separator-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
inside-color=${config.colorScheme.palette.base0C}00
|
||||
inside-clear-color=${config.colorScheme.palette.base08}FF
|
||||
inside-caps-lock-color=${config.colorScheme.palette.base09}00
|
||||
inside-ver-color=${config.colorScheme.palette.base0C}FF
|
||||
inside-wrong-color=${config.colorScheme.palette.base0F}FF
|
||||
|
||||
|
||||
ring-color=${config.colorScheme.palette.base00}00
|
||||
ring-clear-color=${config.colorScheme.palette.base00}00
|
||||
ring-caps-lock-color=${config.colorScheme.palette.base00}00
|
||||
ring-ver-color=${config.colorScheme.palette.base00}00
|
||||
ring-wrong-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
line-color=${config.colorScheme.palette.base00}00
|
||||
line-clear-color=${config.colorScheme.palette.base00}00
|
||||
line-caps-lock-color=${config.colorScheme.palette.base00}00
|
||||
line-ver-color=${config.colorScheme.palette.base00}00
|
||||
line-wrong-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
text-color=${config.colorScheme.palette.base00}00
|
||||
text-clear-color=${config.colorScheme.palette.base00}00
|
||||
text-caps-lock-color=${config.colorScheme.palette.base00}00
|
||||
text-ver-color=${config.colorScheme.palette.base00}00
|
||||
text-wrong-color=${config.colorScheme.palette.base00}00
|
||||
|
||||
|
||||
key-hl-color=${config.colorScheme.palette.base0C}FF
|
||||
bs-hl-color=${config.colorScheme.palette.base08}FF
|
||||
caps-lock-key-hl-color=${config.colorScheme.palette.base09}FF
|
||||
caps-lock-bs-hl-color=${config.colorScheme.palette.base09}FF
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
|
||||
startupScript = pkgs.writeShellScriptBin "hyprland-start" ''
|
||||
${pkgs.eww}/bin/eww open bar &
|
||||
${pkgs.awww}/bin/awww-daemon &
|
||||
${pkgs.awww}/bin/awww restore &
|
||||
|
||||
@@ -55,7 +54,7 @@ in {
|
||||
hl.exec_cmd("${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1")
|
||||
hl.exec_cmd("${pkgs.wl-clipboard}/bin/wl-paste --type text --watch ${lib.getExe pkgs.cliphist} store")
|
||||
hl.exec_cmd("${pkgs.wl-clipboard}/bin/wl-paste --type image --watch ${lib.getExe pkgs.cliphist} store")
|
||||
hl.exec_cmd("${lib.getExe pkgs.swayidle} -w timeout 600 '${pkgs.swaylock-effects}/bin/swaylock' before-sleep '${pkgs.swaylock-effects}/bin/swaylock'")
|
||||
hl.exec_cmd("${lib.getExe pkgs.swayidle} -w timeout 600 '${pkgs.hyprlock}/bin/hyprlock' before-sleep '${pkgs.hyprlock}/bin/hyprlock'")
|
||||
hl.exec_cmd("${lib.getExe startupScript}")
|
||||
hl.exec_cmd("[workspace special:magic silent] kitty --title flying_kitty")
|
||||
end'')
|
||||
@@ -68,13 +67,12 @@ in {
|
||||
position = "auto";
|
||||
scale = "auto";
|
||||
bitdepth = 10;
|
||||
cm = "auto"; #dcip3
|
||||
sdrbrightness = 1.4;
|
||||
# sdrsaturation = 1.0;
|
||||
# sdr_max_luminance = 220;
|
||||
# sdr_min_luminance = 0.005;
|
||||
cm = "dcip3"; #auto"; #hdr";#
|
||||
sdrbrightness = 0.85;
|
||||
sdrsaturation = 1.0;
|
||||
sdr_max_luminance = 600;
|
||||
sdr_min_luminance = 0.0005;
|
||||
}];
|
||||
#Fullscreen HDR is possible without the hdr cm setting if "render:cm_auto_hdr" is enabled.
|
||||
|
||||
config = {
|
||||
input = {
|
||||
@@ -276,7 +274,7 @@ in {
|
||||
(bind "SUPER + SHIFT + D" (dsp.exec "~/.config/hypr/themes/apatheia/eww/launch_bar"))
|
||||
(bind "SUPER + V" (dsp.exec "${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} -dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy"))
|
||||
(bind "PRINT" (dsp.exec "${lib.getExe pkgs.hyprshot} -m region --raw | ${lib.getExe pkgs.satty} --filename - --early-exit --action-on-enter save-to-clipboard --copy-command '${pkgs.wl-clipboard}/bin/wl-copy'"))
|
||||
(bind "SUPER + L" (dsp.exec "${pkgs.swaylock-effects}/bin/swaylock"))
|
||||
(bind "SUPER + L" (dsp.exec "${pkgs.hyprlock}/bin/hyprlock"))
|
||||
(bind "SUPER + left" (dsp.focus "left"))
|
||||
(bind "SUPER + right" (dsp.focus "right"))
|
||||
(bind "SUPER + up" (dsp.focus "up"))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ pkgs, ... }: {
|
||||
security.polkit.enable = true;
|
||||
security.pam.services.swaylock = {
|
||||
security.pam.services.hyprlock = { #swaylock
|
||||
text = ''
|
||||
auth include login
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user