Reworked home manager configuration to modules
This commit is contained in:
214
modules/home/desktop-environments/hyprland/default.nix
Normal file
214
modules/home/desktop-environments/hyprland/default.nix
Normal file
@@ -0,0 +1,214 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.desktop-environments.hyprland;
|
||||
in {
|
||||
options = {
|
||||
settings.desktop-environments.hyprland.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = ''
|
||||
Enable hyprland window manager configuration
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
./waybar.nix
|
||||
./fixes.nix
|
||||
./dunst.nix
|
||||
./rofi.nix
|
||||
];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
home.packages = with pkgs; [
|
||||
alacritty
|
||||
wev
|
||||
brightnessctl
|
||||
playerctl
|
||||
wl-clipboard
|
||||
grimblast
|
||||
nwg-bar
|
||||
powertop
|
||||
lxqt.lxqt-policykit
|
||||
|
||||
networkmanagerapplet
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
monitor = lib.mkIf (config.host == "xv-laptop") [
|
||||
"eDP-1,preferred,3840x0,1.333"
|
||||
"DP-10,preferred,0x0,1"
|
||||
"DP-9,preferred,1920x0,1"
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"lxqt-policykit-agent"
|
||||
"nm-applet"
|
||||
"blueman-applet"
|
||||
];
|
||||
|
||||
env = lib.mkIf (config.host == "xv-desktop") [
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"GBM_BACKEND,nvidia-drm"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
];
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
input = {
|
||||
follow_mouse = 2;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.5;
|
||||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = "5";
|
||||
gaps_out = "10";
|
||||
border_size = "2";
|
||||
|
||||
"col.active_border" = "rgba(00bfffee) rgba(36b7e2ee) 45deg";
|
||||
"col.inactive_border" = "rgba(0a3543aa)";
|
||||
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = "5";
|
||||
blur.enabled = "false";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = "on";
|
||||
workspace_swipe_distance = "200";
|
||||
};
|
||||
|
||||
misc = {
|
||||
vfr = "true";
|
||||
vrr = 2;
|
||||
force_default_wallpaper = "0";
|
||||
};
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
|
||||
workspace = lib.mkMerge [[
|
||||
|
||||
]
|
||||
(lib.mkIf (config.host == "xv-desktop") [
|
||||
"1, monitor:DP-1"
|
||||
"2, monitor:DP-1"
|
||||
"3, monitor:DP-1"
|
||||
"4, monitor:DP-1"
|
||||
"5, monitor:DP-1"
|
||||
"6, monitor:HDMI-A-1"
|
||||
"7, monitor:HDMI-A-1"
|
||||
"8, monitor:HDMI-A-1"
|
||||
"9, monitor:HDMI-A-1"
|
||||
"10, monitor:HDMI-A-1"
|
||||
])
|
||||
(lib.mkIf (config.host == "xv-laptop") [
|
||||
"1, monitor:DP-10"
|
||||
"2, monitor:DP-10"
|
||||
"3, monitor:DP-10"
|
||||
"4, monitor:DP-10"
|
||||
"5, monitor:DP-9"
|
||||
"6, monitor:DP-9"
|
||||
"7, monitor:DP-9"
|
||||
"8, monitor:eDP-1"
|
||||
"9, monitor:eDP-1"
|
||||
"10, monitor:eDP-1"
|
||||
])];
|
||||
|
||||
bind = [
|
||||
"$mod, Q, exec, alacritty"
|
||||
"$mod, SPACE, exec, rofi -show drun"
|
||||
",Print, exec, grimblast copy area"
|
||||
"$mod,ESCAPE, exec, nwg-bar"
|
||||
"$mod, P, exit"
|
||||
|
||||
"$mod, C, killactive"
|
||||
"$mod SHIFT, C, exec, hyprctl kill"
|
||||
"$mod, V, togglefloating"
|
||||
"$mod, F, fullscreen, 0"
|
||||
"$mod, M, fullscreen, 1"
|
||||
"$mod SHIFT, L, exec, hyprlock"
|
||||
"$mod, S, exec, systemctl suspend"
|
||||
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, j, movefocus, d"
|
||||
|
||||
"$mod SHIFT, h, movewindow, l"
|
||||
"$mod SHIFT, l, movewindow, r"
|
||||
"$mod SHIFT, k, movewindow, u"
|
||||
"$mod SHIFT, j, movewindow, d"
|
||||
|
||||
"$mod ALT, h, resizeactive, -20 0"
|
||||
"$mod ALT, l, resizeactive, 20 0"
|
||||
"$mod ALT, k, resizeactive, 0 -20"
|
||||
"$mod ALT, j, resizeactive, 0 20"
|
||||
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
];
|
||||
|
||||
bindle = [
|
||||
# Volume control
|
||||
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
|
||||
# Brightness control
|
||||
",XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
||||
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||
];
|
||||
|
||||
bindl= [
|
||||
# Toggle audio mute
|
||||
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
|
||||
# Media control
|
||||
",XF86AudioPlay, exec, playerctl play-pause"
|
||||
",XF86AudioNext, exec, playerctl next"
|
||||
",XF86AudioPrev, exec, playerctl previous"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user