aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 02:26:24 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 02:26:24 +0530
commit76e8ba8527b9300ba3b15f18dc6b683e56a9dc47 (patch)
tree4b62a3dff953f292c167abbb556d10bb1f5653ad
parent8c13757c6d6c503774d833507f281eaa499b3bd9 (diff)
downloadhome-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.nix34
-rw-r--r--modules/desktop/hyprland/keybindings.nix3
-rw-r--r--modules/desktop/rofi/theme.mustache.rasi26
-rw-r--r--modules/desktop/waybar/module/default.nix2
-rw-r--r--modules/desktop/waybar/module/network.nix6
-rw-r--r--modules/desktop/waybar/module/workspaces.nix8
-rw-r--r--modules/desktop/waybar/style.nix32
-rw-r--r--modules/fonts/default.nix2
-rw-r--r--modules/scripts/system-monitor/script.sh4
-rw-r--r--modules/web/chromium/default.nix4
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