{ config, pkgs, lib, ...}: { options.speccon18.desktop.hyprland.enable = lib.mkEnableOption "enables specs custom hyprland setup"; config = lib.mkIf config.speccon18.desktop.hyprland.enable { programs.hyprland = { enable = true; nvidiaPatches = true; xwayland.enable = true; }; environment = { systemPackages = with pkgs; [ # libsForQt5.polkit-kde-agent libsForQt5.qt5.qtwayland qt6.full qt6.qtwayland waybar swww pw-volume rofi-wayland libnotify mako hyprland font-awesome brightnessctl grim slurp wl-clipboard ]; sessionVariables = { #Enable Wayland WLR_NO_HARDWARE_CURSORS = "1"; NIXOS_OZONE_WL = "1"; MOZ_ENABLE_WAYLAND = "1"; GTK_USE_PORTAL = "1"; NIXOS_XDG_OPEN_USE_PORTAL = "1"; SDL_VIDEODRIVER = "wayland"; # XDG_Config XDG_CURRENT_DESKTOP = "Hyprland"; XDG_SESSION_DESKTOP = "Hyprland"; XDG_SESSION_TYPE = "wayland"; XDG_CACHE_HOME = "\${HOME}/.cache"; XDG_CONFIG_HOME = "\${HOME}/.config"; XDG_BIN_HOME = "\${HOME}/.local/bin"; XDG_DATA_HOME = "\${HOME}/.local/share"; #Default Applications BROWSER = "firefox"; TERMINAL = "alacritty"; }; }; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-hyprland ]; }; hardware = { opengl.enable = true; nvidia.modesetting.enable = true; }; # wayland.windowManager.hyprland = { # # systemdIntegration = true; # enable = true; # extraConfig = '' # $mainMod = SUPER # # Application Lauch Keybinds # bind = $mainMod, Return, exec, alacritty # bind = $mainMod, W, exec, firefox # bind = $mainMod, R, exec, rofi -show drun # # 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 # bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png # # Startup Runners # exec-once=systemctl --user start waybar.service # exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # exec-once=mako # exec-once = swww init # monitor=,highres,auto,1 # ''; # }; # options.speccon18.home_manager.rofi.enable = lib.mkEnableOption "enable specs custom rofi config for hyprland"; # config = lib.mkIf config.speccon18.home_manager.rofi.enable { # programs.rofi = { # enable = true; # theme = "android_notification"; # location = "top-left"; # }; # }; }; }