{ config, pkgs, pkgs-unstable, username, ... }: { home.packages = with pkgs; [ dunst waybar swww rofi # (pkgs.waybar.overrideAttrs (oldAttrs: { # mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; # })) ]; home.file.".config/hypr/hyprlock.conf".text = '' background { monitor = # path = screenshot color = rgba(152, 179, 166, 0.9) blur_passes = 1 blur_size = 7 noise = 0.0117 contrast = 0.8916 brightness = 0.8172 vibrancy = 0.1696 vibrancy_darkness = 0.0 } 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 = true 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 position = 0, 200 halign = center valign = center } label { monitor = text = cmd[update:1000] echo "$TIME" color = rgba(200, 200, 200, 1.0) font_size = 55 font_family = JetBrainsMono Nerd Font position = 0, 150 halign = center valign = bottom shadow_passes = 5 shadow_size = 10 } label { monitor = text = $USER color = rgba(200, 200, 200, 1.0) font_size = 20 font_family = JetBrainsMono Nerd Font position = 0, 80 halign = center valign = bottom shadow_passes = 5 shadow_size = 10 } ''; wayland.windowManager.hyprland.enable = true; wayland.windowManager.hyprland.settings = { "$mod" = "SUPER"; exec-once = [ "dunst" "waybar" ]; bind = [ "$mod, F, exec, firefox" "$mod, k, exec, kitty" ", Print, exec, grimblast copy area" "$mod, l, exec, hyprlock" # Add a keybinding to lock the screen "$mod, C, exec, codium" "$mod, E, exec, hyprctl dispatch exit" ] ++ ( # workspaces # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} builtins.concatLists (builtins.genList ( x: let ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10)); in [ "$mod, ${ws}, workspace, ${toString (x + 1)}" "$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}" ] ) 10) ); }; }