diff options
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/compile.nix | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/nixos/modules/compile.nix b/nixos/modules/compile.nix index 6c42951..ffa339f 100644 --- a/nixos/modules/compile.nix +++ b/nixos/modules/compile.nix @@ -17,7 +17,25 @@ with lib; max-jobs = 32; cores = 0; }; - boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; + boot.binfmt.registrations = { + aarch64-linux = { + fixBinary = true; + wrapInterpreterInShell = false; + interpreter = (lib.systems.elaborate { system = "aarch64-linux"; }).emulator pkgs; + magicOrExtension = "\\x7fELF\\x02\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\xb7\\x00"; + mask = "\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\x00\\xff\\xfe\\xff\\xff\\xff"; + }; + armv7l-linux = { + fixBinary = true; + wrapInterpreterInShell = false; + interpreter = (lib.systems.elaborate { system = "armv7l-linux"; }).emulator pkgs; + magicOrExtension = "\\x7fELF\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x28\\x00"; + mask = "\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\x00\\xff\\xfe\\xff\\xff\\xff"; + }; + }; + nix.settings.extra-platforms = [ + "aarch64-linux" "armv7l-linux" + ]; environment.systemPackages = with pkgs; [ # Tools |