diff --git a/home-manager/fred.nix b/home-manager/fred.nix index 6cfd9b9..f446c22 100644 --- a/home-manager/fred.nix +++ b/home-manager/fred.nix @@ -34,7 +34,7 @@ in programs.ghostty = lib.mkIf isDesktop { enable = true; settings = { - font-family = "FiraMono Nerd Font"; + font-family = "CaskaydiaCove NF"; font-size = 11; font-thicken = true; window-padding-x = 10; diff --git a/settings/quickshell.nix b/settings/quickshell.nix index bcd613b..2c6e285 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -13,12 +13,11 @@ in qt6.qt5compat # Qt5Compat.GraphicalEffects in Bar.qml ]; - # Shell fonts, matching caelestia: Rubik for all UI text, Material Symbols - # Rounded for icons (ligature-based: text "volume_up" renders the icon). - # Scoped to the bar only — terminals/GTK still follow stylix. - fonts.packages = [ pkgs.material-symbols pkgs.rubik ]; + # Icon font for the shell (ligature-based: text "volume_up" renders the + # icon) — same font caelestia uses. UI text font comes from stylix. + fonts.packages = [ pkgs.material-symbols ]; - home-manager.users.fred = { config, lib, pkgs, ... }: + home-manager.users.fred = { config, lib, pkgs, osConfig, ... }: let c = config.lib.stylix.colors; in { @@ -51,6 +50,8 @@ in [ -n "$pw" ] && ${pkgs.networkmanager}/bin/nmcli device wifi connect "$ssid" password "$pw" ''; nmcli = "${pkgs.networkmanager}/bin/nmcli"; + # Follow stylix's sans choice so a font swap propagates to the bar + sansFont = osConfig.stylix.fonts.sansSerif.name; # Shell chrome fragment shader: the bar, screen frame, dropdown panel # and toast are one signed-distance field merged with a circular # smooth-min (caelestia-style liquid junctions); the 2px border is the @@ -217,7 +218,7 @@ in // colour animation stays in-hue instead of dipping through // transparent *black* (which reads as an extra flash colour). readonly property color base02t: "#00${c.base02}" - readonly property string fontFamily: "Rubik" + readonly property string fontFamily: "${sansFont}" // Ligature-based icon font: text "volume_up" renders the icon readonly property string iconFont: "Material Symbols Rounded" // Matches hyprland general.border_size (col.inactive_border = base03) diff --git a/settings/stylix.nix b/settings/stylix.nix index d7d3a42..4e5ce11 100644 --- a/settings/stylix.nix +++ b/settings/stylix.nix @@ -23,18 +23,20 @@ size = 24; }; + # caelestia's font set: Rubik for UI text, CaskaydiaCove NF for mono + # (still a nerd font, so terminal glyphs survive the swap). fonts = { monospace = { - package = pkgs.nerd-fonts.fira-mono; - name = "FiraMono Nerd Font"; + package = pkgs.nerd-fonts.caskaydia-cove; + name = "CaskaydiaCove NF"; }; sansSerif = { - package = pkgs.inter; - name = "Inter"; + package = pkgs.rubik; + name = "Rubik"; }; serif = { - package = pkgs.inter; - name = "Inter"; + package = pkgs.rubik; + name = "Rubik"; }; }; };