chore: add nix flake

Adds a simple jekyll Nix flake.

To run the website use:

    nix run .#bundle

Followed by:

    make serve
This commit is contained in:
Fintan Halpenny
2025-04-17 15:44:19 +02:00
parent 6b4671abc7
commit 8e61d9fca0
4 changed files with 195 additions and 44 deletions
+1
View File
@@ -0,0 +1 @@
use flake
+14 -44
View File
@@ -82,51 +82,21 @@ GEM
rexml (3.3.8)
rouge (4.4.0)
safe_yaml (1.0.5)
sass-embedded (1.79.4)
google-protobuf (~> 4.27)
sass-embedded (1.83.0)
google-protobuf (~> 4.28)
rake (>= 13)
sass-embedded (1.79.4-aarch64-linux-android)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-aarch64-linux-gnu)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-aarch64-linux-musl)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-aarch64-mingw-ucrt)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-arm-linux-androideabi)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-arm-linux-gnueabihf)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-arm-linux-musleabihf)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-arm64-darwin)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-riscv64-linux-android)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-riscv64-linux-gnu)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-riscv64-linux-musl)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86-cygwin)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86-linux-android)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86-linux-gnu)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86-linux-musl)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86-mingw-ucrt)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86_64-cygwin)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86_64-darwin)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86_64-linux-android)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86_64-linux-gnu)
google-protobuf (~> 4.27)
sass-embedded (1.79.4-x86_64-linux-musl)
google-protobuf (~> 4.27)
sass-embedded (1.83.0-aarch64-mingw-ucrt)
google-protobuf (~> 4.28)
sass-embedded (1.83.0-arm64-darwin)
google-protobuf (~> 4.28)
sass-embedded (1.83.0-x86-cygwin)
google-protobuf (~> 4.28)
sass-embedded (1.83.0-x86-mingw-ucrt)
google-protobuf (~> 4.28)
sass-embedded (1.83.0-x86_64-cygwin)
google-protobuf (~> 4.28)
sass-embedded (1.83.0-x86_64-darwin)
google-protobuf (~> 4.28)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.6.0)
Generated
+104
View File
@@ -0,0 +1,104 @@
{
"nodes": {
"bundix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1721093334,
"narHash": "sha256-5FghZ0HIETbc0TGcBV8uyixq5z4w/9PF5Puhujz3D1o=",
"owner": "inscapist",
"repo": "bundix",
"rev": "42c08846f7e5d91ef121239fd364feaeb22c0bbc",
"type": "github"
},
"original": {
"owner": "inscapist",
"ref": "main",
"repo": "bundix",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1735651292,
"narHash": "sha256-YLbzcBtYo1/FEzFsB3AnM16qFc6fWPMIoOuSoDwvg9g=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0da3c44a9460a26d2025ec3ed2ec60a895eb1114",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"bundix": "bundix",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"ruby-nix": "ruby-nix"
}
},
"ruby-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1744623277,
"narHash": "sha256-0HWA2YD9v71SHyMF11PKnVJcHnrHhRLHDCldlUbzYII=",
"owner": "inscapist",
"repo": "ruby-nix",
"rev": "43964ced23803f49e2d307fbbfd4e03ed23760c0",
"type": "github"
},
"original": {
"owner": "inscapist",
"repo": "ruby-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
+76
View File
@@ -0,0 +1,76 @@
{
description = "radicle.xyz";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-24.05";
flake-utils.url = "github:numtide/flake-utils";
bundix = {
url = "github:inscapist/bundix/main";
inputs.nixpkgs.follows = "nixpkgs";
};
ruby-nix = {
url = "github:inscapist/ruby-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
bundix,
ruby-nix,
...
}:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [ ruby-nix.overlays.ruby ];
};
rubyNix = ruby-nix.lib pkgs;
bundixcli = bundix.packages.${system}.default;
deps = with pkgs; [ env ruby bundixcli nodePackages.vercel ];
inherit (rubyNix {
name = "seroperson.gitlab.io";
gemset = ./gemset.nix;
gemConfig = pkgs.defaultGemConfig;
})
env ruby;
in {
packages = let
bundlecli = pkgs.writeShellApplication {
name = "bundle";
runtimeInputs = deps;
text = ''
export BUNDLE_PATH=vendor/bundle
bundle "$@"
'';
};
jekyll = pkgs.writeShellApplication {
name = "jekyll";
runtimeInputs = deps;
text = ''
if [ $# -eq 0 ]; then
jekyll build
else
jekyll "$@"
fi
'';
};
in {
jekyll = jekyll;
bundle = bundlecli;
bundix = bundixcli;
default = jekyll;
};
devShells.default = pkgs.mkShell {
shellHook = ''
export BUNDLE_PATH=vendor/bundle
'';
buildInputs = deps;
};
});
}