add hyprland config

This commit is contained in:
willifan 2024-05-12 17:57:47 +02:00
parent 54fc236acc
commit e97057cd66
4 changed files with 261 additions and 6 deletions

View File

@ -11,7 +11,6 @@
nixpkgs.config.allowUnfree = true;
services.hardware.bolt.enable = true;
services.fprintd.enable = true;
programs.hyprland.enable = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = "23.11";
}

View File

@ -2,9 +2,6 @@
{
environment.systemPackages = with pkgs; [
hyprlock
hypridle
hyprpaper
hyprcursor
grim
slurp

View File

@ -3,7 +3,7 @@
{
imports = [
./hypridle.nix
#./hyprland.nix
./hyprland.nix
./hyprlock.nix
./hyprpaper.nix
#./kanshi.nix

View File

@ -5,7 +5,266 @@
enable = true;
settings = {
misc = {
disable_hyprland_logo=true;
};
monitor = [
", preffered, auto, 1"
"eDP-1, preferred, 0x0, 1.6"
];
# Execute your favorite apps at launch
exec-once = [
''kanshi & hyprpaper & hypridle &"''
''hyprctl dispatch exec "[workspace 1 silent] kitty"''
''hyprctl dispatch exec "[workspace 2 silent] firefox"''
#''hyprctl dispatch exec "[workspace 3 silent] "''
#''hyprctl dispatch exec "[workspace 4 silent] "''
#''hyprctl dispatch exec "[workspace 8 silent] "''
''hyprctl dispatch exec "[workspace 9 silent] webcord"''
''hyprctl dispatch exec "[workspace special:ctrl silent] dolphin"''
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
''hyprctl dispatch exec "[workspace special:altgr silent] thunderbird"''
#''exec-once = hyprctl dispatch exec "[workspace special:strg silent] "''
];
xwayland.force_zero_scaling = true;
env = [
"XCURSOR_SIZE, 24"
"HYPRCURSOR_SIZE,48"
];
input = {
kb_layout = "de";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
follow_mouse = 1;
touchpad.natural_scroll = "yes";
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
numlock_by_default = 1;
special_fallthrough = true;
};
general = {
gaps_in = 2;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgba(ffa44bee)";
"col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
resize_on_border = true;
};
decoration = {
rounding = 10;
blur = {
enabled = false;
size = 3;
passes = 1;
new_optimizations = 1;
};
drop_shadow = "yes";
shadow_range = 4;
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
};
misc = {
vfr = true;
mouse_move_enables_dpms = true;
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
"specialWorkspace, 1, 8, default, slidefadevert 20%"
];
};
dwindle = {
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = "yes"; # you probably want this
};
master = {
new_is_master = true;
};
gestures = {
workspace_swipe = "on";
workspace_swipe_create_new = "false";
};
device = {
name = "pixa3854:00-093a:0274-touchpad";
sensitivity = 0;
natural_scroll = "yes";
};
windowrule = [
"idleinhibit fullscreen, ^(firefox)$"
"float, ^(org.kde.dolphin)$"
"float, ^(org.gnome.FileRoller)$"
"stayfocused, title:^(Enpass Assistant)$"
"pin, title:^(Enpass Assistant)$"
"center, title:^(Enpass Assistant)$"
"float, ^(Enpass)$"
"center, ^(Enpass)$"
"float, ^(blueman-manager)$"
"move -0% 0%, ^(blueman-manager)$"
"float, ^(org.gnome.Calendar)$"
"move 20% 5%, ^(org.gnome.Calendar)$"
"size 60% 60%, ^(org.gnome.Calendar)$"
"float, ^(org.gnome.Calculator)$"
];
windowrulev2 = [
"center, xwayland:(1)"
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
''workspace +0, workspace:name:special:ctrl, floating:0''
''float, workspace:name:special:altgr, onworkspace:w[2]''
''float, workspace:name:special:strg, onworkspace:w[1]''
''workspace +0, workspace:name:special:strg, floating:0''
];
"$mainMod" = "SUPER";
bind = [
''$mainMod, Q, exec, kitty''
''$mainMod, C, killactive, ''
''$mainMod, M, exit, ''
''$mainMod, E, exec, dolphin''
''$mainMod, V, togglefloating, ''
''$mainMod, R, exec, wofi --show drun''
''$mainMod, J, togglesplit, # dwindle''
''$mainMod, P, exec, enpass''
''$mainMod, T, exec, hyprctl dispatch exec "[float; pin; size 40% 40%; move 100%-41% 40] kitty bpytop -b proc"''
''$mainMod, W, exec, networkmanager_dmenu''
''$mainMod, F, fullscreen''
# Move focus with mainMod + arrow keys
''$mainMod, left, movefocus, l''
''$mainMod, right, movefocus, r''
''$mainMod, up, movefocus, u''
''$mainMod, down, movefocus, d''
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
'', XF86AudioPrev, exec, playerctl previous''
'', XF86AudioPlay, exec, playerctl play-pause''
'', XF86AudioNext, exec, playerctl next''
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
# Switch workspaces with mainMod + [0-9]
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
# Move active window to a workspace with mainMod + SHIFT + [0-9]
''$mainMod SHIFT, 1, movetoworkspace, 1''
''$mainMod SHIFT, 2, movetoworkspace, 2''
''$mainMod SHIFT, 3, movetoworkspace, 3''
''$mainMod SHIFT, 4, movetoworkspace, 4''
''$mainMod SHIFT, 5, movetoworkspace, 5''
''$mainMod SHIFT, 6, movetoworkspace, 6''
''$mainMod SHIFT, 7, movetoworkspace, 7''
''$mainMod SHIFT, 8, movetoworkspace, 8''
''$mainMod SHIFT, 9, movetoworkspace, 9''
# Monitor focus
''$mainMod ALT, 1, focusmonitor, 0''
''$mainMod ALT, 2, focusmonitor, 1''
''$mainMod ALT, 3, focusmonitor, 2''
''$mainMod ALT, 4, focusmonitor, 3''
''$mainMod ALT, 5, focusmonitor, 4''
''$mainMod ALT, 6, focusmonitor, 5''
''$mainMod ALT, 7, focusmonitor, 6''
''$mainMod ALT, 8, focusmonitor, 7''
''$mainMod ALT, 9, focusmonitor, 8''
''$mainMod ALT, 0, focusmonitor, 9''
# Scroll through existing workspaces with mainMod + scroll
''$mainMod, mouse_down, workspace, e+1''
''$mainMod, mouse_up, workspace, e-1''
];
binde = [
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
];
bindel = [
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
];
bindr = [
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
''SUPERALT, Alt_L, togglespecialworkspace, alt''
''SUPERMOD5, ISO_Level3_Shift, togglespecialworkspace, altgr''
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
''$mainMod, mouse:272, movewindow''
''$mainMod, mouse:273, resizewindow''
];
# ------------------------------------------
# ########################################
# ####### Workspaces ###########
# ########################################
# ------------------------------------------
workspace = [
"1, persistent:true"
"2, persistent:true"
"3, persistent:true"
"4, persistent:true"
"5, persistent:true"
"6, persistent:true"
"7, persistent:true"
"8, persistent:true"
"8, persistent:true"
"9, persistent:true"
"name:special:ctrl, persistent:true"
"name:special:alt, persistent:true"
"name:special:altgr, persistent:true"
"name:special:strg, persistent:true"
];
};
};
};
}
}