From 0c2b2cee6821d3f13f09523128cb8a2937a3e0cf Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Tue, 10 Feb 2026 21:33:32 -0500 Subject: [PATCH] reorg --- config/hypr/hyprland.conf | 159 ---------------------------- config/hypr/nvidia.conf | 11 -- home/modules/ui.nix | 217 +++++++++++++++++++++++++++++++++----- 3 files changed, 189 insertions(+), 198 deletions(-) delete mode 100644 config/hypr/hyprland.conf delete mode 100644 config/hypr/nvidia.conf diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf deleted file mode 100644 index 7d19212..0000000 --- a/config/hypr/hyprland.conf +++ /dev/null @@ -1,159 +0,0 @@ -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME -exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME - -monitor=,preferred,auto,1 - -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland -env = ELECTRON_OZONE_PLATFORM_HINT,wayland -env = GTK_USE_PORTAL,1 -env = OZONE_PLATFORM,wayland -env = QT_QPA_PLATFORM,wayland -env = GDK_BACKEND,wayland,x11 -env = SDL_VIDEODRIVER,wayland - -env = XCURSOR_SIZE,24 -env = HYPRCURSOR_SIZE,24 - -input { - kb_layout = us,us - kb_variant = ,colemak - follow_mouse = 1 - sensitivity = 0 - touchpad { - tap-to-click = false - } - repeat_delay = 300 - repeat_rate = 50 -} - -master { - new_status = slave - new_on_top = false - mfact = 0.50 -} - -decoration { - rounding = 0 - active_opacity = 1.0 - inactive_opacity = 1.0 - blur { - enabled = false - } -} - -animations { - enabled = false -} - -misc { - force_default_wallpaper = 0 - disable_hyprland_logo = true -} - -exec-once = dunst -exec-once = wl-paste --watch cliphist store -exec-once = hyprpaper -exec-once = hypridle -exec-once = hypr spawnfocus --ws 1 $TERMINAL -e mux -exec-once = hypr spawnfocus --ws 2 $BROWSER - -bindul = , XF86AudioRaiseVolume, exec, hypr volume up -bindul = , XF86AudioLowerVolume, exec, hypr volume down -bindul = , XF86AudioMute, exec, hypr volume toggle - -bindul = , XF86MonBrightnessUp, exec, hypr brightness up -bindul = , XF86MonBrightnessDown, exec, hypr brightness down - -bindu = ALT, SPACE, exec, rofi -show run -bindu = ALT, TAB, workspace, previous -bindu = ALT, A, cyclenext -bindu = ALT, B, exec, pkill -USR1 waybar || waybar -bindu = ALT, D, layoutmsg, swapprev -bindu = ALT, F, cyclenext, prev -bindu = ALT, H, resizeactive, -15 0 -bindu = ALT, J, resizeactive, 0 15 -bindu = ALT, K, resizeactive, 0 -15 -bindu = ALT, L, resizeactive, 15 0 -bindu = ALT, Q, killactive, -bindu = ALT, U, layoutmsg, swapnext - -bindu = ALT CTRL, B, exec, hypr pull bitwarden-desktop -bindu = ALT CTRL, C, exec, hypr pull $BROWSER -bindu = ALT CTRL, D, exec, hypr pull discord -bindu = ALT CTRL, S, exec, hypr pull signal-desktop -bindu = ALT CTRL, T, exec, hypr pull Telegram -bindu = ALT CTRL, V, exec, hypr pull vesktop -bindu = ALT CTRL, Y, exec, hypr pull sioyek - -bindu = ALT SHIFT, RETURN, exec, hypr spawnfocus --ws 1 $TERMINAL -bindu = ALT SHIFT, B, exec, hypr spawnfocus --ws 9 bitwarden-desktop -bindu = ALT SHIFT, C, exec, hypr spawnfocus --ws 2 $BROWSER --ozone-platform=wayland -bindu = ALT SHIFT, D, exec, hypr spawnfocus --ws 5 discord -bindu = ALT SHIFT, F, togglefloating -bindu = ALT SHIFT, G, exec, hypr pull $TERMINAL -bindu = ALT SHIFT, Q, exec, hypr exit -bindu = ALT SHIFT, R, exec, hyprctl reload && notify-send -u low 'hyprland reloaded' -bindu = ALT SHIFT, S, exec, hypr spawnfocus --ws 6 signal-desktop -bindu = ALT SHIFT, T, exec, hypr spawnfocus --ws 6 Telegram -bindu = ALT SHIFT, V, exec, hypr spawnfocus --ws 5 vesktop -bindu = ALT SHIFT, Y, exec, hypr spawnfocus --ws 3 sioyek - -bind = , XF86Tools, submap, scripts -submap = scripts - -bind = , A, exec, ctl audio out -bind = , C, exec, bash -lc 'cliphist list | rofi -dmenu -p "copy to clipboard" --lines 15 | cliphist decode | wl-copy' -bind = , F, exec, [float; fullscreen] ghostty -e lf -bind = , K, exec, ctl keyboard toggle -bind = , O, exec, ctl ocr -bind = , P, exec, hypr pull -bind = , S, exec, ctl screenshot -bind = , T, exec, theme - -bind = , catchall, submap, reset -submap = reset - -bindu = ALT, 1, workspace, 1 -bindu = ALT, 2, workspace, 2 -bindu = ALT, 3, workspace, 3 -bindu = ALT, 4, workspace, 4 -bindu = ALT, 5, workspace, 5 -bindu = ALT, 6, workspace, 6 -bindu = ALT, 7, workspace, 7 -bindu = ALT, 8, workspace, 8 -bindu = ALT, 9, workspace, 9 - -bindu = ALT SHIFT, 1, movetoworkspace, 1 -bindu = ALT SHIFT, 2, movetoworkspace, 2 -bindu = ALT SHIFT, 3, movetoworkspace, 3 -bindu = ALT SHIFT, 4, movetoworkspace, 4 -bindu = ALT SHIFT, 5, movetoworkspace, 5 -bindu = ALT SHIFT, 6, movetoworkspace, 6 -bindu = ALT SHIFT, 7, movetoworkspace, 7 -bindu = ALT SHIFT, 8, movetoworkspace, 8 -bindu = ALT SHIFT, 9, movetoworkspace, 9 - -bindu = ALT CTRL, 1, movetoworkspacesilent, 1 -bindu = ALT CTRL, 2, movetoworkspacesilent, 2 -bindu = ALT CTRL, 3, movetoworkspacesilent, 3 -bindu = ALT CTRL, 4, movetoworkspacesilent, 4 -bindu = ALT CTRL, 5, movetoworkspacesilent, 5 -bindu = ALT CTRL, 6, movetoworkspacesilent, 6 -bindu = ALT CTRL, 7, movetoworkspacesilent, 7 -bindu = ALT CTRL, 8, movetoworkspacesilent, 8 -bindu = ALT CTRL, 9, movetoworkspacesilent, 9 - -workspace = w[tv1], gapsout:0, gapsin:0 -workspace = f[1], gapsout:0, gapsin:0 -windowrule = match:float 0, match:workspace w[tv1], border_size 0 -windowrule = match:float 0, match:workspace w[tv1], rounding 0 -windowrule = match:float 0, match:workspace f[1], border_size 0 -windowrule = match:float 0, match:workspace f[1], rounding 0 - -windowrule = match:class ^(xdg-desktop-portal-gtk)$, float on -windowrule = match:class ^(xdg-desktop-portal-gtk)$, size monitor_w * 0.5 monitor_h * 0.6 -windowrule = match:class ^(xdg-desktop-portal-kde)$, float on -windowrule = match:class ^(xdg-desktop-portal-kde)$, size monitor_w * 0.5 monitor_h * 0.6 -windowrule = match:class ^(xdg-desktop-portal-hyprland)$, float on -windowrule = match:class ^(xdg-desktop-portal-hyprland)$, size monitor_w * 0.5 monitor_h * 0.6 diff --git a/config/hypr/nvidia.conf b/config/hypr/nvidia.conf deleted file mode 100644 index 497fd6d..0000000 --- a/config/hypr/nvidia.conf +++ /dev/null @@ -1,11 +0,0 @@ -env = LIBVA_DRIVER_NAME,nvidia -env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = NVD_BACKEND,direct -env = GBM_BACKEND,nvidia-drm -env = GSK_RENDERER,ngl -env = __NV_PRIME_RENDER_OFFLOAD,1 -env = __VK_LAYER_NV_optimus,NVIDIA_only - -cursor { - no_hardware_cursors = true -} diff --git a/home/modules/ui.nix b/home/modules/ui.nix index 091a955..94486f5 100644 --- a/home/modules/ui.nix +++ b/home/modules/ui.nix @@ -43,40 +43,201 @@ in (python3.withPackages (ps: [ ps.pillow ])) ]; - xdg.configFile."hypr/hyprland.conf".source = - config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/hypr/hyprland.conf"; - - xdg.configFile."hypr/nvidia.conf".source = - config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/hypr/nvidia.conf"; - - xdg.configFile."hypr/theme.conf".text = '' - general { - gaps_in = 0 - gaps_out = 0 - border_size = 5 - col.active_border = rgb(${builtins.substring 1 6 c.fg}) - col.inactive_border = rgb(${builtins.substring 1 6 c.bg}) - layout = master - resize_on_border = true - } - ''; - wayland.windowManager.hyprland = { enable = true; package = lib.mkIf (!isNixOS) null; portalPackage = lib.mkIf (!isNixOS) null; systemd.enable = isNixOS; - extraConfig = - '' - source = ~/.config/hypr/theme.conf - '' - + lib.optionalString nvidia '' - source = ~/.config/hypr/nvidia.conf - '' - + '' - source = ~/.config/hypr/hyprland.conf - ''; + extraConfig = '' + exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME + exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME + + monitor=,preferred,auto,1 + + env = XDG_CURRENT_DESKTOP,Hyprland + env = XDG_SESSION_TYPE,wayland + env = ELECTRON_OZONE_PLATFORM_HINT,wayland + env = GTK_USE_PORTAL,1 + env = OZONE_PLATFORM,wayland + env = QT_QPA_PLATFORM,wayland + env = GDK_BACKEND,wayland,x11 + env = SDL_VIDEODRIVER,wayland + '' + + lib.optionalString nvidia '' + env = LIBVA_DRIVER_NAME,nvidia + env = __GLX_VENDOR_LIBRARY_NAME,nvidia + env = NVD_BACKEND,direct + env = GBM_BACKEND,nvidia-drm + env = GSK_RENDERER,ngl + env = __NV_PRIME_RENDER_OFFLOAD,1 + env = __VK_LAYER_NV_optimus,NVIDIA_only + '' + + '' + + env = XCURSOR_SIZE,24 + env = HYPRCURSOR_SIZE,24 + '' + + lib.optionalString nvidia '' + cursor { + no_hardware_cursors = true + } + '' + + '' + + general { + gaps_in = 0 + gaps_out = 0 + border_size = 5 + col.active_border = rgb(${builtins.substring 1 6 c.fg}) + col.inactive_border = rgb(${builtins.substring 1 6 c.bg}) + layout = master + resize_on_border = true + } + + master { + new_status = slave + new_on_top = false + mfact = 0.50 + } + + decoration { + rounding = 0 + active_opacity = 1.0 + inactive_opacity = 1.0 + blur { + enabled = false + } + } + + animations { + enabled = false + } + + input { + kb_layout = us,us + kb_variant = ,colemak + follow_mouse = 1 + sensitivity = 0 + touchpad { + tap-to-click = false + } + repeat_delay = 300 + repeat_rate = 50 + } + + exec-once = dunst + exec-once = wl-paste --watch cliphist store + exec-once = hyprpaper + exec-once = hypridle + exec-once = hypr spawnfocus --ws 1 $TERMINAL -e mux + exec-once = hypr spawnfocus --ws 2 $BROWSER + + bindul = , XF86AudioRaiseVolume, exec, hypr volume up + bindul = , XF86AudioLowerVolume, exec, hypr volume down + bindul = , XF86AudioMute, exec, hypr volume toggle + + bindul = , XF86MonBrightnessUp, exec, hypr brightness up + bindul = , XF86MonBrightnessDown, exec, hypr brightness down + + bindu = ALT, SPACE, exec, rofi -show run + bindu = ALT, TAB, workspace, previous + bindu = ALT, A, cyclenext + bindu = ALT, B, exec, pkill -USR1 waybar || waybar + bindu = ALT, D, layoutmsg, swapprev + bindu = ALT, F, cyclenext, prev + bindu = ALT, H, resizeactive, -15 0 + bindu = ALT, J, resizeactive, 0 15 + bindu = ALT, K, resizeactive, 0 -15 + bindu = ALT, L, resizeactive, 15 0 + bindu = ALT, Q, killactive, + bindu = ALT, U, layoutmsg, swapnext + + bindu = ALT CTRL, B, exec, hypr pull bitwarden-desktop + bindu = ALT CTRL, C, exec, hypr pull $BROWSER + bindu = ALT CTRL, D, exec, hypr pull discord + bindu = ALT CTRL, S, exec, hypr pull signal-desktop + bindu = ALT CTRL, T, exec, hypr pull Telegram + bindu = ALT CTRL, V, exec, hypr pull vesktop + bindu = ALT CTRL, Y, exec, hypr pull sioyek + + bindu = ALT SHIFT, RETURN, exec, hypr spawnfocus --ws 1 $TERMINAL + bindu = ALT SHIFT, B, exec, hypr spawnfocus --ws 9 bitwarden-desktop + bindu = ALT SHIFT, C, exec, hypr spawnfocus --ws 2 $BROWSER --ozone-platform=wayland + bindu = ALT SHIFT, D, exec, hypr spawnfocus --ws 5 discord + bindu = ALT SHIFT, F, togglefloating + bindu = ALT SHIFT, G, exec, hypr pull $TERMINAL + bindu = ALT SHIFT, Q, exec, hypr exit + bindu = ALT SHIFT, R, exec, hyprctl reload && notify-send -u low 'hyprland reloaded' + bindu = ALT SHIFT, S, exec, hypr spawnfocus --ws 6 signal-desktop + bindu = ALT SHIFT, T, exec, hypr spawnfocus --ws 6 Telegram + bindu = ALT SHIFT, V, exec, hypr spawnfocus --ws 5 vesktop + bindu = ALT SHIFT, Y, exec, hypr spawnfocus --ws 3 sioyek + + bind = , XF86Tools, submap, scripts + submap = scripts + + bind = , A, exec, ctl audio out + bind = , C, exec, bash -lc 'cliphist list | rofi -dmenu -p "copy to clipboard" --lines 15 | cliphist decode | wl-copy' + bind = , F, exec, [float; fullscreen] ghostty -e lf + bind = , K, exec, ctl keyboard toggle + bind = , O, exec, ctl ocr + bind = , P, exec, hypr pull + bind = , S, exec, ctl screenshot + bind = , T, exec, theme + + bind = , catchall, submap, reset + submap = reset + + misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true + } + + bindu = ALT, 1, workspace, 1 + bindu = ALT, 2, workspace, 2 + bindu = ALT, 3, workspace, 3 + bindu = ALT, 4, workspace, 4 + bindu = ALT, 5, workspace, 5 + bindu = ALT, 6, workspace, 6 + bindu = ALT, 7, workspace, 7 + bindu = ALT, 8, workspace, 8 + bindu = ALT, 9, workspace, 9 + + bindu = ALT SHIFT, 1, movetoworkspace, 1 + bindu = ALT SHIFT, 2, movetoworkspace, 2 + bindu = ALT SHIFT, 3, movetoworkspace, 3 + bindu = ALT SHIFT, 4, movetoworkspace, 4 + bindu = ALT SHIFT, 5, movetoworkspace, 5 + bindu = ALT SHIFT, 6, movetoworkspace, 6 + bindu = ALT SHIFT, 7, movetoworkspace, 7 + bindu = ALT SHIFT, 8, movetoworkspace, 8 + bindu = ALT SHIFT, 9, movetoworkspace, 9 + + bindu = ALT CTRL, 1, movetoworkspacesilent, 1 + bindu = ALT CTRL, 2, movetoworkspacesilent, 2 + bindu = ALT CTRL, 3, movetoworkspacesilent, 3 + bindu = ALT CTRL, 4, movetoworkspacesilent, 4 + bindu = ALT CTRL, 5, movetoworkspacesilent, 5 + bindu = ALT CTRL, 6, movetoworkspacesilent, 6 + bindu = ALT CTRL, 7, movetoworkspacesilent, 7 + bindu = ALT CTRL, 8, movetoworkspacesilent, 8 + bindu = ALT CTRL, 9, movetoworkspacesilent, 9 + + workspace = w[tv1], gapsout:0, gapsin:0 + workspace = f[1], gapsout:0, gapsin:0 + windowrule = match:float 0, match:workspace w[tv1], border_size 0 + windowrule = match:float 0, match:workspace w[tv1], rounding 0 + windowrule = match:float 0, match:workspace f[1], border_size 0 + windowrule = match:float 0, match:workspace f[1], rounding 0 + + windowrule = match:class ^(xdg-desktop-portal-gtk)$, float on + windowrule = match:class ^(xdg-desktop-portal-gtk)$, size monitor_w * 0.5 monitor_h * 0.6 + windowrule = match:class ^(xdg-desktop-portal-kde)$, float on + windowrule = match:class ^(xdg-desktop-portal-kde)$, size monitor_w * 0.5 monitor_h * 0.6 + windowrule = match:class ^(xdg-desktop-portal-hyprland)$, float on + windowrule = match:class ^(xdg-desktop-portal-hyprland)$, size monitor_w * 0.5 monitor_h * 0.6 + ''; }; services.hypridle = {