From 87773282fc6fc86aff4f8209a9a4a4ba58d9ea58 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 12:14:17 +0100 Subject: [PATCH 1/8] talos: home: brightness bindings --- hosts/talos/home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index 4d7c2b0..d2dae09 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -81,6 +81,8 @@ in { "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2"; "XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2"; + "XF86MonBrightnessUp" = "exec light -A 5"; + "XF86MonBrightnessDown" = "exec light -U 5"; }; modes = mkOptionDefault { From 35aad1c28e17ceb62e00da4159a4451a43641786 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 14:14:49 +0100 Subject: [PATCH 2/8] talos: home: include hyprlock the right way --- hosts/talos/home.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index d2dae09..97c1e64 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -31,7 +31,6 @@ in { (pkgs) ansel chromium # some websites only work there :( - hyprlock nwg-displays shikane # output autoconfig zotero @@ -45,6 +44,7 @@ in { wayland.windowManager.sway = let logoutMode = "[L]ogout, [S]uspend, [P]oweroff, [R]eboot"; + lock = "hyprlock --immediate"; in { enable = true; swaynag.enable = true; @@ -77,7 +77,7 @@ in { keybindings = mkOptionDefault { "Mod4+Shift+e" = ''mode "${logoutMode}"''; "Mod4+i" = "exec emacsclient --create-frame"; - "Mod4+Control+l" = "exec hyprlock"; + "Mod4+Control+l" = "exec ${lock}"; "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.2"; "XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.2"; @@ -106,7 +106,7 @@ in { }; programs = { fuzzel.enable = true; - swaylock.enable = true; + hyprlock.enable = true; waybar = { enable = true; }; From d8de5ac7d3580bf4b41b6c3b755154592fccecd7 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 14:15:27 +0100 Subject: [PATCH 3/8] talos: home: setup idling --- base/gui-programs.nix | 2 +- hosts/talos/home.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/base/gui-programs.nix b/base/gui-programs.nix index 3586d81..0a0e47c 100644 --- a/base/gui-programs.nix +++ b/base/gui-programs.nix @@ -47,7 +47,7 @@ in { }; }; - logind.lidSwitch = "ignore"; + logind.lidSwitch = "suspend"; printing = { enable = true; diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index 97c1e64..1d8c207 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -101,6 +101,7 @@ in { startup = [ {command = "shikane";} {command = "waybar";} + {command = "swayidle -w idlehint 1 before-sleep \"${lock}\"";} ]; }; }; @@ -112,4 +113,17 @@ in { }; }; }; + + # FIXME: belongs elsewhere + services = { + logind = { + lidSwitch = "suspend"; + lidSwitchExternalPower = "ignore"; + extraConfig = '' + IdleAction=suspend + IdleActionSec=10min + ''; + }; + upower.enable = true; + }; } From 4a4e9cc30fbc5fda066b7a4bc40d37cb89418268 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 14:15:43 +0100 Subject: [PATCH 4/8] talos: home: setup swaybg --- hosts/talos/home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index 1d8c207..0cfe1a7 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -33,6 +33,7 @@ in { chromium # some websites only work there :( nwg-displays shikane # output autoconfig + swaybg zotero ; @@ -101,6 +102,7 @@ in { startup = [ {command = "shikane";} {command = "waybar";} + {command = "swaybg --image ~/.wallpaper --mode fill"; always = true; } {command = "swayidle -w idlehint 1 before-sleep \"${lock}\"";} ]; }; From 76b89f8ea8d76eb721a317c0b7dbbf0cbd89bad6 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 14:15:53 +0100 Subject: [PATCH 5/8] talos: home: handle lid switch in sway --- hosts/talos/home.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index 0cfe1a7..d593838 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -106,6 +106,11 @@ in { {command = "swayidle -w idlehint 1 before-sleep \"${lock}\"";} ]; }; + + extraConfig = '' + bindswitch --reload --locked lid:off output eDP-1 enable; + bindswitch --reload --locked lid:on output eDP-1 disable; + ''; }; programs = { fuzzel.enable = true; From e18ca72c20b63b5a07ab36d8726042c68ab692f5 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 14:16:43 +0100 Subject: [PATCH 6/8] talos: home: provide shortcut to reload displays --- hosts/talos/home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index d593838..5892dfd 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -76,6 +76,7 @@ in { bars = []; keybindings = mkOptionDefault { + "Mod4+Shift+a" = "exec shikanectl reload"; "Mod4+Shift+e" = ''mode "${logoutMode}"''; "Mod4+i" = "exec emacsclient --create-frame"; "Mod4+Control+l" = "exec ${lock}"; From 0057dcb19f12ade0d896c0af6f5ceadd5cde5af4 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 15:00:09 +0100 Subject: [PATCH 7/8] talos: home: swaylock works better --- hosts/talos/home.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index 5892dfd..8fa7e7c 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -45,7 +45,7 @@ in { wayland.windowManager.sway = let logoutMode = "[L]ogout, [S]uspend, [P]oweroff, [R]eboot"; - lock = "hyprlock --immediate"; + lock = "swaylock --daemonize --image ~/.wallpaper --scaling fill"; in { enable = true; swaynag.enable = true; @@ -115,7 +115,7 @@ in { }; programs = { fuzzel.enable = true; - hyprlock.enable = true; + swaylock.enable = true; waybar = { enable = true; }; From fa0e0fe86b253611b0bac3b33ccef921dd4a1e40 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 17 Feb 2025 15:00:22 +0100 Subject: [PATCH 8/8] talos: home: bring back suspend shortcut --- hosts/talos/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index 8fa7e7c..8440bc9 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -90,7 +90,7 @@ in { modes = mkOptionDefault { "${logoutMode}" = { "l" = "exec --no-startup-id swaymsg exit, mode default"; - #"s" = "exec --no-startup-id betterlockscreen --suspend, mode default"; + "s" = "exec --no-startup-id systemctl suspend, mode default"; "p" = "exec --no-startup-id systemctl poweroff, mode default"; "r" = "exec --no-startup-id systemctl reboot, mode default"; "Escape" = "mode default";