44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
# Mobile NixOS mruby fails tests in sandbox — strip checks + rebuild script-loader. Import before device config.
|
|
{ inputs, ... }: {
|
|
flake.nixosModules.systemIdeapadMrubyOverlay =
|
|
{ config, lib, ... }:
|
|
let
|
|
cfg = config.chiasson.system.ideapadMrubyOverlay;
|
|
mobileNixosSrc = inputs.mobile-nixos;
|
|
in
|
|
{
|
|
options.chiasson.system.ideapadMrubyOverlay = {
|
|
enable = lib.mkEnableOption ''
|
|
Fix mruby for Mobile NixOS (no tests) + script-loader rebuild. Needs `mobile-nixos` input.
|
|
'';
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
nixpkgs.overlays = lib.mkOrder 1000 [
|
|
(final: prev:
|
|
let
|
|
fixMruby =
|
|
drv:
|
|
drv.overrideAttrs (old: {
|
|
doCheck = false;
|
|
preCheck = (old.preCheck or "") + ''
|
|
export SHELL="${final.bash}/bin/bash"
|
|
unset SOURCE_DATE_EPOCH
|
|
'';
|
|
});
|
|
mrubyFixed =
|
|
prev.lib.makeOverridable (args: fixMruby (prev.mruby.override args)) { };
|
|
in
|
|
{
|
|
mruby = mrubyFixed;
|
|
mobile-nixos = (prev.mobile-nixos or { }) // {
|
|
script-loader = final.callPackage "${mobileNixosSrc}/boot/script-loader" {
|
|
mruby = mrubyFixed;
|
|
};
|
|
};
|
|
})
|
|
];
|
|
};
|
|
};
|
|
}
|