Files
nixos-config/home/desktops/hyprland/default.nix
2024-08-15 17:31:55 -03:00

109 lines
2.6 KiB
Nix

{pkgs, ...}: {
wayland.windowManager.hyprland = {
# Whether to enable Hyprland wayland compositor
enable = true;
# The hyprland package to use
package = pkgs.hyprland;
# Whether to enable XWayland
xwayland.enable = true;
plugins = [
pkgs.hyprlandPlugins.hyprspace
];
# Optional
# Whether to enable hyprland-session.target on hyprland startup
systemd.enable = true;
settings = {
xwayland = {
force_zero_scaling = true;
};
"$mainMod" = "SUPER";
"$terminal" = "kitty";
"$fileManager" = "dolphin";
"$browser" = "firefox";
"$editor" = "codium";
exec-once = [
# run once on startup
];
bind = [
# Manage Windows
"$mainMod, Tab, exec, pypr expose"
# Launch Bindings
"$mainMod, Enter, exec, rofi -show drun"
"$mainMod, T, exec, $terminal"
"$mainMod, B, exec, $browser"
"$mainMod, C, exec, $editor"
"$mainMod, Q, killactive,"
"$mainMod, M, exit,"
"$mainMod, F, exec, $fileManager"
"$mainMod, W, togglefloating,"
# Volume and Media Controls
", XF86AudioRaiseVolume, exec, pamixer -i 5"
", XF86AudioLowerVolume, exec, pamixer -d 5"
", XF86AudioMicMute, exec, pamixer --default-source -m"
", XF86AudioMute, exec, pamixer -t"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioPause, exec, playerctl play-pause"
", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous"
# Brightness
", XF86MonBrightnessUp, exec, brightnessctl s +5%"
", XF86MonBrightnessDown, exec, brightnessctl s 5%-"
];
bindm = [
# mouse movements
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
input = {
touchpad = {
natural_scroll = true;
};
};
gestures = {
"workspace_swipe" = true;
"workspace_swipe_fingers" = 3;
};
workspace = ["special:exposed,gapsout:60,gapsin:30,bordersize:5,border:true,shadow:false"];
};
};
programs.ags = {
enable = true;
# null or path, leave as null if you don't want hm to manage the config
configDir = ./ags;
# additional packages to add to gjs's runtime
extraPackages = with pkgs; [
gtksourceview
webkitgtk
accountsservice
];
};
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
};
programs.kitty = {
enable = true;
package = pkgs.kitty;
};
home.packages = with pkgs; [
brightnessctl
];
}