Provides an entry point that builds and returns a combined LH + RH keyboard firmware when provided a keymap via a POST body. Wraps compilation with ccache, and includes a pre-warmed cache of the build in /tmp/ccache. To maximize chance of a direct cache hit, changes the lambda driver to always build in /tmp/build. some back of the envelope measurements (2012 xeon e3-1230v2, nixos) clean build, no cache -> 21.308 clean build, cache -> 7.145 modified keymap, clean build, cache -> 12.127
26 lines
420 B
Nix
26 lines
420 B
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
with pkgs;
|
|
|
|
let
|
|
bundleEnv = bundlerEnv {
|
|
name = "lambda-bundler-env";
|
|
ruby = ruby_3_1;
|
|
gemfile = ./Gemfile;
|
|
lockfile = ./Gemfile.lock;
|
|
gemset = ./gemset.nix;
|
|
};
|
|
|
|
source = stdenv.mkDerivation {
|
|
name = "lambda-builder";
|
|
version = "0.0.1";
|
|
src = ./.;
|
|
installPhase = ''
|
|
cp -r ./ $out
|
|
'';
|
|
};
|
|
|
|
in
|
|
{
|
|
inherit bundleEnv source;
|
|
}
|