mirror of
https://github.com/bartvdbraak/dotfiles.git
synced 2025-04-27 14:41:20 +00:00
Consolidate all fonts config
This commit is contained in:
parent
89889a0010
commit
8d648cafae
4 changed files with 95 additions and 87 deletions
|
@ -29,17 +29,6 @@
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Fonts configuration
|
|
||||||
fonts = {
|
|
||||||
enableDefaultPackages = true;
|
|
||||||
packages = with pkgs; [
|
|
||||||
jetbrains-mono
|
|
||||||
nerdfonts
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-emoji
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Optimization & Garbage Collection
|
# Optimization & Garbage Collection
|
||||||
|
|
||||||
# Optimize Nix-Store During Rebuilds
|
# Optimize Nix-Store During Rebuilds
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
./modules/bootloader.nix
|
./modules/bootloader.nix
|
||||||
./modules/apple-fonts.nix
|
./modules/fonts.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
qemu = nixpkgs.lib.nixosSystem {
|
qemu = nixpkgs.lib.nixosSystem {
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
# Define Apple font sources
|
|
||||||
fontSources = {
|
|
||||||
sf-pro = {
|
|
||||||
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg";
|
|
||||||
hash = "sha256-IccB0uWWfPCidHYX6sAusuEZX906dVYo8IaqeX7/O88=";
|
|
||||||
};
|
|
||||||
sf-compact = {
|
|
||||||
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg";
|
|
||||||
hash = "sha256-PlraM6SwH8sTxnVBo6Lqt9B6tAZDC//VCPwr/PNcnlk=";
|
|
||||||
};
|
|
||||||
sf-mono = {
|
|
||||||
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg";
|
|
||||||
hash = "sha256-bUoLeOOqzQb5E/ZCzq0cfbSvNO1IhW1xcaLgtV2aeUU=";
|
|
||||||
};
|
|
||||||
sf-arabic = {
|
|
||||||
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg";
|
|
||||||
hash = "sha256-J2DGLVArdwEsSVF8LqOS7C1MZH/gYJhckn30jRBRl7k=";
|
|
||||||
};
|
|
||||||
ny = {
|
|
||||||
url = "https://devimages-cdn.apple.com/design/resources/download/NY.dmg";
|
|
||||||
hash = "sha256-HC7ttFJswPMm+Lfql49aQzdWR2osjFYHJTdgjtuI+PQ=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Function to create Apple font packages
|
|
||||||
makeAppleFont = name: pkgName: source:
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
inherit (source) url hash;
|
|
||||||
};
|
|
||||||
|
|
||||||
version = "0.3.0";
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
undmg $src
|
|
||||||
7z x '${pkgName}'
|
|
||||||
7z x 'Payload~'
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
pkgs.undmg
|
|
||||||
pkgs.p7zip
|
|
||||||
];
|
|
||||||
setSourceRoot = "sourceRoot=`pwd`";
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/fonts/opentype
|
|
||||||
mkdir -p $out/share/fonts/truetype
|
|
||||||
find -name \*.otf -exec mv {} $out/share/fonts/opentype/ \;
|
|
||||||
find -name \*.ttf -exec mv {} $out/share/fonts/truetype/ \;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
|
||||||
environment.systemPackages = [
|
|
||||||
(makeAppleFont "sf-pro" "SF Pro Fonts.pkg" fontSources.sf-pro)
|
|
||||||
(makeAppleFont "sf-compact" "SF Compact Fonts.pkg" fontSources.sf-compact)
|
|
||||||
(makeAppleFont "sf-mono" "SF Mono Fonts.pkg" fontSources.sf-mono)
|
|
||||||
(makeAppleFont "sf-arabic" "SF Arabic Fonts.pkg" fontSources.sf-arabic)
|
|
||||||
(makeAppleFont "ny" "NY Fonts.pkg" fontSources.ny)
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,10 +1,96 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
# Fonts
|
fontSources = {
|
||||||
fonts.packages = with pkgs; [
|
sf-pro = {
|
||||||
jetbrains-mono
|
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg";
|
||||||
nerd-font-patcher
|
hash = "sha256-IccB0uWWfPCidHYX6sAusuEZX906dVYo8IaqeX7/O88=";
|
||||||
noto-fonts-color-emoji
|
};
|
||||||
|
sf-compact = {
|
||||||
|
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg";
|
||||||
|
hash = "sha256-PlraM6SwH8sTxnVBo6Lqt9B6tAZDC//VCPwr/PNcnlk=";
|
||||||
|
};
|
||||||
|
sf-mono = {
|
||||||
|
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg";
|
||||||
|
hash = "sha256-bUoLeOOqzQb5E/ZCzq0cfbSvNO1IhW1xcaLgtV2aeUU=";
|
||||||
|
};
|
||||||
|
sf-arabic = {
|
||||||
|
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg";
|
||||||
|
hash = "sha256-J2DGLVArdwEsSVF8LqOS7C1MZH/gYJhckn30jRBRl7k=";
|
||||||
|
};
|
||||||
|
ny = {
|
||||||
|
url = "https://devimages-cdn.apple.com/design/resources/download/NY.dmg";
|
||||||
|
hash = "sha256-HC7ttFJswPMm+Lfql49aQzdWR2osjFYHJTdgjtuI+PQ=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
makeAppleFont = name: pkgName: source:
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
inherit name;
|
||||||
|
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
inherit (source) url hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
version = "0.3.0";
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
undmg $src
|
||||||
|
7z x '${pkgName}'
|
||||||
|
7z x 'Payload~'
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pkgs.undmg
|
||||||
|
pkgs.p7zip
|
||||||
];
|
];
|
||||||
|
setSourceRoot = "sourceRoot=`pwd`";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/fonts/opentype
|
||||||
|
mkdir -p $out/share/fonts/truetype
|
||||||
|
find -name \*.otf -exec mv {} $out/share/fonts/opentype/ \;
|
||||||
|
find -name \*.ttf -exec mv {} $out/share/fonts/truetype/ \;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
appleColorEmoji = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "apple-color-emoji";
|
||||||
|
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://github.com/samuelngs/apple-emoji-linux/releases/download/v17.4/AppleColorEmoji.ttf";
|
||||||
|
hash = "sha256-SG3JQLybhY/fMX+XqmB/BKhQSBB0N1VRqa+H6laVUPE=";
|
||||||
|
};
|
||||||
|
unpackPhase = ":";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/fonts/truetype
|
||||||
|
cp $src $out/share/fonts/truetype/AppleColorEmoji.ttf
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
fonts = {
|
||||||
|
enableDefaultPackages = true;
|
||||||
|
packages = with pkgs; [
|
||||||
|
jetbrains-mono
|
||||||
|
nerdfonts
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-emoji
|
||||||
|
(makeAppleFont "sf-pro" "SF Pro Fonts.pkg" fontSources.sf-pro)
|
||||||
|
(makeAppleFont "sf-compact" "SF Compact Fonts.pkg" fontSources.sf-compact)
|
||||||
|
(makeAppleFont "sf-mono" "SF Mono Fonts.pkg" fontSources.sf-mono)
|
||||||
|
(makeAppleFont "sf-arabic" "SF Arabic Fonts.pkg" fontSources.sf-arabic)
|
||||||
|
(makeAppleFont "ny" "NY Fonts.pkg" fontSources.ny)
|
||||||
|
appleColorEmoji
|
||||||
|
];
|
||||||
|
fontconfig = {
|
||||||
|
defaultFonts = {
|
||||||
|
serif = [ "SF Pro" ];
|
||||||
|
sansSerif = [ "SF Pro" ];
|
||||||
|
monospace = [ "JetBrainsMono Nerd Font Mono" ];
|
||||||
|
emoji = [ "Apple Color Emoji" ];
|
||||||
|
};
|
||||||
|
useEmbeddedBitmaps = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue