36 lines
1016 B
Nix
36 lines
1016 B
Nix
{ config, lib, pkgs, modulesPath, ... }:
|
||
|
||
{
|
||
nixpkgs.crossSystem = {
|
||
system = "riscv64-linux";
|
||
gcc.arch = "rv64g";
|
||
gcc.tune = "rv64g";
|
||
};
|
||
|
||
# FIXME: Broken as rustc injects compressed instructions.
|
||
# For now we disable it.
|
||
services.nscd.enableNsncd = false;
|
||
|
||
boot.kernelPatches = [ {
|
||
name = "disable-compressed";
|
||
patch = null;
|
||
extraConfig = ''
|
||
RISCV_ISA_C n
|
||
NONPORTABLE y
|
||
EFI n
|
||
'';
|
||
} ];
|
||
|
||
nixpkgs.overlays = [
|
||
(final: prev: {
|
||
# Fix GCC 13 format-overflow warning/error:
|
||
# ../src/shared/install.c:444:64: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
|
||
# 444 | err = log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.",
|
||
# | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
systemd = prev.systemd.overrideAttrs (old: {
|
||
CFLAGS = "-Wno-error=format-overflow";
|
||
});
|
||
})
|
||
];
|
||
}
|