From a142fd05e688c7ac1f2c64a902dddd6588446fe0 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Tue, 1 Jul 2025 22:15:12 -0500 Subject: [PATCH] initial macbook hyprland stuffs --- .../hyprland/config/hypr/default.nix | 35 +++++++- .../hyprland/config/waybar/default.nix | 84 +++++++++++++++---- .../desktop-environments/hyprland/default.nix | 6 +- .../hyprland/environment.nix | 3 + .../hyprland/settings.nix | 14 +++- 5 files changed, 117 insertions(+), 25 deletions(-) diff --git a/modules/desktop-environments/hyprland/config/hypr/default.nix b/modules/desktop-environments/hyprland/config/hypr/default.nix index b43105d..3fff006 100755 --- a/modules/desktop-environments/hyprland/config/hypr/default.nix +++ b/modules/desktop-environments/hyprland/config/hypr/default.nix @@ -35,16 +35,18 @@ in bind = [ "$mod, Return, exec, ${settings.defaultApps.terminal.pname}" "$mod, SPACE, exec, wofi --show drun" + ", xf86Search, exec, wofi --show drun" "$mod, Q, killactive, " "$mod, M, exec, wlogout --protocol layer-shell" - "$mod, E, exec, nautilus" + "$mod, E, exec, ${settings.defaultApps.fileExplorer.pname}" "$mod, V, togglefloating, " "$mod, D, exec, ${drawer}" "$mod, P, pseudo, " # dwindle "$mod, S, togglesplit, " # dwindle "$mod SHIFT, Q, exec, hyprlock" "$mod SHIFT, 4, exec, hyprshot -m region --clipboard-only" - "$mod,F,exec,hyprctl dispatch fullscreen active" + "$mod, F, fullscreen, 1" + "$mod SHIFT, F, fullscreen, 0" "$mod SHIFT, E, exec, smile" "$mod, mouse:276, movecurrentworkspacetomonitor, ${settings.displayLeft.input}" @@ -112,11 +114,18 @@ in ", XF86AudioPlay, exec, playerctl play-pause" ", XF86AudioPrev, exec, playerctl previous" ", XF86AudioNext, exec, playerctl next" + ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + + ", XF86MonBrightnessUp, exec, brightnessctl set +5%" + ", XF86MonBrightnessDown, exec, brightnessctl set 5%-" + + "$mod, XF86MonBrightnessUp, exec, brightnessctl -d kbd_backlight set +10%" + "$mod, XF86MonBrightnessDown, exec, brightnessctl -d kbd_backlight set 10%-" ]; monitor = [ "${settings.displayLeft.input},${settings.displayLeft.resolution}@${settings.displayLeft.refreshRate},0x0,1,bitdepth,10,cm,hdr,sdrbrightness,1.2,sdrsaturation,0.98" - "${settings.displayRight.input},${settings.displayRight.resolution}@${settings.displayRight.refreshRate},3840x0,1,bitdepth,10,cm,hdr,sdrbrightness,1.5,sdrsaturation,0.98" + # "${settings.displayRight.input},${settings.displayRight.resolution}@${settings.displayRight.refreshRate},3840x0,1,bitdepth,10,cm,hdr,sdrbrightness,1.5,sdrsaturation,0.98" ]; render = { @@ -258,6 +267,23 @@ in "size 2160 7680, tag:horizonrdp" # float the vmware window cause its annoying to use in fullscreen "float, class:(.*[Vv][Mm]ware-view),title:([Vv][Mm]ware [Hh]orizon [Cc]lient)" + + + + + + # "tag +fakefull, fullscreen: 0" + # "float, tag:fakefull" + # "size 3356 2160, tag:fakefull" + # "move 100 74, tag:fakefull" + # "noanim, tag:fakefull" + # "noblur, tag:fakefull" + # "norounding, tag:fakefull" + # "noshadow, tag:fakefull" + # "immediate, tag:fakefull" + # "noborder, tag:fakefull" + # "nodim, tag:fakefull" + # "idleinhibit, tag:fakefull" ]; input = { @@ -273,7 +299,8 @@ in follow_mouse = 1; touchpad = { - natural_scroll = "no"; + clickfinger_behavior = 1; + natural_scroll = "yes"; }; sensitivity = 0; # -1.0 - 1.0, 0 means no modification. diff --git a/modules/desktop-environments/hyprland/config/waybar/default.nix b/modules/desktop-environments/hyprland/config/waybar/default.nix index 4082e38..32bea45 100755 --- a/modules/desktop-environments/hyprland/config/waybar/default.nix +++ b/modules/desktop-environments/hyprland/config/waybar/default.nix @@ -5,20 +5,29 @@ let defaultOpacity = "opacity: 0.85;"; defaultBorderRadius = "border-radius: 1rem;"; defaultCenterOptions = '' - padding: 0.5rem 1rem; - margin: 5px 0; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + margin: 3px 0; ''; borderRight = '' - padding: 0.5rem 1rem; - margin: 5px 0; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + margin: 3px 0; border-radius: 0rem 1rem 1rem 0rem; - margin-right: 1rem; + margin-right: 0.5rem; ''; borderLeft = '' - padding: 0.5rem 1rem; - margin: 5px 0; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + margin: 3px 0; border-radius: 1rem 0rem 0rem 1rem; - margin-left: 1rem; + margin-left: 0.5rem; ''; in { @@ -34,7 +43,7 @@ in systemd.enable = true; settings = { mainBar = { - layer = "bottom"; + layer = "top"; position = "top"; mod = "dock"; exclusive = true; @@ -49,15 +58,17 @@ in modules-right = [ "tray" - "custom/lights" + # "custom/lights" "temperature" "temperature#gpu" "keyboard-state#capslock" "keyboard-state#numlock" "wireplumber#sink" - "wireplumber#source" + # "wireplumber#source" "bluetooth" + "network" "clock" + "battery" "custom/weather" ]; @@ -202,6 +213,19 @@ in tooltip-format-connected = "{status}"; tooltip-format-enumerate-connected = { }; }; + + network = { + interface = "wlan0"; + format = "{ifname}"; + format-wifi = ""; # "{essid} ({signalStrength}%) "; + format-ethernet = "󰊗"; # "{ipaddr}/{cidr} 󰊗"; + format-disconnected = "" ; # An empty format will hide the module. + tooltip-format = "{ifname} via {gwaddr} 󰊗"; + tooltip-format-wifi = "{essid} ({signalStrength}%) "; + tooltip-format-ethernet = "{ifname} "; + tooltip-format-disconnected = "Disconnected"; + max-length = 50; + }; clock = { format = "{:%I:%M %p}"; @@ -217,6 +241,18 @@ in }; }; + battery = { + # bat = "macsmc-ac"; + interval = 60; + states = { + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-icons = ["" "" "" "" ""]; + max-length = 25; + }; + "custom/weather" = { tooltip = true; format = { }; @@ -292,8 +328,8 @@ in ${defaultOpacity} ${defaultBorderRadius} ${defaultCenterOptions} - margin-left: 6rem; - margin-right: 6rem; + margin-left: 4rem; + margin-right: 100rem; } #custom-weather { @@ -303,6 +339,14 @@ in ${borderRight} } + #battery { + color: ${settings.nord.aurora.nord15}; + background-color: ${settings.nord.polarNight.nord0}; + ${defaultOpacity} + ${defaultCenterOptions} + border-radius: 0; + } + #clock { color: ${settings.nord.frost.nord9}; background-color: ${settings.nord.polarNight.nord0}; @@ -312,11 +356,20 @@ in /* ------------- */ + #network { + color: ${settings.nord.aurora.nord15}; + background-color: ${settings.nord.polarNight.nord0}; + ${defaultOpacity} + ${borderRight} + padding-right: 15px; + } + #bluetooth { color: ${settings.nord.frost.nord9}; background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} - ${borderRight} + ${defaultCenterOptions} + border-radius: 0; } #wireplumber.source { @@ -363,8 +416,7 @@ in color: ${settings.nord.frost.nord9}; background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + ${borderLeft} } #custom-lights { diff --git a/modules/desktop-environments/hyprland/default.nix b/modules/desktop-environments/hyprland/default.nix index 511e236..8b63aa4 100755 --- a/modules/desktop-environments/hyprland/default.nix +++ b/modules/desktop-environments/hyprland/default.nix @@ -19,6 +19,8 @@ in ./environment.nix ]; + environment.systemPackages = [ bing-wallpaper pkgs.jq ]; + home-manager.users."${settings.user}" = import ./home.nix; services = { @@ -152,8 +154,8 @@ in xdg.portal = { enable = true; - wlr.enable = false; - xdgOpenUsePortal = false; + wlr.enable = true; + xdgOpenUsePortal = true; extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gnome diff --git a/modules/desktop-environments/hyprland/environment.nix b/modules/desktop-environments/hyprland/environment.nix index adbd3e2..027968b 100755 --- a/modules/desktop-environments/hyprland/environment.nix +++ b/modules/desktop-environments/hyprland/environment.nix @@ -1,6 +1,8 @@ { pkgs, ... }: { environment.systemPackages = with pkgs; [ + box64 + brightnessctl ddcutil dunst egl-wayland @@ -24,6 +26,7 @@ hyprsysteminfo kdePackages.qtmultimedia libnotify + libz mako meson nautilus diff --git a/modules/desktop-environments/hyprland/settings.nix b/modules/desktop-environments/hyprland/settings.nix index ccb2aec..20f4c29 100644 --- a/modules/desktop-environments/hyprland/settings.nix +++ b/modules/desktop-environments/hyprland/settings.nix @@ -20,9 +20,9 @@ in # Displays displayLeft = { - input = "DP-1"; - resolution = "3840x2160"; - refreshRate = "240.00000"; + input = "eDP-1"; + resolution = "3456x2234"; # "3356x2160"; + refreshRate = "60.00000"; }; displayRight = { input = "DP-2"; @@ -81,6 +81,13 @@ in catppuccin-sddm colloid-gtk-theme colloid-icon-theme + nemo + nemo-python + nemo-emblems + nemo-preview + nemo-seahorse + nemo-fileroller + nemo-qml-plugin-dbus papirus-folders sddm-astronaut ]; @@ -88,6 +95,7 @@ in defaultApps = { browser = pkgs.firefox; editor = pkgs.micro; + fileExplorer = pkgs.nemo; visual = pkgs.vscodium; terminal = pkgs.kitty; office = pkgs.onlyoffice-bin_latest;