Adds swaylock and configures suspend

This commit is contained in:
willemml 2024-02-03 16:13:27 -08:00
parent ef24670c02
commit 8144d7bf6f
Signed by: willemml
GPG key ID: C3DE5DF6198DACBD
4 changed files with 95 additions and 10 deletions

View file

@ -5,6 +5,10 @@
globals,
...
}: {
imports = [
./swaylock.nix
];
home.packages = with pkgs; [
firefox
lxappearance
@ -22,19 +26,63 @@
wayland.windowManager.hyprland = {
enable = true;
extraConfig = ''
exec = ${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill
'';
settings = {
bind = [
"SUPER, SPACE, exec, rofi -modes \"ssh,drun,window\" -show drun"
exec = [
"${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill"
];
exec-once = [
"sleep 10 && ${pkgs.swayidle}/bin/swayidle -w timeout 10 'if ${pkgs.busybox}/bin/pgrep ${pkgs.swaylock-effects}/bin/swaylock; then hyprctl dispatch dpms off; fi' resume 'hyprctl dispatch dpms on' before-sleep '${pkgs.swaylock-effects}/bin/swaylock -f'"
# Enables clipboard sync
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
"${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.wl-clipboard}/bin/wl-copy -p"
"${pkgs.swaynotificationcenter}/bin/swaync"
];
xwayland.force_zero_scaling = true;
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
force_default_wallpaper = 0;
mouse_move_enables_dpms = true;
key_press_enables_dpms = true;
};
"$mod" = "SUPER";
bind = let
bright = "${pkgs.brightnessctl}/bin/brightnessctl";
in [
"$mod, SPACE, exec, rofi -modes \"ssh,drun,window\" -show drun"
"ALT, SPACE, exec, rofi -show window"
",switch:Apple SMC power/lid events, exec, ${pkgs.swaylock-effects}/bin/swaylock"
",XF86Sleep, exec, ${pkgs.swaylock-effects}/bin/swaylock"
"$mod, L, exec, ${pkgs.swaylock-effects}/bin/swaylock"
"SUPER_SHIFT, 4, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy"
",F2, exec, ${bright} s \"$(${bright} g | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
",F1, exec, ${bright} s \"$(${bright} g | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
# workspace switching
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"CONTROL, RETURN, exec, alacritty"
"SUPER_SHIFT, C, killactive"
"$mod, F, togglefloating"
"SUPER_SHIFT, F, fullscreen"
"CONTROL, left, movefocus, l"
"CONTROL, right, movefocus, r"
"CONTROL, up, movefocus, u"
@ -55,10 +103,10 @@
"SHIFT_CONTROL, e, movewindow, u"
"SHIFT_CONTROL, n, movewindow, d"
"SUPER, left, resizeactive, -10 0"
"SUPER, right, resizeactive, 10 0"
"SUPER, up, resizeactive, 0 -10"
"SUPER, down, resizeactive, 0 10"
"$mod, left, resizeactive, -10 0"
"$mod, right, resizeactive, 10 0"
"$mod, up, resizeactive, 0 -10"
"$mod, down, resizeactive, 0 10"
];
input = {

27
home/linux/swaylock.nix Normal file
View file

@ -0,0 +1,27 @@
{
config,
lib,
pkgs,
...
}: {
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
settings = {
fade-in = 0;
clock = true;
timestr = "%R";
datestr = "%a, %b %d";
effect-blur = "20x6";
indicator = true;
indicator-radius = 320;
indicator-thickness = 20;
ignore-empty-password = true;
disable-caps-lock-text = true;
};
};
}

View file

@ -15,6 +15,14 @@
inputs.nixos-apple-silicon.nixosModules.apple-silicon-support
];
services.logind = {
extraConfig = ''
HandlePowerKey=suspend
HandleLidSwitchDocked=suspend
'';
lidSwitch = "suspend";
};
boot.initrd.availableKernelModules = ["usb_storage" "sdhci_pci"];
fileSystems."/" = {

View file

@ -8,6 +8,8 @@
programs.hyprland.enable = true;
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
security.pam.services.swaylock.text = "auth include login";
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];