109 lines
3.1 KiB
Nix
109 lines
3.1 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
imports = [./autostart.nix ./binds.nix];
|
|
home.packages = [
|
|
inputs.hyprwm-contrib.packages.${pkgs.system}.grimblast
|
|
# disable unused panels - https://github.com/maydayv7/dotfiles/blob/4de45008a6915753834aa7e1cbafbacfff8b7adc/modules/gui/desktop/hyprland/apps/utilities.nix#L42-L57
|
|
(pkgs.gnome-control-center.overrideAttrs (old: {
|
|
postInstall =
|
|
old.postInstall
|
|
+ ''
|
|
dir=$out/share/applications
|
|
for panel in $dir/*
|
|
do
|
|
[ "$panel" = "$dir/gnome-network-panel.desktop" ] && continue
|
|
[ "$panel" = "$dir/gnome-bluetooth-panel.desktop" ] && continue
|
|
[ "$panel" = "$dir/gnome-wifi-panel.desktop" ] && continue
|
|
[ "$panel" = "$dir/gnome-wwan-panel.desktop" ] && continue
|
|
[ "$panel" = "$dir/gnome-sharing-panel.desktop" ] && continue
|
|
[ "$panel" = "$dir/gnome-wacom-panel.desktop" ] && continue
|
|
rm "$panel"
|
|
done
|
|
'';
|
|
}))
|
|
];
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
|
|
systemd.enable = false;
|
|
|
|
settings = {
|
|
xwayland = {
|
|
force_zero_scaling = true;
|
|
};
|
|
|
|
env = [
|
|
"GDK_SCALE,1"
|
|
];
|
|
monitor = [
|
|
"eDP-1, preferred, auto, 1.33"
|
|
];
|
|
workspace = [
|
|
"special:terminal, on-created-empty:foot"
|
|
"special:mixer_gui, on-created-empty:pavucontrol"
|
|
"special:file_manager_gui, on-created-empty:nautilus"
|
|
"special:file_manager_tui, on-created-empty:foot -- yazi"
|
|
];
|
|
|
|
windowrulev2 = [
|
|
# fixes fullscreen windows (mostly games)
|
|
"stayfocused, initialtitle:^()$, initialclass:^(steam)$"
|
|
"minsize 1 1, initialtitle:^()$, initialclass:^(steam)$"
|
|
"maximize, initialtitle:^(\S+)$, initialclass:^(steamwebhelper)$"
|
|
|
|
"immediate, initialclass:^(steam_app_)(.*)$"
|
|
"fullscreen, initialclass:^(steam_app_)(.*)$"
|
|
|
|
# inhibit idle on every fullscreen app except games
|
|
"idleinhibit always, fullscreen:1,!initialclass:^(steam_app_)(.*)$"
|
|
];
|
|
|
|
render = {
|
|
explicit_sync = 1;
|
|
explicit_sync_kms = 1;
|
|
expand_undersized_textures = false;
|
|
};
|
|
|
|
animations = {
|
|
enabled = true;
|
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.1";
|
|
animation = [
|
|
"windows, 1, 5, myBezier"
|
|
"windowsOut, 1, 5, default, popin 80%"
|
|
"windowsMove, 1, 5, default, popin 80%"
|
|
"fade, 1, 5, default"
|
|
"border, 1, 5, default"
|
|
"borderangle, 0, 8, default"
|
|
"workspaces, 0"
|
|
"specialWorkspace, 0"
|
|
];
|
|
};
|
|
|
|
input = {
|
|
kb_options = "compose:ralt";
|
|
touchpad = {
|
|
natural_scroll = true;
|
|
scroll_factor = 0.8;
|
|
tap-to-click = true;
|
|
clickfinger_behavior = true;
|
|
};
|
|
};
|
|
|
|
gestures = {
|
|
workspace_swipe = true;
|
|
workspace_swipe_direction_lock = false;
|
|
workspace_swipe_cancel_ratio = 0.15;
|
|
};
|
|
|
|
misc = {
|
|
force_default_wallpaper = 0;
|
|
disable_hyprland_logo = true;
|
|
middle_click_paste = false;
|
|
};
|
|
};
|
|
};
|
|
}
|