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 {
enable = true;
settings = {
font-family = "FiraMono Nerd Font";
font-family = "CaskaydiaCove NF";
font-size = 11;
font-thicken = true;
window-padding-x = 10;

View file

@ -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)

View file

@ -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";
};
};
};