{ 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"; }); }) ]; }