From cd08309515bce3796777f4b20efffd379b9fabcc Mon Sep 17 00:00:00 2001 From: bee Date: Fri, 1 May 2026 23:45:21 +0530 Subject: Homecoming --- common/modules/hyprland/default.nix | 380 ------------------------------------ 1 file changed, 380 deletions(-) delete mode 100644 common/modules/hyprland/default.nix (limited to 'common/modules/hyprland/default.nix') diff --git a/common/modules/hyprland/default.nix b/common/modules/hyprland/default.nix deleted file mode 100644 index d230ac0..0000000 --- a/common/modules/hyprland/default.nix +++ /dev/null @@ -1,380 +0,0 @@ -{ - homeManager, - inputs, - moduleNameSpace, - ... -}: -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.${moduleNameSpace}.hyprland; - - snip = pkgs.writeShellScript "snip" '' - case $1 in - full) - ${pkgs.grim}/bin/grim - | wl-copy - ;; - selection) - GEOM=$(${pkgs.slurp}/bin/slurp) || exit - ${pkgs.grim}/bin/grim -g "$GEOM" - | wl-copy - ;; - window) - GEOM=$(hyprctl activewindow -j | ${pkgs.jq}/bin/jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"') - ${pkgs.grim}/bin/grim -g "$GEOM" - | wl-copy - ;; - esac - ''; - - smart-alacritty = pkgs.writeShellScript "smart-alacritty" '' - alacritty msg create-window || exec alacritty - ''; - - smart-ghostty = pkgs.writeShellScript "smart-ghostty" '' - ghostty +new-window || exec ghostty - ''; - - terminal = - if config.beeMods.terminal.default == "alacritty" then - smart-alacritty - else if config.beeMods.terminal.default == "ghostty" then - smart-ghostty - else - config.beeMods.terminal.default; - - settings-persist = pkgs.writeShellScript "settings-persist" '' - SETTINGS_FILE="$HOME/.config/beeSettings" - - if [[ -f "$SETTINGS_FILE" ]]; then - IS_NIGHTMODE=$(${pkgs.ripgrep}/bin/rg "nightlight" "$SETTINGS_FILE" | cut -d"=" -f2) - - if [[ "$IS_NIGHTMODE" == "on" ]]; then - ${pkgs.wlsunset}/bin/wlsunset -T 4500 & - fi - fi - ''; -in -{ - options.${moduleNameSpace}.hyprland = { - enable = lib.mkEnableOption "hyprland setup"; - animations = lib.mkEnableOption "Uiiiiiiiiiii"; - window = { - blur = { - enable = lib.mkEnableOption "Enable window blur"; - passes = lib.mkOption { - type = lib.types.int; - default = 1; - }; - radius = lib.mkOption { - type = lib.types.int; - default = 10; - }; - }; - shadows = lib.mkEnableOption "Enable window drop shadows"; - border_radius = lib.mkOption { - type = lib.types.int; - default = 0; - description = "Border radius"; - }; - opacity = lib.mkOption { - type = lib.types.number; - default = 1.0; - description = "Window opacity"; - }; - }; - }; - - config = lib.mkIf cfg.enable ( - if homeManager then - { - wayland.windowManager.hyprland = { - enable = true; - systemd.enable = true; - systemd.variables = [ "--all" ]; - xwayland.enable = true; - systemd.enableXdgAutostart = false; - - settings = { - monitor = [ ",1920x1080@120,auto,1.0" ]; - - # Conditionally load matugen colors if enabled - # source = [ ] ++ lib.optional (config.beeMods.matugen.enable) "~/.config/hypr/hyprland-colors.conf"; - - "$mainMod" = "SUPER"; - - # env = [ - # "NIXOS_OZONE_WL,1" - # "QT_AUTO_SCREEN_SCALE_FACTOR,1" - # "ELECTRON_OZONE_PLATFORM_HINT,auto" - # "QT_QPA_PLATFORM,wayland;xcb" - # "XDG_SESSION_TYPE,wayland" - # "GDK_BACKEND,wayland,x11" - # "GDK_SCALE,1" - # ]; - # - exec-once = [ - "wl-clip-persist --clipboard regular --reconnect-tries 0" - "wl-paste --type text --watch cliphist store" - "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" - "gnome-keyring-daemon --start --components=secrets,ssh,pkcs11" - "${settings-persist}" - "dbus-update-activation-environment --all" - "sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - ] - ++ lib.optionals (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) [ - "systemctl --user stop xidlehook.service" - "systemctl --user stop xautolock-session.service" - "systemctl --user stop xss-lock.service" - "systemctl --user stop clipcat.service" - ] - ++ lib.optionals (config.beeMods.x11.picom.enable) [ - "systemctl --user stop picom.service" - ]; - - xwayland = { - force_zero_scaling = true; - }; - - input = { - follow_mouse = 1; - kb_layout = "us"; - repeat_delay = 300; - repeat_rate = 50; - sensitivity = 0; - numlock_by_default = false; - left_handed = false; - - touchpad = { - natural_scroll = true; - tap-to-click = true; - drag_lock = true; - disable_while_typing = true; - middle_button_emulation = false; - }; - }; - - general = { - layout = "master"; - gaps_in = 5; - gaps_out = 5; - border_size = 2; - - resize_on_border = true; - no_focus_fallback = true; - allow_tearing = false; - - # "col.active_border" = "$_tertiary_fixed_dim"; - # "col.inactive_border" = "$_outline"; - }; - - master = { - allow_small_split = true; - new_on_top = false; - mfact = 0.56; - }; - - scrolling = { - column_width = 0.55; - follow_focus = true; - }; - - decoration = { - rounding = cfg.window.border_radius; - - blur = { - enabled = cfg.window.blur.enable; - size = cfg.window.blur.radius; - passes = cfg.window.blur.passes; - brightness = 0.9; - contrast = 0.9; - noise = 0.02; - vibrancy = 1.2; - popups = true; - popups_ignorealpha = 0.6; - }; - - shadow = { - enabled = cfg.window.shadows; - ignore_window = true; - range = 10; - render_power = 3; - offset = "0 0"; - color = "rgba(00000044)"; - }; - - # Apply opacity logic utilizing cfg options - active_opacity = - if (cfg.window.blur.enable && cfg.window.opacity == 1.0) then 0.82 else cfg.window.opacity; - inactive_opacity = - if (cfg.window.blur.enable && cfg.window.opacity == 1.0) then 0.82 else cfg.window.opacity; - fullscreen_opacity = 1.0; - - dim_inactive = false; - }; - - animations = { - enabled = true; - - bezier = [ - "openCurve, 0.05, 0.7, 0.1, 1.0" - "closeCurve, 0.0, 0.0, 1.0, 1.0" - "moveCurve, 0.46, 1.0, 0.29, 1.0" - ]; - - animation = [ - "windowsIn, 1, 2.8, openCurve, slide" - "windowsOut, 1, 6.5, closeCurve, popin 80%" - "windowsMove, 1, 2.2, moveCurve" - "fadeIn, 0, 3.0, fadeCurve" - "fadeOut, 1, 2.5, moveCurve" - "workspaces, 1, 2.5, moveCurve, slide" - ]; - }; - - misc = { - vfr = true; - vrr = 0; - mouse_move_enables_dpms = true; - key_press_enables_dpms = true; - disable_splash_rendering = true; - animate_manual_resizes = true; - animate_mouse_windowdragging = false; - enable_swallow = false; - swallow_regex = "(foot|kitty|alacritty|Alacritty|com.mitchellh.ghostty|)"; - disable_hyprland_logo = true; - force_default_wallpaper = 0; - focus_on_activate = true; - }; - - binds = { - scroll_event_delay = 0; - focus_preferred_method = 1; - }; - - windowrule = [ - "workspace 1, match:class ^(foot|footclient|alacritty|com.mitchellh.ghostty)$" - "workspace 2, match:class ^(zen|firefox|obsidian)$" - "workspace 3, match:class ^(vesktop|discord|thunderbird|Element|equibop)$" - "workspace 4, match:class ^(steam)$" - "float on, match:class ^(org.gnome.Calculator|org.pulseaudio.pavucontrol)$" - "stay_focused on, match:class ^(pinentry-)(.*)$" - ]; - - layerrule = [ - "no_anim on, match:namespace ^rofi$" - ]; - - workspace = [ "2, layout:scrolling" ]; - - bind = [ - "$mainMod, r, exec, hyprctl reload" - "$mainMod, Return, exec, ${terminal}" - "$mainMod, a, exec, rofi -show drun" - "$mainMod, period, exec, rofi -show emoji -modi emoji" - "ALT, F4, exec, rofi -show power-menu -modi power-menu:rofi-power-menu" - "$mainMod, y, exec, beesettings wall" - "$mainMod, comma, exec, beesettings settings" - - "$mainMod, F12, exec, gnome-calculator" - "$mainMod, b, exec, zen" - "$mainMod, e, exec, nautilus" - - "$mainMod, m, exit," - "$mainMod, q, killactive," - - "$mainMod, h, movefocus, l" - "$mainMod, l, movefocus, r" - "$mainMod, k, movefocus, u" - "$mainMod, j, movefocus, d" - - ", Print, exec, ${snip} full" - "$mainMod, Print, exec, ${snip} selection" - "$mainMod SHIFT, Print, exec, ${snip} window" - - "$mainMod SHIFT, k, swapwindow, u" - "$mainMod SHIFT, j, swapwindow, d" - "$mainMod SHIFT, h, swapwindow, l" - "$mainMod SHIFT, l, swapwindow, r" - - "$mainMod, g, pin," - "ALT, Tab, workspace, previous" - "$mainMod, space, togglefloating," - "ALT, a, fullscreen, 1" - "ALT, f, fullscreen, 0" - "$mainMod, i, togglespecialworkspace, minimized" - "$mainMod, i, movetoworkspacesilent, special:minimized" - "$mainMod SHIFT, i, togglespecialworkspace, minimized" - "$mainMod SHIFT, i, movetoworkspace, +0" - "ALT, z, togglespecialworkspace, scratchpad" - - "$mainMod, n, exec, beesettings layout" - - "$mainMod, 1, workspace, 1" - "$mainMod, 2, workspace, 2" - "$mainMod, 3, workspace, 3" - "$mainMod, 4, workspace, 4" - "$mainMod, 5, workspace, 5" - "$mainMod, 6, workspace, 6" - "$mainMod, 7, workspace, 7" - "$mainMod, 8, workspace, 8" - "$mainMod, 9, workspace, 9" - - "$mainMod SHIFT, 1, movetoworkspace, 1" - "$mainMod SHIFT, 2, movetoworkspace, 2" - "$mainMod SHIFT, 3, movetoworkspace, 3" - "$mainMod SHIFT, 4, movetoworkspace, 4" - "$mainMod SHIFT, 5, movetoworkspace, 5" - "$mainMod SHIFT, 6, movetoworkspace, 6" - "$mainMod SHIFT, 7, movetoworkspace, 7" - "$mainMod SHIFT, 8, movetoworkspace, 8" - "$mainMod SHIFT, 9, movetoworkspace, 9" - - "ALT SHIFT, Left, focusmonitor, l" - "ALT SHIFT, Right, focusmonitor, r" - "$mainMod ALT, Left, movecurrentworkspacetomonitor, l" - "$mainMod ALT, Right, movecurrentworkspacetomonitor, r" - ]; - - binde = [ - "$mainMod, Up, moveactive, 0 -50" - "$mainMod, Down, moveactive, 0 50" - "$mainMod, Left, moveactive, -50 0" - "$mainMod, Right, moveactive, 50 0" - - "ALT, k, resizeactive, 0 -50" - "ALT, j, resizeactive, 0 50" - "ALT, h, resizeactive, -50 0" - "ALT, l, resizeactive, 50 0" - ]; - - bindel = [ - ", XF86AudioRaiseVolume, exec, volume-control up" - ", XF86AudioLowerVolume, exec, volume-control down" - ", XF86AudioMute, exec, volume-control mute" - ", XF86AudioMicMute, exec, mic-control toggle" - - ", XF86AudioPlay, exec, playerctl play-pause" - ", XF86AudioNext, exec, playerctl next" - ", XF86AudioPrev, exec, playerctl previous" - ", XF86AudioStop, exec, playerctl stop" - - ", XF86MonBrightnessUp, exec, brightness-control up" - ", XF86MonBrightnessDown, exec, brightness-control down" - ]; - - bindm = [ - "$mainMod, mouse:272, movewindow" - "$mainMod, mouse:273, resizewindow" - ]; - }; - }; - } - else - { - programs.hyprland.enable = true; - } - ); -} -- cgit v1.3.1