{
  description = "An empty flake template that you can adapt to your own environment";

  # Flake inputs
  inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1";

  # Flake outputs
  outputs =
    inputs:
    let
      # The systems supported for this flake
      supportedSystems = [
        "x86_64-linux" # 64-bit Intel/AMD Linux
        "aarch64-linux" # 64-bit ARM Linux
        "x86_64-darwin" # 64-bit Intel macOS
        "aarch64-darwin" # 64-bit ARM macOS
      ];

      # Helper to provide system-specific attributes
      forEachSupportedSystem =
        f:
        inputs.nixpkgs.lib.genAttrs supportedSystems (
          system:
          f {
            pkgs = import inputs.nixpkgs { inherit system; };
          }
        );
    in
    {
      devShells = forEachSupportedSystem (
        { pkgs }: {
          default = pkgs.mkShell {
            # The Nix packages provided in the environment
            # Add any you need here
            packages = with pkgs; [
              presenterm
              python313Packages.weasyprint
            ];

            # Set any environment variables for your dev shell
            env = { };

            # Add any shell logic you want executed any time the environment is activated
            shellHook = '''';
          };
        }
      );
      packages = forEachSupportedSystem (
        { pkgs }: {
          default = pkgs.stdenv.mkDerivation {
            inherit (pkgs) system;
            name = "linkedin-shoblog-posts";
            src = ./src;
            buildInputs = with pkgs; [
              presenterm
              python313Packages.weasyprint
            ];
            buildPhase = let
              font_dir = "${pkgs.nerd-fonts.jetbrains-mono}/share/fonts/truetype/NerdFonts/JetBrainsMono/";
              config = pkgs.writeTextFile {
                name = "presenterm.conf";
                text = ''
                  export:
                    dimensions:
                      columns: 108
                      rows: 85
                    pdf:
                      fonts:
                        normal: ${font_dir}/JetBrainsMonoNerdFont-Regular.ttf 
                        italic: ${font_dir}/JetBrainsMonoNerdFont-Italic.ttf
                        bold: ${font_dir}/JetBrainsMonoNerdFont-Bold.ttf
                        bold_italic: ${font_dir}/JetBrainsMonoNerdFont-BoldItalic.ttf
                '';
              };
            in
            ''
              export PRES_CONFIG=${config}
              python scripts/build.py
            '';
          };
        }
      );
    };
}
