diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-26 02:26:24 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-26 02:26:24 +0530 |
| commit | 76e8ba8527b9300ba3b15f18dc6b683e56a9dc47 (patch) | |
| tree | 4b62a3dff953f292c167abbb556d10bb1f5653ad | |
| parent | 8c13757c6d6c503774d833507f281eaa499b3bd9 (diff) | |
| download | home-manager-config-76e8ba8527b9300ba3b15f18dc6b683e56a9dc47.tar.gz home-manager-config-76e8ba8527b9300ba3b15f18dc6b683e56a9dc47.zip | |
feat: configure Wayland scaling, switch to scrolling layout, polish theme
- Set GDK_SCALE, QT_SCALE_FACTOR, monitor scale=1, chromium
--force-device-scale-factor=1.15
- Migrate dwindle → scrolling layout with column config and Equal key
resize
- Bump default font size to 18, cursor to 20, system-monitor font shift
- Change gap_out to 10, border width to 1px, inactive border to base03
- Refactor waybar workspaces/network to use shared mkIcon helper
- Toggle window close with SHIFT+Q, remove redundant file-explorer size
rule
- Thinner rofi borders, larger width, bigger icons, bold prompt color
- Tidy waybar spacing: uniform margins, larger padding, resized
workspace buttons
- Enable xwayland force_zero_scaling
| -rw-r--r-- | modules/desktop/hyprland/default.nix | 34 | ||||
| -rw-r--r-- | modules/desktop/hyprland/keybindings.nix | 3 | ||||
| -rw-r--r-- | modules/desktop/rofi/theme.mustache.rasi | 26 | ||||
| -rw-r--r-- | modules/desktop/waybar/module/default.nix | 2 | ||||
| -rw-r--r-- | modules/desktop/waybar/module/network.nix | 6 | ||||
| -rw-r--r-- | modules/desktop/waybar/module/workspaces.nix | 8 | ||||
| -rw-r--r-- | modules/desktop/waybar/style.nix | 32 | ||||
| -rw-r--r-- | modules/fonts/default.nix | 2 | ||||
| -rw-r--r-- | modules/scripts/system-monitor/script.sh | 4 | ||||
| -rw-r--r-- | modules/web/chromium/default.nix | 4 |
10 files changed, 74 insertions, 47 deletions
diff --git a/modules/desktop/hyprland/default.nix b/modules/desktop/hyprland/default.nix index bea5c90..09f2639 100644 --- a/modules/desktop/hyprland/default.nix +++ b/modules/desktop/hyprland/default.nix @@ -39,6 +39,8 @@ in QT_QPA_PLATFORM = "wayland;xcb"; SDL_VIDEODRIVER = "wayland"; CLUTTER_BACKEND = "wayland"; + GDK_SCALE = "1"; + QT_SCALE_FACTOR = "1"; AQ_DRM_DEVICES = if config.desktop.hardware.gpu.secondaryCard != null then @@ -71,6 +73,14 @@ in systemd.enable = true; settings = { + monitor = [ + { + output = ""; + mode = "preferred"; + position = "auto"; + scale = 1; + } + ]; mainMod = { _var = "SUPER"; }; @@ -78,16 +88,27 @@ in config = { general = with config.scheme.withHashtag; { gaps_in = 5; - gaps_out = 5; + gaps_out = 10; border_size = 1; col = { active_border = { colors = [ (toHyprColor base07) ]; angle = 45; }; - inactive_border = toHyprColor base00; + inactive_border = toHyprColor base03; }; - layout = "dwindle"; + layout = "scrolling"; + }; + + xwayland = { + force_zero_scaling = true; + }; + + scrolling = { + column_width = 0.5; + explicit_column_widths = "0.5, 1.0"; + focus_fit_method = 1; + follow_focus = true; }; debug = { @@ -132,11 +153,6 @@ in float = true; } { - name = "size-file-explorer"; - match.class = "^(file-explorer)$"; - size = "1000 600"; - } - { name = "center-file-explorer"; match.class = "^(file-explorer)$"; center = true; @@ -149,7 +165,7 @@ in enable = true; package = pkgs.rose-pine-hyprcursor; name = "rose-pine-hyprcursor"; - size = 18; + size = 20; hyprcursor.enable = true; gtk.enable = false; x11.enable = false; diff --git a/modules/desktop/hyprland/keybindings.nix b/modules/desktop/hyprland/keybindings.nix index 2612088..f5c98b5 100644 --- a/modules/desktop/hyprland/keybindings.nix +++ b/modules/desktop/hyprland/keybindings.nix @@ -38,7 +38,8 @@ in execLua "${lib.getExe config.terminal.kitty.package} --class file-explorer --title 'Yazi' -e ${lib.getExe config.file-management.yazi.package}" )) ]) - (bind "Q" "hl.dsp.window.close()") + (bind "SHIFT + Q" "hl.dsp.window.close()") + (bind "Equal" (execLua "layoutmsg colresize +conf")) (lib.optionals config.system.brightnessctl.enable [ (bindRawFlags "XF86MonBrightnessDown" diff --git a/modules/desktop/rofi/theme.mustache.rasi b/modules/desktop/rofi/theme.mustache.rasi index 794da97..0dd08f8 100644 --- a/modules/desktop/rofi/theme.mustache.rasi +++ b/modules/desktop/rofi/theme.mustache.rasi @@ -58,14 +58,16 @@ active-foreground: @base07; urgent-background: @base00; urgent-foreground: @base08; + + font: "FiraCode Nerd Font Bold 18"; } window { background-color: @background; - border: 1.5px; + border: 1px; border-color: @border-color; padding: 0; - width: 600px; + width: 800px; location: center; anchor: center; } @@ -80,17 +82,18 @@ mainbox { inputbar { background-color: @background; text-color: @foreground; - border: 1.5px; + border: 1px; border-color: @border-color; padding: 10px 14px; spacing: 10px; children: [ "prompt", "entry" ]; + font: @font; } prompt { background-color: transparent; - text-color: @base04; - font: "FiraCode Nerd Font Bold 11"; + text-color: @base0D; + font: @font; } entry { @@ -99,6 +102,7 @@ entry { placeholder: "Search…"; placeholder-color: @base03; cursor: text; + font: @font; } listview { @@ -151,30 +155,30 @@ element selected.urgent { } element-icon { - background-color: transparent; - size: 24px; + background-color: transparent; + size: 36px; vertical-align: 0.5; } element-text { - background-color: transparent; + background-color: transparent; text-color: inherit; vertical-align: 0.5; horizontal-align: 0.0; } message { - background-color: @base01; + background-color: @base01; padding: 8px 12px; } textbox { - background-color: transparent; + background-color: transparent; text-color: @foreground; } error-message { - background-color: @base00; + background-color: @base00; text-color: @base08; border: 1.5px; border-color: @base08; diff --git a/modules/desktop/waybar/module/default.nix b/modules/desktop/waybar/module/default.nix index ebfa2c4..c1c8048 100644 --- a/modules/desktop/waybar/module/default.nix +++ b/modules/desktop/waybar/module/default.nix @@ -24,6 +24,6 @@ in ; }; "hyprland/window" = import ./window.nix { inherit config; }; - "hyprland/workspaces" = import ./workspaces.nix { inherit config lib; }; + "hyprland/workspaces" = import ./workspaces.nix { inherit config lib mkIcon; }; }; } diff --git a/modules/desktop/waybar/module/network.nix b/modules/desktop/waybar/module/network.nix index 7f0af4c..f20121f 100644 --- a/modules/desktop/waybar/module/network.nix +++ b/modules/desktop/waybar/module/network.nix @@ -2,12 +2,14 @@ with config.scheme.withHashtag; let iconColor = base0B; + downloadIcon = mkIcon base0F ""; + uploadIcon = mkIcon base0F ""; in { interval = 2; - format-wifi = "${mkIcon iconColor "{icon}"} {bandwidthDownBytes} {bandwidthUpBytes}"; - format-ethernet = "${mkIcon iconColor ""} {bandwidthDownBytes} {bandwidthUpBytes}"; + format-wifi = "${mkIcon iconColor "{icon}"} ${downloadIcon}{bandwidthDownBytes} ${uploadIcon}{bandwidthUpBytes}"; + format-ethernet = "${mkIcon iconColor ""} ${downloadIcon}{bandwidthDownBytes} ${uploadIcon}{bandwidthUpBytes}"; format-disconnected = "${mkIcon iconColor ""} Disconnected"; tooltip-format = "{ifname}"; diff --git a/modules/desktop/waybar/module/workspaces.nix b/modules/desktop/waybar/module/workspaces.nix index a16b9e5..c8a99c2 100644 --- a/modules/desktop/waybar/module/workspaces.nix +++ b/modules/desktop/waybar/module/workspaces.nix @@ -1,9 +1,13 @@ -{ config, lib }: +{ + config, + lib, + mkIcon, +}: with config.scheme.withHashtag; let mkWindowRewrite = enable: color: icon: - lib.mkIf enable "<span font_size='150%' color='${color}'>${icon}</span>"; + lib.mkIf enable (mkIcon color icon); in { format = "{windows} <span rise='-3000' font_size='small'>{id}</span>"; diff --git a/modules/desktop/waybar/style.nix b/modules/desktop/waybar/style.nix index b0da995..fead24e 100644 --- a/modules/desktop/waybar/style.nix +++ b/modules/desktop/waybar/style.nix @@ -14,38 +14,34 @@ with config.scheme.withHashtag; #workspaces, #window, #pulseaudio, #battery, #custom-vpn, #network, #clock.time, #memory, #cpu, #clock.date { background: ${base00}; - margin: 0 2px; - } - - #window { - margin-right: 3px; + margin: 0 5px; } #workspaces { border: none; - margin-left: 3px; - } - - #clock.date { - margin-right: 5px; + margin-right: 0; } #window, #pulseaudio, #battery, #custom-vpn, #network, #clock.time, #memory, #cpu, #clock.date { - border: 1.5px solid ${base07}; + border: 1px solid ${base07}; color: ${base07}; - padding: 0 8px; + padding: 0 10px; + } + + #clock.date { + margin-right: 10px; } #workspaces button { - padding: 3px; + padding: 5px; color: ${base07}; - border: 1.5px solid ${base03}; + border: 1px solid ${base03}; border-radius: 0; - min-width: 24px; - min-height: 24px; - margin: 0 2px; - font-size: 30px; + min-width: 0px; + min-height: 0px; + margin: 0 5px; + font-size: 24px; } #workspaces button:hover { diff --git a/modules/fonts/default.nix b/modules/fonts/default.nix index 2f77b2a..2d13d52 100644 --- a/modules/fonts/default.nix +++ b/modules/fonts/default.nix @@ -27,7 +27,7 @@ size = lib.mkOption { type = lib.types.int; description = "Default font size."; - default = 12; + default = 18; }; }; diff --git a/modules/scripts/system-monitor/script.sh b/modules/scripts/system-monitor/script.sh index 951428c..91cf560 100644 --- a/modules/scripts/system-monitor/script.sh +++ b/modules/scripts/system-monitor/script.sh @@ -1,9 +1,9 @@ SESSION="system-monitor" -kitty @ set-font-size -- -4 +kitty @ set-font-size -- -5 cleanup() { - kitty @ set-font-size -- +4 + kitty @ set-font-size -- +5 } trap cleanup EXIT INT TERM diff --git a/modules/web/chromium/default.nix b/modules/web/chromium/default.nix index ce78677..380d2ea 100644 --- a/modules/web/chromium/default.nix +++ b/modules/web/chromium/default.nix @@ -23,6 +23,10 @@ programs.chromium = { enable = true; + commandLineArgs = [ + "--force-device-scale-factor=1.15" + ]; + extensions = [ { id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # uBlock Origin Lite { id = "naepdomgkenhinolocfifgehidddafch"; } # Browserpass |
