84 lines
2.1 KiB
Nix
84 lines
2.1 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
options = {
|
|
window_manager = {
|
|
hyprland= {
|
|
enable = lib.mkEnableOption "enable hyprland";
|
|
monitors = lib.mkOption {
|
|
default = [
|
|
",preferred,auto,1"
|
|
];
|
|
description = ''declare monitors'';
|
|
};
|
|
numlock = lib.mkEnableOption "numlock by default";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.window_manager.hyprland.enable {
|
|
xdg.portal = {
|
|
enable = true;
|
|
configPackages = [ pkgs.xdg-desktop-portal-hyprland ];
|
|
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
|
};
|
|
programs = {
|
|
hyprlock = {
|
|
enable = true;
|
|
};
|
|
};
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
settings = {
|
|
monitor = config.window_manager.hyprland.monitors;
|
|
exec-once = [
|
|
(lib.mkIf (config.window_manager.walker.enable) "elephant")
|
|
(lib.mkIf (config.window_manager.waybar.enable) "waybar")
|
|
(lib.mkIf (config.window_manager.wallpaper.enable) "waypaper --restore --random")
|
|
];
|
|
"$mod" = "SUPER";
|
|
"$shiftmod" = "SUPER_SHIFT";
|
|
bind = [
|
|
(lib.mkIf (config.window_manager.walker.enable) "$mod, D, exec, walker")
|
|
(lib.mkIf (config.terminal.kitty.enable) "$mod, return, exec, kitty")
|
|
"$shiftmod, Q, killactive,"
|
|
];
|
|
input = {
|
|
kb_layout = "de";
|
|
numlock_by_default = config.window_manager.hyprland.numlock;
|
|
follow_mouse = 2;
|
|
mouse_refocus = false;
|
|
accel_profile = "flat";
|
|
sensitivity = 0.2;
|
|
touchpad = {
|
|
natural_scroll = "no";
|
|
disable_while_typing = true;
|
|
};
|
|
};
|
|
cursor = {
|
|
inactive_timeout = 0;
|
|
no_warps = true;
|
|
};
|
|
decoration = {
|
|
rounding = 20;
|
|
blur = {
|
|
enabled = true;
|
|
size = 3;
|
|
passes = 1;
|
|
};
|
|
shadow = {
|
|
range = 4;
|
|
render_power = 3;
|
|
color = "rgba(1a1a1aee)";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
};
|
|
}
|