{
  description = "The website for Moxxy";
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    flake-utils.url = "github:numtide/flake-utils";
  };

  outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let
    pkgs = import nixpkgs {
      inherit system;
    };

    jekyllPackages = with pkgs; [
      rubyPackages.jekyll-feed rubyPackages.jekyll-seo-tag
    ];
    tailwindWithTypography = (pkgs.nodePackages.tailwindcss.overrideAttrs (old: {
      plugins = [
        pkgs.nodePackages."@tailwindcss/typography"
      ];
    }));

  in {
    devShell = pkgs.mkShell {
      buildInputs = with pkgs; [
        tailwindWithTypography
        jekyll 
        imagemagick
      ] ++ jekyllPackages;
    };

    packages = {
      website = pkgs.callPackage ./pkgs/website.nix {
        inherit tailwindWithTypography jekyllPackages;
      };
    };
  });
}
