commit db22869b75338572c41af92a5bc0068052ed2d0d
parent 8591c7072108638b331a33511bbe45c8bd1d4a2e
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Mon, 29 Sep 2025 18:56:16 +0200
parent 8591c7072108638b331a33511bbe45c8bd1d4a2e
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Mon, 29 Sep 2025 18:56:16 +0200
config/nixos/modules/fonts: move most fonts to home-manager config
4 files changed, 94 insertions(+), 8 deletions(-)
A
|
90
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/config/home-manager/zaphyra/configure/fonts.nix b/config/home-manager/zaphyra/configure/fonts.nix @@ -0,0 +1,90 @@ +{ lib, pkgs, ... }: + +let + adwaita-fonts-nerd = pkgs.stdenvNoCC.mkDerivation { + pname = "adwaita-fonts-nerd"; + version = "1.8.0-${pkgs.nerd-font-patcher.version}"; + + src = pkgs.adwaita-fonts; + + nativeBuildInputs = [ + pkgs.nerd-font-patcher + ] + ++ (with pkgs.python3Packages; [ + python + fontforge + ]); + + buildPhase = '' + runHook preBuild + + mkdir -p build/ + + for f in share/fonts/Adwaita/*; do + nerd-font-patcher $f --complete --no-progressbars --outputdir build + # note: this will *not* return an error exit code on failure, but instead + # write out a corrupt file, so an additional check phase is required + done + + runHook postBuild + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + + # Try to open each font. If a corrupt font was written out, this should fail + for f in build/*; do + fontforge - <<EOF + try: + fontforge.open(''\'''${f}') + except: + exit(1) + EOF + done + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/fonts/opentype/ + install -Dm 444 build/* $out/share/fonts/opentype/ + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/ryanoasis/nerd-fonts"; + description = "Adwaita Fonts patched with Nerd Fonts icons"; + license = licenses.ofl; + platforms = platforms.all; + }; + }; + +in +{ + + fonts.fontconfig = { + enable = true; + defaultFonts = { + serif = [ "Adwaita Sans" ]; + sansSerif = [ "Adwaita Sans" ]; + monospace = [ "Adwaita Mono" ]; + emoji = [ "Noto Color Emoji" ]; + }; + }; + + home.packages = with pkgs; [ + adwaita-fonts-nerd + liberation_ttf + ttf_bitstream_vera + noto-fonts + noto-fonts-emoji + nerd-fonts.symbols-only + fira-code + fira-mono + ]; + +}
diff --git a/config/home-manager/zaphyra/configure/gnome.nix b/config/home-manager/zaphyra/configure/gnome.nix @@ -16,6 +16,8 @@ in manual.html.enable = true; imports = with homeManagerModules.zaphyra; [ + configure.fonts + services.gnome-keyring ];
diff --git a/config/home-manager/zaphyra/configure/niri.nix b/config/home-manager/zaphyra/configure/niri.nix @@ -12,6 +12,8 @@ imports = with homeManagerModules.zaphyra; [ + configure.fonts + services.dssd services.batsignal services.wpaperd
diff --git a/config/nixos/modules/font.nix b/config/nixos/modules/font.nix @@ -26,15 +26,7 @@ in enableDefaultPackages = true; packages = with pkgs; [ dejavu_fonts - liberation_ttf - ttf_bitstream_vera - noto-fonts - noto-fonts-emoji - fira-code - fira-mono meslo-lgs-nf - font-awesome - nerd-fonts.symbols-only ]; }; };