liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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 }