diff --git a/modules/home-manager/hypr/hyprland-customization.nix b/modules/home-manager/hypr/hyprland-customization.nix index 5dcc954..73a1a8c 100644 --- a/modules/home-manager/hypr/hyprland-customization.nix +++ b/modules/home-manager/hypr/hyprland-customization.nix @@ -79,10 +79,12 @@ input = { kb_layout = "de"; - kb_options = "caps:escape"; + # remap caps lock to ctrl + kb_options = "ctrl:nocaps"; numlock_by_default = true; # mouse input should be unchanged natural_scroll = false; + sensitivity = 0.3; touchpad = { disable_while_typing = false; natural_scroll = true; @@ -119,7 +121,8 @@ }; monitor = [ - "eDP-1, highres, 0x0, 1.5" # the internal laptop monitor + "eDP-1, 3840x2160, 0x0, 1.5" # the internal laptop monitor + "DP-2, 3840x2160, 0x-1440, 1.5" ", preferred, auto, 1" # automatically add any newly detected monitor ]; }; @@ -141,6 +144,30 @@ no_fade_in = false; disable_loading_bar = false; }; + auth = { + "pam:enabled" = true; + }; + background = { + blur_passes = 3; + blur_size = 10; + }; + input-field = { + size = "20%, 5%"; + outline_thickness = 3; + inner_color = "rgba(0, 0, 0, 0.0)"; + + outer_color = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + check_color = "rgba(00ff99ee) rgba(ff6633ee) 120deg"; + fail_color = "rgba(ff6633ee) rgba(ff0066ee) 40deg"; + + font_color = "rgb(143, 143, 143)"; + fade_on_empty = false; + rounding = 15; + + position = "0, -20"; + halign = "center"; + valign = "center"; + }; }; # Style the lock screen }; diff --git a/modules/home-manager/hypr/hyprpaper.nix b/modules/home-manager/hypr/hyprpaper.nix index b86b13e..b9202d4 100644 --- a/modules/home-manager/hypr/hyprpaper.nix +++ b/modules/home-manager/hypr/hyprpaper.nix @@ -22,14 +22,22 @@ with lib; let in { # home.packages = [wallpaperRandomizer]; + + services.hyprpaper = { enable = true; - # settings = { - # ipc = "on"; - # splash = false; - # splash_offset = 2.0; - # }; + settings = { + ipc = "off"; + splash = false; + + preload = [ + "${../../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg}" + ]; + wallpaper = [ + ",${../../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg}" + ]; + }; }; # systemd.user = { diff --git a/modules/home-manager/hypr/waybar.nix b/modules/home-manager/hypr/waybar.nix index 5af4e1c..c95745a 100644 --- a/modules/home-manager/hypr/waybar.nix +++ b/modules/home-manager/hypr/waybar.nix @@ -24,9 +24,10 @@ margin-bottom = 5; margin-left = 5; margin-right = 5; - height = 42; + # height = 42; layer = "top"; position = "top"; + spacing = 5; # height = 30; # output = [ # "eDP-1" @@ -42,15 +43,15 @@ "custom/notification" ]; modules-right = [ + "tray" # "temperature" # "group/expand" # "bluetooth" - "pulseaudio" - # "network" + "wireplumber" + "network" # "mpd" "battery" "backlight" - "tray" "idle_inhibitor" ]; @@ -62,6 +63,11 @@ default = "○"; }; }; + "hyprland/window"= { + "icon" = false; + "separate-outputs" = true; + "format" = "{}"; + }; "clock" = { format = "{:%H:%M}"; @@ -77,8 +83,8 @@ "idle_inhibitor" = { format = "{icon}"; format-icons = { - activated = ""; - deactivated = ""; + activated = ""; + deactivated = ""; }; tooltip = "true"; }; @@ -108,17 +114,18 @@ format-icons = [ "󰁻" "󰁼" "󰁾" "󰂀" "󰂂" "󰁹" ]; }; - "pulseaudio" = { - format = "{icon} {volume}% {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = " {volume}%"; - format-source-muted = ""; + "wireplumber" = { + scroll-step = 10; + format = "{icon} {volume}%";# {format_source}"; + format-bluetooth = "{volume}% {icon}";# {format_source}"; + format-bluetooth-muted = " {icon}";# {format_source}"; + format-muted = "";# {format_source}"; + # format-source = " {volume}%"; + # format-source-muted = ""; format-icons = { headphone = ""; - hands-free = ""; - headset = ""; + hands-free = ""; + headset = ""; phone = ""; portable = ""; default = [ @@ -137,14 +144,14 @@ tooltip = false; format = "{icon} {}"; format-icons = { - notification = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - dnd-inhibited-none = ""; + notification = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + dnd-inhibited-none = ""; }; return-type = "json"; exec-if = "which swaync-client"; @@ -152,146 +159,56 @@ on-click = "sleep 0.1 && task-waybar"; escape = true; }; - + "network" = { + # interface = "wlp0s20f3"; + format = "{ifname}"; + format-wifi = "  {essid} ({signalStrength}%)"; + format-ethernet = "󰊗 {ipaddr}/{cidr}"; + format-disconnected = ""; + tooltip-format = "󰊗 {ifname} via {gwaddr}"; + tooltip-format-wifi = "  {essid} ({signalStrength}%)"; + tooltip-format-ethernet = "{ifname} "; + tooltip-format-disconnected = "Disconnected"; + max-length = 5; + }; }; }; style = '' * { - border: none; - border-radius: 0; - /* `otf-font-awesome` is required to be installed for icons */ - font-family: FiraCode Nerd Font; - min-height: 20px; + font-family: "FiraCode Nerd Font"; + font-weight: bold; + font-size: 22px; } window#waybar { - background: transparent; + background-color: transparent; } - window#waybar.hidden { - opacity: 0.2; - } - + .module { - color: #ffffff; - border: none; - } - - #workspaces { - margin-right: 8px; - border-radius: 10px; - transition: none; - background: #383c4a; - } - - #workspaces button { - transition: none; - color: #7c818c; - background: transparent; - padding: 5px; - font-size: 18px; - } - - #workspaces button.persistent { - color: #7c818c; - font-size: 12px; - } - - #workspaces button.focused { + background: rgba(0, 0, 0, 0.6); color: white; + border-radius: 5px; + padding: 5px 5px 5px 5px; + margin: 5px 0; + } + box.module button:hover { + box-shadow: inset 0 -3px #ffffff; } - #mode { - padding-left: 16px; - padding-right: 16px; - border-radius: 10px; - transition: none; - color: #ffffff; - background: #383c4a; + .modules-left { + padding: 3px; } - #clock { - padding-left: 16px; - padding-right: 16px; - border-radius: 10px 0px 0px 10px; - transition: none; - color: #ffffff; - background: #383c4a; + .modules-right { + padding: 3px; } - #pulseaudio { - margin-right: 8px; - padding-left: 16px; - padding-right: 16px; - border-radius: 10px; - transition: none; - color: #ffffff; - background: #383c4a; + .modules-center { + padding: 3px; } - #pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; - } - - - - #backlight { - margin-right: 8px; - padding-left: 16px; - padding-right: 16px; - border-radius: 10px; - transition: none; - color: #ffffff; - background: #383c4a; - } - - #battery { - margin-right: 8px; - padding-left: 16px; - padding-right: 16px; - border-radius: 10px; - transition: none; - color: #ffffff; - background: #383c4a; - } - - #battery.charging { - color: #ffffff; - background-color: #26A65B; - } - - #battery.warning:not(.charging) { - background-color: #ffbe61; - color: black; - } - - #battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - - #tray { - padding-left: 16px; - padding-right: 16px; - border-radius: 10px; - transition: none; - color: #ffffff; - background: #383c4a; - } - - @keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } - } ''; }; } diff --git a/modules/nixos/hyprland.nix b/modules/nixos/hyprland.nix index 5768876..e77d359 100644 --- a/modules/nixos/hyprland.nix +++ b/modules/nixos/hyprland.nix @@ -21,4 +21,6 @@ wayland = true; }; + security.pam.services.hyprlock = {}; + } diff --git a/modules/nixos/nvidia.nix b/modules/nixos/nvidia.nix index 54205ab..55a5b48 100644 --- a/modules/nixos/nvidia.nix +++ b/modules/nixos/nvidia.nix @@ -13,10 +13,8 @@ configuration = { system.nixos.tags = [ "nvidia-enabled" ]; # Enable OpenGL - hardware.graphics = { - enable = true; - }; - hardware.nvidia = { + hardware.graphics.enable = lib.mkForce true; + hardware.nvidia = lib.mkForce { modesetting.enable = true; powerManagement.enable = true; powerManagement.finegrained = false; @@ -32,10 +30,10 @@ package = config.boot.kernelPackages.nvidiaPackages.beta; }; # overwrite the blacklists set previously - boot.extraModprobeConfig = ""; - boot.blacklistedKernelModules = []; - services.udev.extraRules = ""; - services.xserver.videoDrivers = ["nvidia"]; + boot.extraModprobeConfig = lib.mkForce ""; + boot.blacklistedKernelModules = lib.mkForce []; + services.udev.extraRules = lib.mkForce ""; + services.xserver.videoDrivers = lib.mkForce ["nvidia"]; }; }; };