qemu.nix (1399B)
1 { config, pkgs, ... }: 2 { 3 imports = [ 4 ../../modules/outputs/jffs2.nix 5 ]; 6 config = { 7 kernel = { 8 config = { 9 MTD = "y"; 10 MTD_BLOCK = "y"; 11 MTD_CMDLINE_PARTS = "y"; 12 MTD_PHRAM = "y"; 13 14 VIRTIO_MENU = "y"; 15 PCI = "y"; 16 VIRTIO_PCI = "y"; 17 BLOCK = "y"; 18 VIRTIO_BLK = "y"; 19 VIRTIO_NET = "y"; 20 }; 21 conditionalConfig = { 22 WLAN = { 23 MAC80211_HWSIM = "m"; 24 }; 25 }; 26 }; 27 hardware = 28 let 29 mac80211 = pkgs.kmodloader.override { 30 inherit (config.system.outputs) kernel; 31 targets = [ "mac80211_hwsim" ]; 32 }; 33 in 34 { 35 defaultOutput = "vmroot"; 36 rootDevice = "/dev/mtdblock0"; 37 dts.src = pkgs.lib.mkDefault null; 38 flash.eraseBlockSize = 65536; 39 networkInterfaces = 40 let 41 inherit (config.system.service.network) link; 42 in 43 { 44 wan = link.build { 45 devpath = "/devices/pci0000:00/0000:00:12.0/virtio0"; 46 ifname = "wan"; 47 }; 48 lan = link.build { 49 devpath = "/devices/pci0000:00/0000:00:13.0/virtio1"; 50 ifname = "lan"; 51 }; 52 53 wlan_24 = link.build { 54 ifname = "wlan0"; 55 dependencies = [ mac80211 ]; 56 }; 57 }; 58 }; 59 }; 60 }