configuration.nix/home/wm/hyprland/default.nix

242 lines
8.3 KiB
Nix
Raw Normal View History

2023-11-04 16:12:45 +05:30
{ config
, pkgs
, ...
}:
let
2023-04-05 22:39:22 +05:30
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
2023-11-26 21:22:54 +05:30
firefox = "${config.programs.firefox.finalPackage}/bin/firefox";
2023-11-09 20:55:23 +05:30
grimblast = "${pkgs.grimblast}/bin/grimblast";
2023-04-27 22:44:21 +05:30
hyprctl = "${pkgs.hyprland}/bin/hyprctl";
2023-04-07 21:10:13 +05:30
kitty = "${config.programs.kitty.package}/bin/kitty";
2023-04-05 22:39:22 +05:30
playerctl = "${pkgs.playerctl}/bin/playerctl";
2023-04-07 21:05:41 +05:30
rofi = "${config.programs.rofi.package}/bin/rofi";
2024-01-04 21:51:08 +05:30
spotify-player = "${pkgs.spotify-player}/bin/spotify_player";
2023-11-27 23:11:46 +05:30
swaylock = "${config.programs.swaylock.package}/bin/swaylock";
2023-04-08 14:57:55 +05:30
tmux = "${config.programs.tmux.package}/bin/tmux";
2023-04-05 22:39:22 +05:30
wpctl = "${pkgs.wireplumber}/bin/wpctl";
2023-11-09 20:55:23 +05:30
2023-11-09 20:32:13 +05:30
pictures = "${config.xdg.userDirs.pictures}";
2023-11-09 20:55:23 +05:30
change-wallpaper = "${pkgs.scripts}/bin/chpaper ${pictures}/Wallpapers";
wallhaven-wallpaper = "${pkgs.scripts}/bin/chpaper \$(${pkgs.scripts}/bin/wallhaven ${pictures}/Wallpapers)";
2023-11-04 16:12:45 +05:30
in
{
2023-11-09 20:32:13 +05:30
wayland.windowManager.hyprland = {
enable = true;
2024-02-18 15:32:45 +05:30
systemd = {
enable = true;
variables = [ "--all" ];
};
2023-11-09 20:32:13 +05:30
settings = {
general = {
border_size = 1;
"col.active_border" = "rgb(bd93f9)";
"col.inactive_border" = "rgba(44475aaa)";
"col.nogroup_border" = "rgba(282a36dd)";
"col.nogroup_border_active" = "rgb(bd93f9)";
gaps_in = 2;
gaps_out = 4;
layout = "master";
2023-04-28 00:32:07 +05:30
};
2023-11-09 20:55:23 +05:30
2023-11-09 20:32:13 +05:30
decoration = {
"col.shadow" = "rgba(1E202966)";
dim_around = 0.6;
drop_shadow = "yes";
rounding = 5;
shadow_range = 60;
shadow_offset = "1 2";
shadow_render_power = 3;
shadow_scale = 0.97;
};
monitor = [
"eDP-1, 1920x1080, 0x0, 1"
", preferred, auto, 1"
# ", preferred, auto, 1, mirror, eDP-1"
];
input = {
kb_layout = "us";
kb_options = "rupeesign:4";
kb_variant = "altgr-intl";
touchpad = {
clickfinger_behavior = true;
disable_while_typing = true;
natural_scroll = true;
tap-to-click = true;
};
};
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
master = {
new_is_master = true;
new_on_top = true;
mfact = 0.65;
};
animation = [
"windows,1,3,default,slide"
"fade,1,3,default"
"border,1,3,default"
"borderangle,1,3,default"
"workspaces,1,3,default,slide"
];
windowrulev2 = [
"bordercolor rgb(ff5555),xwayland:1"
"workspace 2,class:^(firefox)$,title:^(Mozilla Firefox)$"
"workspace 10,class:^(org.telegram.desktop)$"
"workspace 10,class:^(discord)$"
"workspace 10,class:^(fluffychat)$"
"float,class:^(firefox)$,title:^(Library)$"
"nofullscreenrequest,class:^(firefox)$,title:^(Firefox Sharing Indicator)$"
"float,class:^(firefox)$,title:^(Firefox Sharing Indicator)$"
"move 95% 50%,class:^(firefox)$,title:^(Firefox Sharing Indicator)$"
"float,class:^(pavucontrol)$,title:^(Volume Control)$"
"size 50% 50%,class:^(pavucontrol)$,title:^(Volume Control)$"
"center,class:^(pavucontrol)$,title:^(Volume Control)$"
"float,class:^(.blueman-manager-wrapped)$"
"size 50% 50%,class:^(.blueman-manager-wrapped)$"
"center,class:^(.blueman-manager-wrapped)$"
"float,class:^(ytfzf)$"
"size 90% 90%,class:^(ytfzf)$"
"center,class:^(ytfzf)$"
"float,class:^(mpv)$"
"size 90% 90%,class:^(mpv)$"
"center,class:^(mpv)$"
"dimaround,class:^(mpv)$"
"float,class:^(eog)$"
"size 90% 90%,class:^(eog)$"
"center,class:^(eog)$"
"dimaround,class:^(eog)$"
"float,class:^(org.gnome.Nautilus)$"
"center,class:^(org.gnome.Nautilus)$"
"size 60% 60%,class:^(org.gnome.Nautilus)$"
"float,class:^(gnome-system-monitor)$"
"center,class:^(gnome-system-monitor)$"
"size 60% 50%,class:^(gnome-system-monitor)$"
"float,class:^(virt-manager)$"
"size 25% 50%,class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
"move 5%% 10%,class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
"float,class:^(.yubioath-flutter-wrapped_)$"
"center,class:^(.yubioath-flutter-wrapped_)$"
"float,class:^(yubico.org.)$"
"center,class:^(yubico.org.)$"
"float,class:^(Bitwarden)$"
"center,class:^(Bitwarden)$"
2023-11-25 18:32:34 +05:30
"float,class:lutris"
"center,class:lutris"
2023-11-26 22:15:17 +05:30
"size 60% 60%,class:lutris"
2023-11-25 18:29:15 +05:30
2024-01-04 21:51:26 +05:30
"float,class:^(Waydroid)$"
"float,class:^(waydroid.+)$"
2023-11-09 20:32:13 +05:30
"dimaround,class:^(gcr-prompter)$"
];
exec-once = [
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
"${hyprctl} setcursor ${config.gtk.cursorTheme.name} 24"
"${change-wallpaper}"
];
bindm = [
"SUPER,mouse:272, movewindow"
"SUPER_SHIFT,mouse:272, resizewindow"
];
bind = [
"SUPER_SHIFT,Q, killactive,"
"SUPER_SHIFT,space, togglefloating,active"
"SUPER_SHIFT,space, centerwindow"
"SUPER_SHIFT,F, fullscreen,0"
"SUPER_ALT,F, fakefullscreen"
"SUPER_SHIFT,C, exec, ${hyprctl} reload"
"SUPER_SHIFT,C, exec, systemctl --user restart swayidle.service"
"SUPER_SHIFT,C, exec, systemctl --user restart kanshi.service"
"SUPER_SHIFT,C, exec, systemctl --user reload waybar.service"
2023-11-09 21:23:26 +05:30
2023-11-09 20:32:13 +05:30
"SUPER,Return, exec, ${kitty} ${tmux} new"
"SUPER_SHIFT,Return, exec, ${kitty}"
"SUPER,d, exec, ${rofi} -show drun"
2023-11-09 21:36:56 +05:30
"SUPER,i, exec, ${firefox}"
"SUPER_SHIFT,i, exec, ${firefox} --private-window"
2023-11-09 21:23:26 +05:30
2023-11-09 20:32:13 +05:30
"SUPER_SHIFT,escape, exec, ${pkgs.scripts}/bin/power-menu"
"SUPER,f11, exec, ${pkgs.scripts}/bin/tmux-sessions"
"SUPER_SHIFT,y, exec, ${pkgs.scripts}/bin/youtube"
"SUPER_SHIFT,b, exec, ${pkgs.rofi-bluetooth}/bin/rofi-bluetooth"
2024-01-04 21:51:08 +05:30
"SUPER_SHIFT,s, exec, ${kitty} ${spotify-player}"
2023-11-09 20:32:13 +05:30
"SUPER,escape, exec, ${swaylock} -f -i /tmp/wallpaper.jpg"
2023-11-09 21:23:26 +05:30
"SUPER_SHIFT,W, exec, ${change-wallpaper}"
"SUPER_ALT,W, exec, ${wallhaven-wallpaper}"
2023-11-09 20:32:13 +05:30
"SUPER,1, workspace, 1"
"SUPER,2, workspace, 2"
"SUPER,3, workspace, 3"
"SUPER,4, workspace, 4"
"SUPER,5, workspace, 5"
"SUPER,6, workspace, 6"
"SUPER,7, workspace, 7"
"SUPER,8, workspace, 8"
"SUPER,9, workspace, 9"
"SUPER,0, workspace, 10"
"SUPER_SHIFT,1, movetoworkspace, 1"
"SUPER_SHIFT,2, movetoworkspace, 2"
"SUPER_SHIFT,3, movetoworkspace, 3"
"SUPER_SHIFT,4, movetoworkspace, 4"
"SUPER_SHIFT,5, movetoworkspace, 5"
"SUPER_SHIFT,6, movetoworkspace, 6"
"SUPER_SHIFT,7, movetoworkspace, 7"
"SUPER_SHIFT,8, movetoworkspace, 8"
"SUPER_SHIFT,9, movetoworkspace, 9"
"SUPER_SHIFT,0, movetoworkspace, 10"
"SUPER,l, layoutmsg,cyclenext"
"SUPER,h, layoutmsg,cycleprev"
"SUPER,m, layoutmsg,focusmaster"
"SUPER_SHIFT,m, layoutmsg,swapwithmaster"
",XF86AudioMute, exec, ${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"
",XF86AudioPlay, exec, ${playerctl} play-pause"
",XF86AudioNext, exec, ${playerctl} next"
",XF86AudioPrev, exec, ${playerctl} previous"
];
bindr = [
2023-11-09 20:55:23 +05:30
",print, exec, XDG_SCREENSHOTS_DIR=${pictures}/Screenshots ${grimblast} --notify save screen"
"SHIFT,print, exec, XDG_SCREENSHOTS_DIR=${pictures}/Screenshots ${grimblast} --notify --freeze save area"
2023-11-09 20:32:13 +05:30
];
binde = [
",XF86MonBrightnessUp, exec, ${brightnessctl} set +5%"
",XF86MonBrightnessDown, exec, ${brightnessctl} set 5%-"
",XF86AudioRaiseVolume, exec, ${wpctl} set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
",XF86AudioLowerVolume, exec, ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%-"
];
2023-04-28 00:32:07 +05:30
};
};
2023-04-05 22:39:22 +05:30
}