{ inputs = { nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; systems = { url = "github:nix-systems/default"; }; font-awesome = { url = "github:duskmoon314/typst-fontawesome"; flake = false; }; }; outputs = { self, nixpkgs, flake-parts, ... } @ inputs: flake-parts.lib.mkFlake {inherit inputs;} { systems = import inputs.systems; perSystem = { pkgs, system, ... }: let fonts_path = with pkgs; lib.concatStringsSep ":" [lato font-awesome raleway]; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ typst typstfmt typst-lsp typst-live typst-preview ]; TYPST_FONT_PATHS = fonts_path; }; packages.default = pkgs.stdenvNoCC.mkDerivation { name = "resume"; dontUnpack = true; buildInputs = with pkgs; [typst]; TYPST_FONT_PATHS = fonts_path; src = ./.; fontawesome = inputs.font-awesome; buildPhase = '' # copy sources cp -r $src/src . chmod -R +w src # replace fontawesome remote import with local import cp $fontawesome/lib.typ src/fontawesome.typ sed -i 's/#import "@preview\/fontawesome:0\.1\.0": \*/#import "fontawesome.typ": */g' src/resume.typ # compile typst to pdf typst compile src/resume.typ resume.pdf ''; installPhase = '' mkdir -p $out cp resume.pdf $out/resume.pdf ''; }; }; }; }