diff --git a/system/wm/wayland.nix b/system/wm/wayland.nix
index d8d4156..35e8b7c 100644
--- a/system/wm/wayland.nix
+++ b/system/wm/wayland.nix
@@ -33,6 +33,7 @@
wayland.enable = true;
enableHidpi = true;
theme = "chili";
+ package = pkgs.sddm;
};
};
}
diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix
index 6f82d98..0b80863 100644
--- a/user/wm/hyprland/hyprland.nix
+++ b/user/wm/hyprland/hyprland.nix
@@ -41,7 +41,7 @@
exec-once = waybar
exec-once = emacs --daemon
- exec-once = swayidle -w timeout 90 '${config.programs.swaylock.package}/bin/swaylock -f' timeout 210 'suspend-unless-render' resume '${pkgs.hyprland}/bin/hyprctl dispatch dpms on' before-sleep "${config.programs.swaylock.package}/bin/swaylock -f"
+ exec-once = hypridle
exec-once = obs-notification-mute-daemon
exec = ~/.swaybg-stylix
@@ -136,8 +136,8 @@
bind=,code:255,exec,airplane-mode
bind=SUPER,C,exec,wl-copy $(hyprpicker)
- bind=SUPERSHIFT,S,exec,swaylock --grace 0 & sleep 1 && systemctl suspend
- bind=SUPERCTRL,L,exec,swaylock --grace 0
+ bind=SUPERSHIFT,S,exec,hyprlock & sleep 1 && systemctl suspend
+ bind=SUPERCTRL,L,exec,hyprlock
bind=SUPER,H,movefocus,l
bind=SUPER,J,movefocus,d
@@ -159,6 +159,11 @@
bind=SUPER,8,exec,hyprworkspace 8
bind=SUPER,9,exec,hyprworkspace 9
+ bind=SUPERCTRL,right,exec,hyprnome
+ bind=SUPERCTRL,left,exec,hyprnome --previous
+ bind=SUPERSHIFT,right,exec,hyprnome --move
+ bind=SUPERSHIFT,left,exec,hyprnome --previous --move
+
bind=SUPERSHIFT,1,movetoworkspace,1
bind=SUPERSHIFT,2,movetoworkspace,2
bind=SUPERSHIFT,3,movetoworkspace,3
@@ -173,7 +178,6 @@
bind=SUPER,F,exec,pypr toggle ranger && hyprctl dispatch bringactivetotop
bind=SUPER,N,exec,pypr toggle musikcube && hyprctl dispatch bringactivetotop
bind=SUPER,B,exec,pypr toggle btm && hyprctl dispatch bringactivetotop
- bind=SUPER,E,exec,pypr toggle geary && hyprctl dispatch bringactivetotop
bind=SUPER,code:172,exec,pypr toggle pavucontrol && hyprctl dispatch bringactivetotop
$scratchpadsize = size 80% 85%
@@ -183,12 +187,6 @@
windowrulev2 = workspace special silent,$scratchpad
windowrulev2 = center,$scratchpad
- $gearyscratchpad = class:^(geary)$
- windowrulev2 = float,$gearyscratchpad
- windowrulev2 = $scratchpadsize,$gearyscratchpad
- windowrulev2 = workspace special silent,$gearyscratchpad
- windowrulev2 = center,$gearyscratchpad
-
$pavucontrol = class:^(pavucontrol)$
windowrulev2 = float,$pavucontrol
windowrulev2 = size 86% 40%,$pavucontrol
@@ -206,7 +204,6 @@
windowrulev2 = float,class:^(pokefinder)$
- windowrulev2 = opacity 0.85,$gearyscratchpad
windowrulev2 = opacity 0.80,title:ORUI
windowrulev2 = opacity 0.80,title:Heimdall
windowrulev2 = opacity 0.80,title:^(LibreWolf)$
@@ -223,9 +220,6 @@
bind=SUPER,code:21,exec,pypr zoom
bind=SUPER,code:21,exec,hyprctl reload
- bind=SUPERCTRL,right,workspace,+1
- bind=SUPERCTRL,left,workspace,-1
-
bind=SUPER,I,exec,networkmanager_dmenu
bind=SUPER,P,exec,keepmenu
bind=SUPERSHIFT,P,exec,hyprprofile-dmenu
@@ -296,7 +290,9 @@
wl-clipboard
hyprland-protocols
hyprpicker
- swayidle
+ hypridle
+ hyprlock
+ hyprnome
swaybg
fnott
fuzzel
@@ -382,6 +378,110 @@
'')
];
+ home.file.".config/hypr/hypridle.conf".text = ''
+ general {
+ lock_cmd = hyprlock
+ unlock_cmd =
+ before_sleep_cmd = hyprlock
+ after_sleep_cmd =
+ ignore_dbus_inhibit = false
+ }
+
+ listener {
+ timeout = 360 # in seconds
+ on-timeout = hyprlock
+ on-resume =
+ timeout = 720 # in seconds
+ on-timeout = systemctl suspend
+ on-resume =
+ }
+ '';
+ home.file.".config/hypr/hyprlock.conf".text = ''
+ background {
+ monitor =
+ path = screenshot
+
+ # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
+ blur_passes = 4
+ blur_size = 5
+ noise = 0.0117
+ contrast = 0.8916
+ brightness = 0.8172
+ vibrancy = 0.1696
+ vibrancy_darkness = 0.0
+ }
+
+ # doesn't work yet
+ image {
+ monitor =
+ path = /home/emmet/.dotfiles/user/wm/hyprland/nix-dark.png
+ size = 150 # lesser side if not 1:1 ratio
+ rounding = -1 # negative values mean circle
+ border_size = 0
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 200
+ halign = center
+ valign = center
+ }
+
+ input-field {
+ monitor =
+ size = 200, 50
+ outline_thickness = 3
+ dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = false
+ dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
+ outer_color = rgb(151515)
+ inner_color = rgb(200, 200, 200)
+ font_color = rgb(10, 10, 10)
+ fade_on_empty = true
+ fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
+ placeholder_text = Input Password... # Text rendered in the input box when it's empty.
+ hide_input = false
+ rounding = -1 # -1 means complete rounding (circle/oval)
+ check_color = rgb(204, 136, 34)
+ fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
+ fail_text = $FAIL ($ATTEMPTS) # can be set to empty
+ fail_transition = 300 # transition time in ms between normal outer_color and fail_color
+ capslock_color = -1
+ numlock_color = -1
+ bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
+ invert_numlock = false # change color if numlock is off
+ swap_font_color = false # see below
+
+ position = 0, -20
+ halign = center
+ valign = center
+ }
+
+ label {
+ monitor =
+ text = Hello, Emmet
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 25
+ font_family = Intel One Mono
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 160
+ halign = center
+ valign = center
+ }
+
+ label {
+ monitor =
+ text = $TIME
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 20
+ font_family = Intel One Mono
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 80
+ halign = center
+ valign = center
+ }
+ '';
home.file.".config/hypr/pyprland.json".text = ''
{
"pyprland": {
@@ -404,10 +504,6 @@
"command": "alacritty --class scratchpad -e btm",
"margin": 50
},
- "geary": {
- "command": "geary",
- "margin": 50
- },
"pavucontrol": {
"command": "pavucontrol",
"margin": 50,
@@ -474,7 +570,6 @@
"scratch_ranger" = "_";
"scratch_musikcube" = "_";
"scratch_btm" = "_";
- "scratch_geary" = "_";
"scratch_pavucontrol" = "_";
};
"on-click" = "activate";
@@ -755,37 +850,6 @@
services.udiskie.enable = true;
services.udiskie.tray = "always";
- programs.swaylock = {
- enable = true;
- package = pkgs.swaylock-effects;
- settings = {
- color = "#"+config.lib.stylix.colors.base00;
- inside-color = "#"+config.lib.stylix.colors.base00+"cc";
- inside-caps-lock-color = "#"+config.lib.stylix.colors.base09;
- inside-clear-color = "#"+config.lib.stylix.colors.base0A;
- inside-wrong-color = "#"+config.lib.stylix.colors.base08;
- inside-ver-color = "#"+config.lib.stylix.colors.base0D;
- line-color = "#"+config.lib.stylix.colors.base00;
- line-caps-lock-color = "#"+config.lib.stylix.colors.base00;
- line-clear-color = "#"+config.lib.stylix.colors.base00;
- line-wrong-color = "#"+config.lib.stylix.colors.base00;
- line-ver-color = "#"+config.lib.stylix.colors.base00;
- ring-color = "#"+config.lib.stylix.colors.base00;
- ring-caps-lock-color = "#"+config.lib.stylix.colors.base09;
- ring-clear-color = "#"+config.lib.stylix.colors.base0A;
- ring-wrong-color = "#"+config.lib.stylix.colors.base08;
- ring-ver-color = "#"+config.lib.stylix.colors.base0D;
- text-color = "#"+config.lib.stylix.colors.base00;
- key-hl-color = "#"+config.lib.stylix.colors.base0B;
- font = config.stylix.fonts.monospace.name;
- font-size = 20;
- fade-in = 0.5;
- grace = 5;
- indicator-radius = 100;
- screenshots = true;
- effect-blur = "10x10";
- };
- };
programs.fuzzel.enable = true;
programs.fuzzel.settings = {
main = {