Fix desktop.nix: working hyprland config, numeric workspaces, NetworkManager
This commit is contained in:
parent
605a119f2d
commit
379f4af270
1 changed files with 60 additions and 75 deletions
135
home/desktop.nix
135
home/desktop.nix
|
|
@ -70,23 +70,21 @@
|
|||
home.file.".config/hypr/hyprland.conf" = {
|
||||
force = true;
|
||||
text = ''
|
||||
debug { disable_logs = false; }
|
||||
|
||||
monitor=,preferred,auto,1
|
||||
|
||||
# Environment
|
||||
env = XCURSOR_SIZE,24
|
||||
env = XCURSOR_THEME,Bibata-Modern-Classic
|
||||
env = GTK_THEME,adw-gtk3-dark
|
||||
env = QT_QPA_PLATFORMTHEME,gtk2
|
||||
|
||||
# Autostart
|
||||
exec-once = waybar
|
||||
exec-once = dunst
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
exec-once = hypridle
|
||||
|
||||
|
||||
# Input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_options = caps:escape
|
||||
|
|
@ -99,19 +97,30 @@
|
|||
tap-to-click = true
|
||||
}
|
||||
|
||||
# Visual
|
||||
general {
|
||||
gaps_in = 6; gaps_out = 8; border_size = 2
|
||||
col.active_border = rgba(8ebdffee) rgba(8ebdffff) rgba(8ebdffee) rgba(8ebdffff) 45deg
|
||||
gaps_in = 6
|
||||
gaps_out = 8
|
||||
border_size = 2
|
||||
col.active_border = rgba(8ebdffee) rgba(8ebdffff) rgba(8ebdffee) rgba(8ebdffff)
|
||||
col.inactive_border = rgba(333333aa)
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 8
|
||||
blur { enabled = true; size = 5; passes = 2; }
|
||||
drop_shadow = true; shadow_range = 12; shadow_render_power = 2
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
blur {
|
||||
enabled = true
|
||||
size = 5
|
||||
passes = 2
|
||||
}
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 12
|
||||
render_power = 2
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
|
|
@ -122,23 +131,20 @@
|
|||
animation = workspaces,1,4,easeOutQuint,fade
|
||||
}
|
||||
|
||||
# Workspaces
|
||||
workspace = 1, name:shell, persistent:true
|
||||
workspace = 2, name:code, persistent:true
|
||||
workspace = 3, name:web, persistent:true
|
||||
workspace = 4, name:chat, persistent:true
|
||||
workspace = 5, name:vault, persistent:true
|
||||
workspace = 6, name:media
|
||||
workspace = 7, name:7
|
||||
workspace = 8, name:8
|
||||
workspace = 9, name:9
|
||||
workspace = 10, name:sys
|
||||
workspace = 1, persistent:true
|
||||
workspace = 2, persistent:true
|
||||
workspace = 3, persistent:true
|
||||
workspace = 4, persistent:true
|
||||
workspace = 5, persistent:true
|
||||
workspace = 6
|
||||
workspace = 7
|
||||
workspace = 8
|
||||
workspace = 9
|
||||
workspace = 10
|
||||
|
||||
# Keybinds
|
||||
$mainMod = SUPER
|
||||
|
||||
# Launch
|
||||
bind = $mainMod, Return, exec, ghostty -e zellij
|
||||
bind = $mainMod, Return, exec, hyprctl dispatch workspace 1; ghostty -e zellij
|
||||
bind = $mainMod SHIFT, Return, exec, ghostty
|
||||
bind = $mainMod, B, exec, firefox
|
||||
bind = $mainMod, D, exec, rofi -show drun -show-icons
|
||||
|
|
@ -146,89 +152,68 @@
|
|||
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||
bind = $mainMod, N, exec, thunar
|
||||
bind = $mainMod, L, exec, hyprlock
|
||||
|
||||
# Window control
|
||||
bind = $mainMod, Q, killactive
|
||||
bind = $mainMod, F, fullscreen
|
||||
bind = $mainMod, G, togglefloating
|
||||
bind = $mainMod, P, pseudo
|
||||
bind = $mainMod, T, pin
|
||||
|
||||
# Focus (Vim-style)
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, J, movefocus, d
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, L, movefocus, r
|
||||
|
||||
# Move windows
|
||||
bind = $mainMod SHIFT, H, movewindow, l
|
||||
bind = $mainMod SHIFT, J, movewindow, d
|
||||
bind = $mainMod SHIFT, K, movewindow, u
|
||||
bind = $mainMod SHIFT, L, movewindow, r
|
||||
|
||||
# Resize
|
||||
bind = $mainMod CTRL, H, resizeactive, -40 0
|
||||
bind = $mainMod CTRL, J, resizeactive, 0 40
|
||||
bind = $mainMod CTRL, K, resizeactive, 0 -40
|
||||
bind = $mainMod CTRL, L, resizeactive, 40 0
|
||||
|
||||
# Workspace switching
|
||||
bind = $mainMod, 1, workspace, name:shell
|
||||
bind = $mainMod, 2, workspace, name:code
|
||||
bind = $mainMod, 3, workspace, name:web
|
||||
bind = $mainMod, 4, workspace, name:chat
|
||||
bind = $mainMod, 5, workspace, name:vault
|
||||
bind = $mainMod, 6, workspace, name:media
|
||||
bind = $mainMod, 7, workspace, name:7
|
||||
bind = $mainMod, 8, workspace, name:8
|
||||
bind = $mainMod, 9, workspace, name:9
|
||||
bind = $mainMod, 0, workspace, name:sys
|
||||
|
||||
# Move to workspace
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, name:shell
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, name:code
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, name:web
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, name:chat
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, name:vault
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, name:media
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, name:7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, name:8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, name:9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, name:sys
|
||||
|
||||
# Scroll workspace
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Screenshot
|
||||
bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f -
|
||||
bind = $mainMod SHIFT, S, exec, grim - | swappy -f -
|
||||
|
||||
# Media keys
|
||||
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
|
||||
# Session
|
||||
bind = $mainMod SHIFT, Q, exec, hyprctl dispatch exit
|
||||
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||
exec-once = awww img ~/wallpapers/default.jpg
|
||||
|
||||
# Window rules
|
||||
windowrulev2 = float, class:(pavucontrol)
|
||||
windowrulev2 = float, class:(firefox), title:PIP
|
||||
windowrulev2 = float, title:(Authentication Required)
|
||||
windowrulev2 = size 75% 75%,class:(pavucontrol)
|
||||
|
||||
# Auto-send to workspaces
|
||||
windowrulev2 = workspace name:code, class:(code-oss|Code|jetbrains-.*|nvim)
|
||||
windowrulev2 = workspace name:web, class:(firefox|chromium-browser|google-chrome)
|
||||
windowrulev2 = workspace name:chat, class:(discord|Slack|TelegramDesktop)
|
||||
windowrulev2 = workspace name:shell, class:(ghostty|Zellij|Alacritty)
|
||||
windowrule = match:class ^(pavucontrol)$, float on
|
||||
windowrule = match:class ^(firefox)$, match:title PIP, float on
|
||||
windowrule = match:title ^(Authentication Required)$, float on
|
||||
windowrule = match:class ^(pavucontrol)$, size 75% 75%
|
||||
windowrule = match:class ^(code-oss|Code|jetbrains-.*|nvim)$, workspace 2
|
||||
windowrule = match:class ^(firefox|chromium-browser|google-chrome)$, workspace 3
|
||||
windowrule = match:class ^(discord|Slack|TelegramDesktop)$, workspace 4
|
||||
windowrule = match:class ghostty, workspace 1
|
||||
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# === Ghostty config ===
|
||||
home.file.".config/ghostty/config" = { force = true; text = ''
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue