fonts: swap DuckSans → Fira Code (Fedora fira-code-fonts, SIL OFL 1.1)
This commit is contained in:
parent
50b9285d02
commit
f1b44bc218
5 changed files with 33 additions and 52 deletions
|
|
@ -15,8 +15,8 @@ install beyond the LUKS passphrase. Boot, set admin password, work.
|
||||||
drop zone, kernel sysctl lockdown, NTS-authenticated NTP, DNS-over-TLS.
|
drop zone, kernel sysctl lockdown, NTS-authenticated NTP, DNS-over-TLS.
|
||||||
- **3-mode power management** — `veilor-power save | mid | perf`, with
|
- **3-mode power management** — `veilor-power save | mid | perf`, with
|
||||||
AC/battery auto-switching via udev. Backed by tuned profiles.
|
AC/battery auto-switching via udev. Backed by tuned profiles.
|
||||||
- **DuckSans system font** — variable font, single binary, low cache
|
- **Fira Code system font** — programming ligatures, monospace
|
||||||
footprint.
|
consistency across UI + terminal. (DuckSans planned for v0.3.)
|
||||||
- **Pure-black KDE color scheme** — `veilor-black` theme system-wide.
|
- **Pure-black KDE color scheme** — `veilor-black` theme system-wide.
|
||||||
- **LUKS2 + Secure Boot** — argon2id, aes-xts, btrfs subvolumes, zram swap
|
- **LUKS2 + Secure Boot** — argon2id, aes-xts, btrfs subvolumes, zram swap
|
||||||
(no disk swap, no cold-boot leak).
|
(no disk swap, no cold-boot leak).
|
||||||
|
|
@ -45,5 +45,5 @@ hardware.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT — see [LICENSE](LICENSE). DuckSans font ships under its own license; see
|
MIT — see [LICENSE](LICENSE). Fira Code ships from Fedora's
|
||||||
`assets/fonts/ducksans/README.md`.
|
`fira-code-fonts` package under SIL OFL 1.1.
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,15 @@
|
||||||
# DuckSans
|
# DuckSans (deferred to v0.3)
|
||||||
|
|
||||||
DuckSans is a variable font commissioned by DuckDuckGo from Fontwerk
|
veilor-os v0.1–v0.2 ship **Fira Code** as system font (SIL OFL 1.1,
|
||||||
(designer: Christoph Koeberlin, based on the Pangea typeface, 2026).
|
shipped via Fedora `fira-code-fonts` package — no license friction).
|
||||||
|
|
||||||
## Why this font
|
DuckSans (Fontwerk for DuckDuckGo, Koeberlin 2026) was the original
|
||||||
|
target font. License terms TBD — likely Fontwerk commercial. Holding
|
||||||
|
off until license verified and `.ttf` either:
|
||||||
|
|
||||||
- **Variable font** — single binary covers full weight + width axis.
|
1. Confirmed redistributable → vendor here
|
||||||
Smaller font cache, less I/O, fewer files for fontconfig to scan.
|
2. Forbids redistribution → kickstart fetches from authenticated
|
||||||
- **Designed for text-heavy UIs** — high readability, good hinting.
|
source at build time
|
||||||
- **Recognizable but unbranded look** — distinctive without being kitsch.
|
|
||||||
|
|
||||||
## Vendor instructions
|
Until then this directory is empty. fontconfig falls through to
|
||||||
|
Fira Code via `/etc/fonts/conf.d/55-veilor-firacode.conf`.
|
||||||
Drop the font files here:
|
|
||||||
|
|
||||||
```
|
|
||||||
assets/fonts/ducksans/DuckSans-VF.ttf
|
|
||||||
```
|
|
||||||
|
|
||||||
(plus optional italic axis if shipped separately)
|
|
||||||
|
|
||||||
The build pipeline copies this directory to
|
|
||||||
`/usr/share/fonts/ducksans/` in the installed system and runs
|
|
||||||
`fc-cache -f`.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
DuckSans license terms TBD (Fontwerk commercial license vs SIL OFL).
|
|
||||||
**Do not commit the .ttf to a public repo until license is verified.**
|
|
||||||
|
|
||||||
If license forbids redistribution, the kickstart `%post` should fetch
|
|
||||||
the font from an authenticated source at build time. See
|
|
||||||
`build/build-iso.sh` for the pull point.
|
|
||||||
|
|
||||||
## Fallback
|
|
||||||
|
|
||||||
If DuckSans is not present, fontconfig falls through to the system
|
|
||||||
default sans-serif. veilor-os will still install and run; the system
|
|
||||||
font will just not be DuckSans.
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ ColorScheme=veilor-black
|
||||||
Name=veilor black
|
Name=veilor black
|
||||||
AccentColor=104,107,111
|
AccentColor=104,107,111
|
||||||
LastUsedCustomAccentColor=104,107,111
|
LastUsedCustomAccentColor=104,107,111
|
||||||
font=DuckSans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
font=Fira Code,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
||||||
fixed=DuckSans Mono,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
fixed=Fira Code,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
||||||
menuFont=DuckSans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
menuFont=Fira Code,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
||||||
smallestReadableFont=DuckSans,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
smallestReadableFont=Fira Code,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
||||||
toolBarFont=DuckSans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
toolBarFont=Fira Code,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Theme=breeze-dark
|
Theme=breeze-dark
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,7 @@ NetworkManager-wifi
|
||||||
# fonts
|
# fonts
|
||||||
fontconfig
|
fontconfig
|
||||||
freetype
|
freetype
|
||||||
|
fira-code-fonts
|
||||||
|
|
||||||
# remove fluff
|
# remove fluff
|
||||||
-cups
|
-cups
|
||||||
|
|
|
||||||
|
|
@ -22,25 +22,30 @@ install -d -m 0755 /etc/xdg/kdedefaults
|
||||||
install -m 0644 "$REPO/assets/kde/veilor-default.kdeglobals" /etc/xdg/kdedefaults/kdeglobals
|
install -m 0644 "$REPO/assets/kde/veilor-default.kdeglobals" /etc/xdg/kdedefaults/kdeglobals
|
||||||
ok "kdedefaults written"
|
ok "kdedefaults written"
|
||||||
|
|
||||||
# ── DuckSans fontconfig default ──
|
# ── Fira Code fontconfig default (monospace + UI) ──
|
||||||
info "Setting DuckSans as default sans-serif"
|
info "Setting Fira Code as default font"
|
||||||
|
rpm -q fira-code-fonts &>/dev/null || dnf install -y fira-code-fonts
|
||||||
install -d -m 0755 /etc/fonts/conf.d
|
install -d -m 0755 /etc/fonts/conf.d
|
||||||
cat > /etc/fonts/conf.d/55-veilor-ducksans.conf << 'EOF'
|
cat > /etc/fonts/conf.d/55-veilor-firacode.conf << 'EOF'
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
<fontconfig>
|
<fontconfig>
|
||||||
|
<alias>
|
||||||
|
<family>monospace</family>
|
||||||
|
<prefer><family>Fira Code</family></prefer>
|
||||||
|
</alias>
|
||||||
<alias>
|
<alias>
|
||||||
<family>sans-serif</family>
|
<family>sans-serif</family>
|
||||||
<prefer><family>DuckSans</family></prefer>
|
<prefer><family>Fira Code</family></prefer>
|
||||||
</alias>
|
</alias>
|
||||||
<alias>
|
<alias>
|
||||||
<family>system-ui</family>
|
<family>system-ui</family>
|
||||||
<prefer><family>DuckSans</family></prefer>
|
<prefer><family>Fira Code</family></prefer>
|
||||||
</alias>
|
</alias>
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
EOF
|
EOF
|
||||||
fc-cache -f /usr/share/fonts/ducksans 2>/dev/null || true
|
fc-cache -f 2>/dev/null || true
|
||||||
ok "fontconfig: DuckSans = default sans-serif"
|
ok "fontconfig: Fira Code = default font"
|
||||||
|
|
||||||
# ── /etc/os-release branding ──
|
# ── /etc/os-release branding ──
|
||||||
info "Branding /etc/os-release"
|
info "Branding /etc/os-release"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue