add(fonts): modular fonts

This commit is contained in:
kenji
2026-01-05 19:26:30 -06:00
parent 2b9067f87b
commit 7280b68f14
11 changed files with 293 additions and 22 deletions
+2
View File
@@ -1,6 +1,7 @@
{
config,
pkgs,
myConfig,
...
}: {
home.packages = [
@@ -54,6 +55,7 @@
enableFishIntegration = true;
settings = {
font-family = myConfig.font.monospace;
confirm-close-surface = false;
app-notifications = false;
window-padding-x = 15;
+2 -2
View File
@@ -1,4 +1,4 @@
{
{myConfig, ...}: {
wayland.windowManager.hyprland.settings = {
misc = {
disable_hyprland_logo = true;
@@ -43,7 +43,7 @@
bar_color = "$surface_container_high";
bar_text_color = "$on_surface";
bar_text_size = 0;
bar_text_font = "Sans";
bar_text_font = myConfig.font.sans;
bar_button_padding = 4;
bar_padding = 8;
bar_precedence_over_border = true;
+2 -1
View File
@@ -1,10 +1,11 @@
{
config,
pkgs,
myConfig,
...
}: let
cacheWallpaper = "${config.home.homeDirectory}/.cache/current_wallpaper";
clockFont = "JetBrains Mono";
clockFont = myConfig.font.monospace;
in {
imports = [
./scripts/typewriter.nix
+184 -4
View File
@@ -1,6 +1,7 @@
{
pkgs,
inputs,
myConfig,
...
}: {
home.packages = with pkgs; [
@@ -11,10 +12,189 @@
source = ./config.toml;
};
home.file.".config/matugen/templates" = {
source = ./templates;
recursive = true;
};
# Copy static templates
home.file.".config/matugen/templates/cava".source = ./templates/cava;
home.file.".config/matugen/templates/firefox".source = ./templates/firefox;
home.file.".config/matugen/templates/ghostty".source = ./templates/ghostty;
home.file.".config/matugen/templates/gtk3".source = ./templates/gtk3;
home.file.".config/matugen/templates/gtk4".source = ./templates/gtk4;
home.file.".config/matugen/templates/hyprland".source = ./templates/hyprland;
home.file.".config/matugen/templates/hyprlock".source = ./templates/hyprlock;
home.file.".config/matugen/templates/starship".source = ./templates/starship;
home.file.".config/matugen/templates/vicinae".source = ./templates/vicinae;
home.file.".config/matugen/templates/waybar".source = ./templates/waybar;
# Generate templates with font interpolation
home.file.".config/matugen/templates/walker".text = ''
/* @import "../../../../../../../.config/omarchy/current/theme/walker.css"; */
/* Define Matugen Colors */
@define-color text {{colors.on_surface.default.hex}};
@define-color base {{colors.surface_container.default.hex}};
@define-color border {{colors.primary.default.hex}};
@define-color selected_text {{colors.primary.default.hex}};
@define-color background {{colors.surface.default.hex}};
* {
all: unset;
}
* {
font-family: ${myConfig.font.monospace};
font-size: 18px;
color: @text;
}
scrollbar {
opacity: 0;
}
.normal-icons {
-gtk-icon-size: 16px;
}
.large-icons {
-gtk-icon-size: 32px;
}
.box-wrapper {
background: alpha(@base, 0.95);
padding: 20px;
border: 2px solid @border;
}
.preview-box {
}
.box {
}
.search-container {
background: @base;
padding: 10px;
}
.input placeholder {
opacity: 0.5;
}
.input {
}
.input:focus,
.input:active {
box-shadow: none;
outline: none;
}
.content-container {
}
.placeholder {
}
.scroll {
}
.list {
}
child,
child > * {
}
child:hover .item-box {
}
child:selected .item-box {
}
child:selected .item-box * {
color: @selected_text;
}
.item-box {
padding-left: 14px;
}
.item-text-box {
all: unset;
padding: 14px 0;
}
.item-text {
}
.item-subtext {
font-size: 0px;
min-height: 0px;
margin: 0px;
padding: 0px;
}
.item-image {
margin-right: 14px;
-gtk-icon-transform: scale(0.9);
}
.current {
font-style: italic;
}
.keybind-hints {
background: @background;
padding: 10px;
margin-top: 10px;
}
.preview {
}
'';
home.file.".config/matugen/templates/mako".text = ''
# Mako notification daemon configuration
# Generated by matugen
# Appearance
font=${myConfig.font.sans} 11
width=350
height=150
margin=10
padding=15
border-size=2
border-radius=8
# Behavior
default-timeout=5000
ignore-timeout=false
layer=overlay
anchor=top-right
# Interaction
markup=true
actions=true
# Grouping
group-by=app-name
max-visible=5
sort=-time
# Theme colors from matugen
background-color=#{{colors.surface_container_high.default.hex_stripped}}
text-color=#{{colors.on_surface.default.hex_stripped}}
border-color=#{{colors.primary.default.hex_stripped}}
progress-color=over #{{colors.primary_container.default.hex_stripped}}
[urgency=low]
border-color=#{{colors.tertiary.default.hex_stripped}}
[urgency=normal]
border-color=#{{colors.primary.default.hex_stripped}}
[urgency=high]
border-color=#{{colors.error.default.hex_stripped}}
default-timeout=0
'';
# Qt theming - follow GTK theme
qt = {
+2 -2
View File
@@ -1,4 +1,4 @@
{pkgs, ...}: let
{pkgs, myConfig, ...}: let
# Screenshot script with swappy integration
screenshot = pkgs.writeShellScriptBin "screenshot" ''
#!/usr/bin/env bash
@@ -54,7 +54,7 @@ in {
show_panel=true
line_size=5
text_size=20
text_font=sans-serif
text_font=${myConfig.font.sans}
paint_mode=brush
early_exit=false
fill_shape=false
+11
View File
@@ -53,6 +53,16 @@ in {
"action.new" = "control+N";
"action.save" = "control+S";
};
theme = {
light = {
name = "matugen";
icon_theme = "default";
};
dark = {
name = "matugen";
icon_theme = "default";
};
};
};
};
@@ -70,6 +80,7 @@ in {
"SUPER, SPACE, Open Vicinae, exec, vicinae-toggle"
"SUPER, period, Open Emoji Picker, exec, vicinae-toggle deeplink vicinae://extensions/vicinae/core/search-emojis"
"SUPER, C, Open Calculator, exec, vicinae-toggle deeplink vicinae://extensions/vicinae/calculator/history"
"SUPER, V, Open Clipboard History, exec, vicinae-toggle deeplink vicinae://extensions/vicinae/clipboard/history"
];
};
}
+2 -2
View File
@@ -1,4 +1,4 @@
{config, ...}: {
{config, myConfig, ...}: {
programs.waybar = {
style = ''
@import "matugen.css";
@@ -9,7 +9,7 @@
border: none;
border-radius: 0;
min-height: 0;
font-family: 'JetBrainsMono Nerd Font';
font-family: '${myConfig.font.monospace}';
font-size: 12px;
}