uuid: - value: 3373d8dc-7c1d-477f-8628-f3029228b9c4 langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T08:59:58+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: 'Building fonts with Nix' created: - value: '2025-04-16T00:00:00+00:00' changed: - value: '2025-05-11T08:59:58+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2025/04/16/fonts langcode: en body: - value: |

I recently started using Nix to build my PDF presentation slides that I create with rst2pdf.

I removed the custom build script that was generating the PDF files and moved that code into a Nix derivation.

Now I can run nix build .#test-driven-drupal and it will generate the slides for that talk.

As well as the files specific to each presentation, I also have a derivation for shared assets that apply to all talks - i.e. the stylesheets and fonts that are embedded within the PDF.

The font files were stored in the repository but I wanted to remove them and use the font files available in nixpkgs.

After some small changes, I was able to do it and remove the font files from my repository.

The Inter font is available in nixpkgs, but it downloads an InterVariable.ttf font that rst2pdf didn't know how to change the font weight for, so I made my own derivation of the static Inter font based on the releases from GitHub.

I'm happy that I was able to achieve this, as my repository is leaner and I'm continuing to find new and interesting uses for Nix in my workflows.

format: full_html processed: |

I recently started using Nix to build my PDF presentation slides that I create with rst2pdf.

I removed the custom build script that was generating the PDF files and moved that code into a Nix derivation.

Now I can run nix build .#test-driven-drupal and it will generate the slides for that talk.

As well as the files specific to each presentation, I also have a derivation for shared assets that apply to all talks - i.e. the stylesheets and fonts that are embedded within the PDF.

The font files were stored in the repository but I wanted to remove them and use the font files available in nixpkgs.

After some small changes, I was able to do it and remove the font files from my repository.

The Inter font is available in nixpkgs, but it downloads an InterVariable.ttf font that rst2pdf didn't know how to change the font weight for, so I made my own derivation of the static Inter font based on the releases from GitHub.

I'm happy that I was able to achieve this, as my repository is leaner and I'm continuing to find new and interesting uses for Nix in my workflows.

summary: null field_daily_email_cta: { }