stylix: switch to caelestia fonts (Rubik + CaskaydiaCove NF)

This commit is contained in:
rope 2026-07-29 21:46:13 +01:00
parent ec7ae50cf0
commit 4eeb496efe
3 changed files with 16 additions and 13 deletions

View file

@ -34,7 +34,7 @@ in
programs.ghostty = lib.mkIf isDesktop { programs.ghostty = lib.mkIf isDesktop {
enable = true; enable = true;
settings = { settings = {
font-family = "FiraMono Nerd Font"; font-family = "CaskaydiaCove NF";
font-size = 11; font-size = 11;
font-thicken = true; font-thicken = true;
window-padding-x = 10; window-padding-x = 10;

View file

@ -13,12 +13,11 @@ in
qt6.qt5compat # Qt5Compat.GraphicalEffects in Bar.qml qt6.qt5compat # Qt5Compat.GraphicalEffects in Bar.qml
]; ];
# Shell fonts, matching caelestia: Rubik for all UI text, Material Symbols # Icon font for the shell (ligature-based: text "volume_up" renders the
# Rounded for icons (ligature-based: text "volume_up" renders the icon). # icon) — same font caelestia uses. UI text font comes from stylix.
# Scoped to the bar only — terminals/GTK still follow stylix. fonts.packages = [ pkgs.material-symbols ];
fonts.packages = [ pkgs.material-symbols pkgs.rubik ];
home-manager.users.fred = { config, lib, pkgs, ... }: home-manager.users.fred = { config, lib, pkgs, osConfig, ... }:
let let
c = config.lib.stylix.colors; c = config.lib.stylix.colors;
in { in {
@ -51,6 +50,8 @@ in
[ -n "$pw" ] && ${pkgs.networkmanager}/bin/nmcli device wifi connect "$ssid" password "$pw" [ -n "$pw" ] && ${pkgs.networkmanager}/bin/nmcli device wifi connect "$ssid" password "$pw"
''; '';
nmcli = "${pkgs.networkmanager}/bin/nmcli"; 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 # Shell chrome fragment shader: the bar, screen frame, dropdown panel
# and toast are one signed-distance field merged with a circular # and toast are one signed-distance field merged with a circular
# smooth-min (caelestia-style liquid junctions); the 2px border is the # 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 // colour animation stays in-hue instead of dipping through
// transparent *black* (which reads as an extra flash colour). // transparent *black* (which reads as an extra flash colour).
readonly property color base02t: "#00${c.base02}" 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 // Ligature-based icon font: text "volume_up" renders the icon
readonly property string iconFont: "Material Symbols Rounded" readonly property string iconFont: "Material Symbols Rounded"
// Matches hyprland general.border_size (col.inactive_border = base03) // Matches hyprland general.border_size (col.inactive_border = base03)

View file

@ -23,18 +23,20 @@
size = 24; 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 = { fonts = {
monospace = { monospace = {
package = pkgs.nerd-fonts.fira-mono; package = pkgs.nerd-fonts.caskaydia-cove;
name = "FiraMono Nerd Font"; name = "CaskaydiaCove NF";
}; };
sansSerif = { sansSerif = {
package = pkgs.inter; package = pkgs.rubik;
name = "Inter"; name = "Rubik";
}; };
serif = { serif = {
package = pkgs.inter; package = pkgs.rubik;
name = "Inter"; name = "Rubik";
}; };
}; };
}; };