52 lines
1.6 KiB
Nix
52 lines
1.6 KiB
Nix
{
|
|
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);
|
|
};
|
|
}
|