Nix flake to easily install Apple fonts from their website.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-14 14:51:45 -06:00
.github/workflows Fix actions 2026-02-27 20:29:50 -07:00
.hydra feat: Dynamic hydra jobset 2026-05-26 21:05:39 -06:00
.mergify.yml feat: Dynamic hydra jobset 2026-05-26 21:05:39 -06:00
flake.lock Update fonts 2026-09-14 12:52:11 -06:00
flake.nix Update fonts 2026-09-14 12:52:11 -06:00
fontPackage.nix Update fonts 2026-09-14 12:52:11 -06:00
LICENSE Create LICENSE 2024-06-28 10:16:31 -06:00
README.md feat: README section for overlays 2026-06-27 13:16:00 -06:00

San Francisco Fonts

Note

The fonts are sourced directly from Apple, via apple.com. Add this flake as a font package, then configure your programs to use it.

Tip

Packages are also provided that automatically patch the fonts with the nerd font patcher. This provides a font that includes the most common symbols, suitable for use in the terminal, statusbars, etc.

OVERLAY

An overlay is provided under overlays.default, allowing you to add the font packages to your own nixpkgs instance:

nixpkgs.overlays = [ apple-fonts.overlays.default ];

# Packages are then available as pkgs attributes:
# pkgs.sf-pro, pkgs.sf-mono-nerd, pkgs.ny, etc.

CONFIGURATION EXAMPLE

{
  description = "Configuration Demonstration";
  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

  # San Francisco Fonts | Apple Fonts
  inputs.apple-fonts.url= "github:Lyndeno/apple-fonts.nix";

  outputs = { self, nixpkgs, apple-fonts.nix }: {
    nixosConfigurations = {
      # NOTE: change "host" to your system's hostname
      host = nixpkgs.lib.nixosSystem {
        modules = [
          ./configuration.nix

        ];
      };
    };
  };
}

USAGE EXAMPLE

via stylix:

stylix.fonts = {
    serif = {
        package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
        name = "SFProDisplay Nerd Font";
    };
};

Important

Stylix needs to be enabled and imported as well. Leading to a full example looking more like:

{
  description = "Configuration Demonstration";
  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

  # San Francisco Fonts | Apple Fonts
  inputs.apple-fonts.url= "github:Lyndeno/apple-fonts.nix";
  inputs.apple-fonts.inputs.nixpkgs.follows = "nixpkgs";

  # Stylix
  inputs.stylix.url = "github:danth/stylix";
  inputs.stylix.inputs.nixpkgs.follows = "nixpkgs";

  outputs = { self, nixpkgs, apple-fonts, stylix }: {
    nixosConfigurations = {
      # NOTE: change "host" to your system's hostname
      host = nixpkgs.lib.nixosSystem {
        modules = [
          ./configuration.nix
          stylix.nixosModules.stylix
        ];
      };
    };
  };
}