113 lines
3.8 KiB
Nix
113 lines
3.8 KiB
Nix
{ 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";
|
|
# };
|
|
# };
|
|
};
|
|
}
|