Personal Nix setup

Add SF fonts

Changed files
+62 -4
lib
modules
desktop
+1 -1
flake.nix
···
inputs.language-servers.overlays.default
(self: super: {
zen-browser = inputs.zen-browser.packages.${self.system}.beta;
-
})
+
} // (import ./lib/pkgs self))
];
in {
darwinConfigurations."sprite" = mkSystem {
+4 -1
lib/pkgs/default.nix
···
-
pkgs: { }
+
pkgs: {
+
sf-pro = import ./sf-pro.nix pkgs;
+
sf-pro-mono = import ./sf-pro-mono.nix pkgs;
+
}
+24
lib/pkgs/sf-pro-mono.nix
···
+
{
+
stdenv,
+
lib,
+
fetchFromGitHub,
+
unzip,
+
...
+
}: stdenv.mkDerivation rec {
+
pname = "SF-Pro-mono";
+
version = "v3.0.0";
+
+
src = fetchFromGitHub {
+
owner = "shaunsingh";
+
repo = "SFMono-Nerd-Font-Ligaturized";
+
rev = "main";
+
sha256 = "sha256-AYjKrVLISsJWXN6Cj74wXmbJtREkFDYOCRw1t2nVH2w=";
+
};
+
+
nativeBuildInputs = [unzip];
+
+
installPhase = ''
+
mkdir -p $out/share/fonts/opentype
+
cp *.otf $out/share/fonts/opentype/
+
'';
+
}
+26
lib/pkgs/sf-pro.nix
···
+
{
+
stdenv,
+
lib,
+
fetchFromGitHub,
+
unzip,
+
...
+
}: stdenv.mkDerivation rec {
+
pname = "SF-Pro";
+
version = "v3.0.0";
+
+
src = fetchFromGitHub {
+
owner = "sahibjotsaggu";
+
repo = "San-Francisco-Pro-Fonts";
+
rev = "master";
+
sha256 = "sha256-mAXExj8n8gFHq19HfGy4UOJYKVGPYgarGd/04kUIqX4=";
+
};
+
+
nativeBuildInputs = [unzip];
+
+
installPhase = ''
+
mkdir -p $out/share/fonts/opentype
+
mkdir -p $out/share/fonts/truetype
+
cp *.otf $out/share/fonts/opentype
+
cp *.ttf $out/share/fonts/truetype
+
'';
+
}
+7 -2
modules/desktop/fonts.nix
···
config = mkIf cfg.fonts.enable {
fonts = {
-
fontDir.enable = true;
+
fontDir = {
+
enable = true;
+
decompressFonts = true;
+
};
packages = with pkgs; [
+
sf-pro
+
sf-pro-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
···
fontconfig.defaultFonts = {
serif = [ "Noto Serif" "Noto Color Emoji" ];
-
sansSerif = [ "Inter" "Noto Color Emoji" ];
+
sansSerif = [ "SF Pro Display" "Noto Color Emoji" ];
monospace = [ "Dank Mono" "Roboto Mono" "Noto Color Emoji" ];
emoji = [ "Noto Color Emoji" ];
};