diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index 62b7cd7..693d878 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -3,42 +3,26 @@ { programs.kitty.enable = true; wayland.windowManager.hyprland = { + inherit package; enable = true; - package = null; - portalPackage = null; systemd.variables = [ "--all" ]; plugins = [ - inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars + #inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars ]; }; home.sessionVariables.NIXOS_OZONE_WL = "1"; wayland.windowManager.hyprland.settings = { - "$mod" = "SUPER"; - "$terminal" = "kitty"; - "$filemanager" = "dolphin"; - - bind = [ - "$mod, F, exec, firefox" - "$mod, Q, exec, $terminal" - "$mod, C, killactive, " - "$mod, M, exit, " - "$mod, V, togglefloating, " - "$mod, R, exec, $menu" - "$mod, S, exec, $power" - "$mod, P, pseudo, " - "$mod, J, togglesplit, " - ] ++ ( - # workspaces - # binds $mod + [shift +] {1..9} to [move to] workspace {1..9} - builtins.concatLists (builtins.genList (i: - let ws = i + 1; - in [ - "$mod, code:1${toString i}, workspace, ${toString ws}" - "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" - ] - ) - 9) - ); + env = [ + "NIXOS_OZONE_WL,1" + "MOZ_ENABLE_WAYLAND,1" + "MOZ_WEBRENDER,1" + "_JAVA_AWT_WM_NONREPARENTING,1" + "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" + "QT_QPA_PLATFORM,wayland" + "SDL_VIDEODRIVER,wayland" + "GDK_BACKEND,wayland" + ]; + extraConfig = builtins.readFile ./hyprland.conf; }; } diff --git a/home/hyprland/hyprland.conf b/home/hyprland/hyprland.conf new file mode 100644 index 0000000..1257a32 --- /dev/null +++ b/home/hyprland/hyprland.conf @@ -0,0 +1,211 @@ + +# ####################################################################################### +# AUTOGENERATED HYPR CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# ####################################################################################### + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor= DP-1, 1920x1080@60, 1920x0, 1 +monitor= HDMI-A-2, 1920x1080@60, 0x0, 1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +#$menu = wofi --show drun +#$menu = rofi -show drun -theme cyper -icon-theme "Papirus" -show-icons +$menu = ~/.config/rofi/launchers/type-3/launcher.sh +$power = ~/.config/rofi/powermenu/type-6/powermenu.sh + +# Some default env vars +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = de + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + numlock_by_default = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 to 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 0 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, S, exec, $power +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +#bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Multi Media Control +bindle=, XF86AudioRaiseVolume, exec, vol --up +bindle=, XF86AudioLowerVolume, exec, vol --down +bindle=, XF86MonBrightnessUp, exec, bri --up +bindle=, XF86MonBrightnessDown, exec, bri --down +bindle=, XF86Search, exec, $menu +#bindl=, XF86AudioMute, exec, amixer set Master toggle +bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindl=, XF86AudioPlay, exec, playerctl play-pause # the stupid key is called play , but it toggles +bindl=, XF86AudioNext, exec, playerctl next +bindl=, XF86AudioPrev, exec, playerctl previous + +# Screenshot +bind = $mainMod, Z, exec, grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%s_grim.png') + +source=~/.config/hypr/theme.conf +source=~/.config/hypr/startup.conf diff --git a/home/hyprland/hyprpaper.conf b/home/hyprland/hyprpaper.conf new file mode 100644 index 0000000..6f6513f --- /dev/null +++ b/home/hyprland/hyprpaper.conf @@ -0,0 +1,6 @@ +preload = /home/phil/.config/hypr/wallpapers/lucy.jpg +preload = /home/phil/.config/hypr/wallpapers/girl.png + +wallpaper = DP-1, /home/phil/.config/hypr/wallpapers/lucy.jpg +wallpaper = HDMI-A-2, /home/phil/.config/hypr/wallpapers/girl.png + diff --git a/home/hyprland/startup.conf b/home/hyprland/startup.conf new file mode 100644 index 0000000..70a2bba --- /dev/null +++ b/home/hyprland/startup.conf @@ -0,0 +1,2 @@ +exec-once = firefox +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/home/hyprland/theme.conf b/home/hyprland/theme.conf new file mode 100644 index 0000000..dea6b44 --- /dev/null +++ b/home/hyprland/theme.conf @@ -0,0 +1,43 @@ +$THEME_DIR=$HOME/.config/hypr/themes/cyber + +monitor=,addreserved,0,0,0,0 +#monitor= HDMI-A-2,addreserved,50,0,150,0 + +exec-once=waybar +exec-once=hyprpaper + +general { + border_size=4 + col.active_border=0xFFF887FF + col.inactive_border=0xFFDE004E + gaps_in=8 + gaps_out=16 +} + +decoration { + rounding=12 + drop_shadow=1 + + shadow_range=16 + shadow_render_power=4 + shadow_ignore_window=1 + shadow_offset= 0 0 + col.shadow=0xFFF887FF + col.shadow_inactive=0xFFDE004E + #screen_shader=/home/taylor/.config/hypr/crt.frag + blur { + enabled=1 + size=1 + passes=3 + new_optimizations=1 + noise=0.04 + } +} + +layerrule=blur,gtk-layer-shell +layerrule=ignorezero,gtk-layer-shell +layerrule=blur,notifications +layerrule=ignorezero,notifications +layerrule=blur,rofi +layerrule=ignorezero,rofi + diff --git a/home/hyprland/wallpapers/girl.png b/home/hyprland/wallpapers/girl.png new file mode 100644 index 0000000..bffdb87 Binary files /dev/null and b/home/hyprland/wallpapers/girl.png differ diff --git a/home/hyprland/wallpapers/lucy.jpg b/home/hyprland/wallpapers/lucy.jpg new file mode 100644 index 0000000..135c856 Binary files /dev/null and b/home/hyprland/wallpapers/lucy.jpg differ