114 lines
3.2 KiB
Nix
114 lines
3.2 KiB
Nix
{
|
|
config,
|
|
flakePath,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (pkgs.stdenv.hostPlatform) isLinux;
|
|
nvidiaPrefix = "GDM_BACKEND=nvidia-drm LIBVA_DRIVER_NAME=nvidia __GLX_VENDOR_LIBRARY_NAME=nvidia WLR_NO_HARDWARE_CURSORS=1";
|
|
waylandPrefix = "XDG_SESSION_TYPE=wayland NIXOS_OZONE_WL=1";
|
|
in {
|
|
home.shellAliases = lib.mkIf isLinux {
|
|
"Hyprland" = "${nvidiaPrefix} ${waylandPrefix} Hyprland";
|
|
"sway" = "${nvidiaPrefix} ${waylandPrefix} sway";
|
|
};
|
|
wayland = lib.mkIf isLinux {
|
|
windowManager = {
|
|
sway = {
|
|
enable = true;
|
|
extraOptions = ["--unsupported-gpu"];
|
|
config = {
|
|
modifier = "Mod4";
|
|
keybindings = let
|
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
|
in
|
|
lib.mkOptionDefault {
|
|
"${modifier}+Shift+Return" = "exec ${lib.getExe pkgs.wezterm}-gui";
|
|
"${modifier}+Shift+q" = "kill";
|
|
"${modifier}+space" = "exec ${lib.getExe pkgs.rofi-wayland} -show drun";
|
|
};
|
|
};
|
|
};
|
|
hyprland = {
|
|
enable = true;
|
|
nvidiaPatches = true;
|
|
xwayland = {
|
|
enable = true;
|
|
hidpi = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
xdg = lib.mkIf isLinux {
|
|
configFile."hypr/hyprland.conf".text = ''
|
|
monitor = ,5120x2160@72,0x0,1.5
|
|
|
|
input:follow_mouse = 1
|
|
|
|
general {
|
|
gaps_in = 0
|
|
gaps_out = 0
|
|
border_size = 2
|
|
no_cursor_warps = true
|
|
col.active_border = 0xfff5c2e7
|
|
col.inactive_border = 0x80cba6f7
|
|
}
|
|
|
|
decoration {
|
|
rounding = 0
|
|
blur = 0
|
|
}
|
|
|
|
animations {
|
|
enabled = 1
|
|
animation = workspaces,1,1,default,slide
|
|
}
|
|
|
|
misc {
|
|
disable_hyprland_logo = true
|
|
disable_splash_rendering = true
|
|
}
|
|
|
|
bind = SUPER_SHIFT,return,exec,wezterm
|
|
bind = SUPER_SHIFT,q,killactive,
|
|
bind = SUPER_SHIFT,M,exit,
|
|
bind = SUPER_SHIFT,d,togglefloating,
|
|
bind = SUPER,space,exec,rofi -show drun
|
|
|
|
bind = SUPER_CTRL,l,movefocus,l
|
|
bind = SUPER_CTRL,h,movefocus,r
|
|
bind = SUPER_CTRL,k,movefocus,u
|
|
bind = SUPER_CTRL,j,movefocus,d
|
|
bind = SUPER_SHIFT,h,movewindow,l
|
|
bind = SUPER_SHIFT,l,movewindow,r
|
|
bind = SUPER_SHIFT,j,movewindow,u
|
|
bind = SUPER_SHIFT,k,movewindow,d
|
|
|
|
bind = SUPER_CTRL,1,workspace,1
|
|
bind = SUPER_CTRL,2,workspace,2
|
|
bind = SUPER_CTRL,3,workspace,3
|
|
bind = SUPER_CTRL,4,workspace,4
|
|
bind = SUPER_CTRL,5,workspace,5
|
|
bind = SUPER_CTRL,6,workspace,6
|
|
bind = SUPER_CTRL,7,workspace,7
|
|
bind = SUPER_CTRL,8,workspace,8
|
|
bind = SUPER_CTRL,9,workspace,9
|
|
bind = SUPER_CTRL,0,workspace,10
|
|
|
|
bind = SUPER_SHIFT,1,movetoworkspace,1
|
|
bind = SUPER_SHIFT,2,movetoworkspace,2
|
|
bind = SUPER_SHIFT,3,movetoworkspace,3
|
|
bind = SUPER_SHIFT,4,movetoworkspace,4
|
|
bind = SUPER_SHIFT,5,movetoworkspace,5
|
|
bind = SUPER_SHIFT,6,movetoworkspace,6
|
|
bind = SUPER_SHIFT,7,movetoworkspace,7
|
|
bind = SUPER_SHIFT,8,movetoworkspace,8
|
|
bind = SUPER_SHIFT,9,movetoworkspace,9
|
|
bind = SUPER_SHIFT,0,movetoworkspace,10
|
|
|
|
bindm = SUPER,mouse:272,movewindow
|
|
bindm = SUPER,mouse:273,resizewindow
|
|
'';
|
|
};
|
|
}
|