Commit 2250cca672c4
Changed files (4)
systems
hosts
modules
core
systems/hosts/aomi.nix
@@ -73,44 +73,29 @@ in
loader.systemd-boot.netbootxyz.enable = true;
kernelPackages = pkgs.linuxPackages_latest;
tmpOnTmpfs = true;
- binfmt.registrations = {
- s390x-linux = {
- # interpreter = getEmulator "s390x-linux";
- interpreter = "${pkgs.qemu}/bin/qemu-s390x";
- magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16'';
- mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'';
- };
- };
- binfmt.emulatedSystems = [
- "armv6l-linux"
- "armv7l-linux"
- "aarch64-linux"
- # "s390x-linux"
- "powerpc64le-linux"
- ];
};
- # FIXME Fix tmpOnTmpfs
- # systemd.additionalUpstreamSystemUnits = [ "tmp.mount" ];
-
services.hardware.bolt.enable = true;
modules = {
- hardware = { };
+ core.binfmt.enable = true;
+ hardware = {
+ laptop.enable = true;
+ };
+ services = {
+ avahi.enable = true;
+ ssh.enable = true;
+ syncthing.enable = true;
+ };
};
profiles = {
externalbuilder.enable = true;
- # desktop.i3.enable = true;
- laptop.enable = true;
home = true;
dev.enable = true;
virtualization = { enable = true; nested = true; };
redhat.enable = true;
- ssh.enable = true;
docker.enable = true;
- avahi.enable = true;
- syncthing.enable = true;
};
systems/hosts/shikoku.nix
@@ -32,22 +32,6 @@ in
};
};
- boot.binfmt.registrations = {
- s390x-linux = {
- # interpreter = getEmulator "s390x-linux";
- interpreter = "${pkgs.qemu}/bin/qemu-s390x";
- magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16'';
- mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'';
- };
- };
- boot.binfmt.emulatedSystems = [
- "armv6l-linux"
- "armv7l-linux"
- "aarch64-linux"
- # "s390x-linux"
- "powerpc64le-linux"
- ];
-
# TODO: check if it's done elsewhere
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
@@ -97,6 +81,10 @@ in
device = "/dev/disk/by-uuid/a9ec44e6-0c1d-4f60-9f5c-81a7eaa8e8fd";
}];
+ modules = {
+ core.binfmt.enable = true;
+ };
+
programs.ssh.setXAuthLocation = true;
profiles = {
bind.enable = true;
systems/modules/core/binfmt.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs, ... }:
+
+let
+ inherit (lib) mkEnableOption mkIf types;
+ cfg = config.modules.core.binfmt;
+in
+{
+ options = {
+ modules.core.binfmt = {
+ enable = mkEnableOption "Register extra emulated systems using binfmt";
+ };
+ };
+ config = mkIf cfg.enable {
+ boot = {
+ binfmt.registrations = {
+ s390x-linux = {
+ # interpreter = getEmulator "s390x-linux";
+ interpreter = "${pkgs.qemu}/bin/qemu-s390x";
+ magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16'';
+ mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'';
+ };
+ };
+ binfmt.emulatedSystems = [
+ "armv6l-linux"
+ "armv7l-linux"
+ "aarch64-linux"
+ "powerpc64le-linux"
+ ];
+ };
+ };
+}
systems/modules/core/default.nix
@@ -4,6 +4,7 @@
./config.nix
./nix.nix
./users.nix
+ ./binfmt.nix
];
boot = {