{ inputs.nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; outputs = { nixpkgs, ... }: let platforms = [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "aarch64-linux" "aarch64-darwin" "aarch64-freebsd" ]; eachPlatform = platform: let pkgs = nixpkgs.legacyPackages.${platform}; no-style-please = pkgs.buildRubyGem { gemName = "no-style-please"; version = "0.4.9"; source.sha256 = "sha256-OsM7CkqnfnQviufTyWJC6ISHl0voDOp3+5RuPr2Z72Y="; }; jektex = pkgs.buildRubyGem { gemName = "jektex"; version = "0.1.1"; source.sha256 = "sha256-qC0E9rYMrQbtGt1CbGJxivYSHVwG/uiFmse+5ug0Rw8="; }; htmlentities = pkgs.buildRubyGem { gemName = "htmlentities"; version = "4.3.4"; source.sha256 = "sha256-Elpzxsny0bYhALfDxAHjYkRBtmN2Kvp/5ChHZDWmc9o="; }; rubyEnv = pkgs.ruby.withPackages (p: with p; [ jekyll no-style-please jekyll-feed jekyll-seo-tag jektex kramdown-parser-gfm execjs htmlentities ]); site = pkgs.runCommand "blog.rhelmot.io" { nativeBuildInputs = [ rubyEnv pkgs.nodejs ]; } '' mkdir -p source cd source cp -r ${./blog}/* . cp -r ${no-style-please}/lib/ruby/gems/*/gems/*/{_sass,_layouts,_includes} . jekyll build -s . -d "$out" ''; in { name = platform; value = { default = site; }; }; in { packages = builtins.listToAttrs (builtins.map eachPlatform platforms); }; }