Kieran's opinionated (and probably slightly dumb) nix config

feat: add hyprlock and hypridle

+193 -3
home-manager/dots/face.png

This is a binary file and will not be displayed.

+2 -3
home-manager/dots/hyprland.conf
··· 13 13 exec-once = sunpaper -d 14 14 exec-once = wluma 15 15 exec-once = waybar 16 + exec-once = hypridle 16 17 17 18 exec-once=[workspace 8 silent] slack 18 19 exec-once=[workspace 9 silent] spotify ··· 126 127 127 128 # Launcher 128 129 bind = $mainMod, S, exec, sh ~/.config/bspwm/rofi/bin/launcher 129 - bind = $mainMod, N, exec, nmd 130 - bind = $mainMod + ALT, T, exec, sh ~/.config/bspwm/rofi/bin/themes 131 130 bind = $mainMod, X, exec, sh ~/.config/bspwm/rofi/bin/powermenu 132 - bind = $mainMod + ALT, S, exec, sh ~/.config/bspwm/rofi/bin/screenshot 133 131 134 132 # System 135 133 bind = $mainMod, Q, killactive, 136 134 bind = $mainMod, M, exit 135 + bind = $mainMod, L, exec, hyprlock 137 136 bind = $mainMod, V, togglefloating, 138 137 bind = $mainMod, R, exec, wofi --show drun 139 138 bind = $mainMod, P, pseudo, # dwindle
+78
home-manager/dots/hyprlock.conf
··· 1 + source = $HOME/.config/hypr/macchiato.conf 2 + 3 + $accent = $blue 4 + $accentAlpha = $blueAlpha 5 + $font = FiraCode Nerd Font 6 + 7 + # GENERAL 8 + general { 9 + disable_loading_bar = true 10 + hide_cursor = true 11 + } 12 + 13 + # BACKGROUND 14 + background { 15 + monitor = 16 + blur_passes = 0 17 + color = $base 18 + } 19 + 20 + # TIME 21 + label { 22 + monitor = 23 + text = cmd[update:30000] echo "$(date +"%R")" 24 + color = $text 25 + font_size = 90 26 + font_family = $font 27 + position = -30, 0 28 + halign = right 29 + valign = top 30 + } 31 + 32 + # DATE 33 + label { 34 + monitor = 35 + text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")" 36 + color = $text 37 + font_size = 25 38 + font_family = $font 39 + position = -30, -150 40 + halign = right 41 + valign = top 42 + } 43 + 44 + # USER AVATAR 45 + 46 + image { 47 + monitor = 48 + path = ~/.config/face.png 49 + size = 100 50 + border_color = $accent 51 + 52 + position = 0, 75 53 + halign = center 54 + valign = center 55 + } 56 + 57 + # INPUT FIELD 58 + input-field { 59 + monitor = 60 + size = 300, 60 61 + outline_thickness = 4 62 + dots_size = 0.2 63 + dots_spacing = 0.2 64 + dots_center = true 65 + outer_color = $accent 66 + inner_color = $surface0 67 + font_color = $text 68 + fade_on_empty = false 69 + placeholder_text = <span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span> 70 + hide_input = false 71 + check_color = $accent 72 + fail_color = $red 73 + fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> 74 + capslock_color = $yellow 75 + position = 0, -35 76 + halign = center 77 + valign = center 78 + }
+78
home-manager/dots/macchiato.conf
··· 1 + 2 + $rosewater = rgb(f4dbd6) 3 + $rosewaterAlpha = f4dbd6 4 + 5 + $flamingo = rgb(f0c6c6) 6 + $flamingoAlpha = f0c6c6 7 + 8 + $pink = rgb(f5bde6) 9 + $pinkAlpha = f5bde6 10 + 11 + $mauve = rgb(c6a0f6) 12 + $mauveAlpha = c6a0f6 13 + 14 + $red = rgb(ed8796) 15 + $redAlpha = ed8796 16 + 17 + $maroon = rgb(ee99a0) 18 + $maroonAlpha = ee99a0 19 + 20 + $peach = rgb(f5a97f) 21 + $peachAlpha = f5a97f 22 + 23 + $yellow = rgb(eed49f) 24 + $yellowAlpha = eed49f 25 + 26 + $green = rgb(a6da95) 27 + $greenAlpha = a6da95 28 + 29 + $teal = rgb(8bd5ca) 30 + $tealAlpha = 8bd5ca 31 + 32 + $sky = rgb(91d7e3) 33 + $skyAlpha = 91d7e3 34 + 35 + $sapphire = rgb(7dc4e4) 36 + $sapphireAlpha = 7dc4e4 37 + 38 + $blue = rgb(8aadf4) 39 + $blueAlpha = 8aadf4 40 + 41 + $lavender = rgb(b7bdf8) 42 + $lavenderAlpha = b7bdf8 43 + 44 + $text = rgb(cad3f5) 45 + $textAlpha = cad3f5 46 + 47 + $subtext1 = rgb(b8c0e0) 48 + $subtext1Alpha = b8c0e0 49 + 50 + $subtext0 = rgb(a5adcb) 51 + $subtext0Alpha = a5adcb 52 + 53 + $overlay2 = rgb(939ab7) 54 + $overlay2Alpha = 939ab7 55 + 56 + $overlay1 = rgb(8087a2) 57 + $overlay1Alpha = 8087a2 58 + 59 + $overlay0 = rgb(6e738d) 60 + $overlay0Alpha = 6e738d 61 + 62 + $surface2 = rgb(5b6078) 63 + $surface2Alpha = 5b6078 64 + 65 + $surface1 = rgb(494d64) 66 + $surface1Alpha = 494d64 67 + 68 + $surface0 = rgb(363a4f) 69 + $surface0Alpha = 363a4f 70 + 71 + $base = rgb(24273a) 72 + $baseAlpha = 24273a 73 + 74 + $mantle = rgb(1e2030) 75 + $mantleAlpha = 1e2030 76 + 77 + $crust = rgb(181926) 78 + $crustAlpha = 181926
+33
home-manager/hyprland.nix
··· 7 7 }: { 8 8 xdg.configFile."sunpaper/config".source = ./dots/sunpaperconfig; 9 9 xdg.configFile."hypr/hyprland.conf".source = ./dots/hyprland.conf; 10 + xdg.configFile."hypr/hyprlock.conf".source = ./dots/hyprlock.conf; 11 + xdg.configFile."hypr/macchiato.conf".source = ./dots/macchiato.conf; 12 + xdg.configFile."face.png".source = ./dots/face.png; 13 + 14 + programs.hyprlock.enable = true; 15 + services.hypridle = { 16 + enable = true; 17 + settings= { 18 + general = { 19 + after_sleep_cmd = "hyprctl dispatch dpms on"; 20 + before_sleep_cmd = "hyprlock"; 21 + ignore_dbus_inhibit = false; 22 + lock_cmd = "pidof hyprlock || hyprlock"; 23 + }; 24 + 25 + listener = [ 26 + { 27 + timeout = 10; 28 + on-timeout = "kill $(pidof wluma); brightnessctl -s set 10"; 29 + on-resume = "brightnessctl -r; wluma &"; 30 + } 31 + { 32 + timeout = 45; 33 + on-timeout = "loginctl lock-session"; 34 + } 35 + { 36 + timeout = 105; 37 + on-timeout = "hyprctl dispatch dpms off"; 38 + on-resume = "hyprctl dispatch dpms on"; 39 + } 40 + ]; 41 + }; 42 + }; 10 43 }
+2
moonlark/configuration.nix
··· 95 95 ]; 96 96 97 97 services.fprintd.enable = true; 98 + security.pam.services.hyprlock = {}; 98 99 99 100 fonts.packages = with pkgs; [ 100 101 nerdfonts ··· 151 152 }; 152 153 153 154 programs.hyprland.enable = true; 155 + services.hypridle.enable = true; 154 156 155 157 # enable cups 156 158 services.printing.enable = true;