{"badge.bling.backend": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "\"fix\""}, "description": "The evaluator for `evalPattern`: \"fix\" (embedded) or \"nix\" (the Nix C API,\naarch64 only; elsewhere it falls back to fix).\n", "loc": ["badge", "bling", "backend"], "readOnly": false, "type": "one of \"fix\", \"nix\""}, "badge.bling.bits": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "8"}, "description": "SPI bits sent for each WS2812 bit: 8 (0 -> 10000000, 1 -> 11111100), 4\n(1000, 1110) or 3 (100, 110; flips bits at random on this badge's LEDs).\n", "loc": ["badge", "bling", "bits"], "readOnly": false, "type": "one of 3, 4, 8"}, "badge.bling.blob": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "null"}, "description": "A baked \"BLED\" RGB-frame blob to play on the ring (see nix-badge-bling-content's\nleds.nix). With neither this nor `evalPattern`, the ring shows a dim blue fill.\n", "loc": ["badge", "bling", "blob"], "readOnly": false, "type": "null or absolute path"}, "badge.bling.brightness": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "64"}, "description": "Global brightness, applied by scaling the colour channels.", "loc": ["badge", "bling", "brightness"], "readOnly": false, "type": "integer between 0 and 255 (both inclusive)"}, "badge.bling.count": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "description": "Number of WS2812 LEDs on the ring.", "loc": ["badge", "bling", "count"], "readOnly": false, "type": "positive integer, meaning >0"}, "badge.bling.csHigh": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Ask spidev for SPI_CS_HIGH. Keep this true: the LED ring only takes data while\nchip select is high (LED_DIN = CS AND SDO). The device tree's GPIO chip select\nalready sets that polarity, so this option is only for overriding it.\n", "loc": ["badge", "bling", "csHigh"], "readOnly": false, "type": "boolean"}, "badge.bling.device": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "\"/dev/spidev3.0\""}, "description": "spidev node for the SPI3 controller.", "loc": ["badge", "bling", "device"], "readOnly": false, "type": "string"}, "badge.bling.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.ledRing.enable"}, "description": "Whether to enable the badge WS2812 LED ring.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "bling", "enable"], "readOnly": false, "type": "boolean"}, "badge.bling.evalPattern": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "null"}, "description": "A pure-Nix LED pattern, `scope: { bitmap = [ 0xRRGGBB ... ]; nextMs; }`,\nevaluated every frame. Takes precedence over `blob`.\n", "loc": ["badge", "bling", "evalPattern"], "readOnly": false, "type": "null or absolute path"}, "badge.bling.fps": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "30"}, "description": "Animation frames per second.", "loc": ["badge", "bling", "fps"], "readOnly": false, "type": "integer between 1 and 200 (both inclusive)"}, "badge.bling.speedHz": {"declarations": [{"name": "<BadgeOS/modules/sg2k/bling.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/bling.nix"}], "default": {"_type": "literalExpression", "text": "6400000"}, "description": "SPI clock in Hz; with `bits` it sets the LED bit time. The driver rounds it\nto an even divisor of ssi_clk, and the service logs the timing it got. The\nbadge's XL-1615/XL-2020 LEDs want a T1H of 0.9 to 1.0 us.\n", "loc": ["badge", "bling", "speedHz"], "readOnly": false, "type": "positive integer, meaning >0"}, "badge.cache.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/cache.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/cache.nix"}], "default": {"_type": "literalExpression", "text": "config.badge.ipxe.enable"}, "description": "Whether to enable the badge's pull-through binary cache.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "cache", "enable"], "readOnly": false, "type": "boolean"}, "badge.cache.upstreams": {"declarations": [{"name": "<BadgeOS/modules/sg2k/cache.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/cache.nix"}], "default": {"_type": "literalExpression", "text": "[\n  \"https://cache.nixos.lv\"\n  \"https://cache.nixos.org\"\n]"}, "description": "The binary caches a miss is pulled from, tried in order.", "loc": ["badge", "cache", "upstreams"], "readOnly": false, "type": "list of string"}, "badge.desktop.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/desktop.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/desktop.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.hdmi.enable"}, "description": "Whether to enable desktop boot specialisation.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "desktop", "enable"], "readOnly": false, "type": "boolean"}, "badge.graphics.autostart": {"declarations": [{"name": "<BadgeOS/modules/sg2k/graphics.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/graphics.nix"}], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Commands the sway config starts (`exec`), in order.", "example": {"_type": "literalExpression", "text": "[\n  \"/run/current-system/sw/bin/badge-demo\"\n]"}, "loc": ["badge", "graphics", "autostart"], "readOnly": false, "type": "list of string"}, "badge.graphics.autostartDemo": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Launch badge-demo from the sway config (and install it); ESC in the prod\nquits back to sway.\n", "loc": ["badge", "graphics", "autostartDemo"], "readOnly": false, "type": "boolean"}, "badge.graphics.autostartQuake": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Launch ioquake3 from the sway config.", "loc": ["badge", "graphics", "autostartQuake"], "readOnly": false, "type": "boolean"}, "badge.graphics.demo": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Install the \"Nix Fixes This\" demoscene prod (badge-demo).", "loc": ["badge", "graphics", "demo"], "readOnly": false, "type": "boolean"}, "badge.graphics.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/graphics.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/graphics.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable Sway on DRM/KMS, software-rendered.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "graphics", "enable"], "readOnly": false, "type": "boolean"}, "badge.graphics.outputMode": {"declarations": [{"name": "<BadgeOS/modules/sg2k/graphics.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/graphics.nix"}], "default": {"_type": "literalExpression", "text": "\"1280x720\""}, "description": "The mode sway sets on the HDMI output; both drive the same 1280x720p60 line.\n\"1280x720\": the DISP video layer scans the compositor's RGB888 buffer 1:1.\n\"640x360\": the DISP GOP doubles an XRGB8888 buffer, for a quarter of the\npixels to render and a third of the scanout bandwidth.\n", "loc": ["badge", "graphics", "outputMode"], "readOnly": false, "type": "one of \"1280x720\", \"640x360\""}, "badge.graphics.quake": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Install ioquake3 and the Quake III demo data.", "loc": ["badge", "graphics", "quake"], "readOnly": false, "type": "boolean"}, "badge.graphics.quakeHeight": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "360"}, "description": "ioquake3 render height (r_customheight). See quakeWidth.", "loc": ["badge", "graphics", "quakeHeight"], "readOnly": false, "type": "signed integer"}, "badge.graphics.quakeHunkMiB": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "64"}, "description": "ioquake3's up-front hunk allocation (com_hunkMegs), in MiB. Upstream\ndefaults to 128; this board has 351 MB of RAM in total.\n", "loc": ["badge", "graphics", "quakeHunkMiB"], "readOnly": false, "type": "signed integer"}, "badge.graphics.quakeWidth": {"declarations": [{"name": "<BadgeOS/modules/sg2k/games.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/games.nix"}], "default": {"_type": "literalExpression", "text": "640"}, "description": "ioquake3 render width (r_customwidth). At 640x360 SDL switches the output to\nits GOP-doubled 640x360 mode, three times as fast as 1280x720.\n", "loc": ["badge", "graphics", "quakeWidth"], "readOnly": false, "type": "signed integer"}, "badge.ipxe.badapple": {"declarations": [{"name": "<BadgeOS/modules/sg2k/ipxe.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/ipxe.nix"}], "default": {"_type": "literalExpression", "text": "pkgs.nix-badge-netboot-badapple"}, "description": "The iPXE script the menu offers to play before booting.", "loc": ["badge", "ipxe", "badapple"], "readOnly": false, "type": "package"}, "badge.ipxe.banner": {"declarations": [{"name": "<BadgeOS/modules/sg2k/ipxe.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/ipxe.nix"}], "default": {"_type": "literalExpression", "text": "../installer/motd.txt"}, "description": "The text iPXE shows before the menu.", "loc": ["badge", "ipxe", "banner"], "readOnly": false, "type": "absolute path"}, "badge.ipxe.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/ipxe.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/ipxe.nix"}], "default": {"_type": "literalExpression", "text": "config.badge.router.enable"}, "description": "Whether to enable netbooting the Nix Vegas installer from the badge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "ipxe", "enable"], "readOnly": false, "type": "boolean"}, "badge.ipxe.manual": {"declarations": [{"name": "<BadgeOS/modules/sg2k/ipxe.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/ipxe.nix"}], "default": {"_type": "literalMD", "text": "this manual, built to be served at /"}, "description": "The site nginx serves at /.", "loc": ["badge", "ipxe", "manual"], "readOnly": false, "type": "package"}, "badge.ipxe.netboot": {"declarations": [{"name": "<BadgeOS/modules/sg2k/ipxe.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/ipxe.nix"}], "default": {"_type": "literalMD", "text": "the Nix Vegas installer, built for x86_64-linux"}, "description": "What is netbooted: a directory with bzImage, initrd and netboot.ipxe, which loads\nthem by relative path, and the x86_64 iPXE binaries ipxe.efi and undionly.kpxe.\n", "loc": ["badge", "ipxe", "netboot"], "readOnly": false, "type": "package"}, "badge.lan.address": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "\"10.55.0.1\""}, "description": "The badge's address on its network.", "loc": ["badge", "lan", "address"], "readOnly": false, "type": "string"}, "badge.lan.dhcp": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Serve DHCP on the badge's network.", "loc": ["badge", "lan", "dhcp"], "readOnly": false, "type": "boolean"}, "badge.lan.dns": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Serve DNS on the badge's network.", "loc": ["badge", "lan", "dns"], "readOnly": false, "type": "boolean"}, "badge.lan.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Give the badge its address on its own network and serve what is on it: the\nrouter's LAN, or with the router off the computer on the USB port. The router\nneeds it on.\n", "loc": ["badge", "lan", "enable"], "readOnly": false, "type": "boolean"}, "badge.lan.interface": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "if config.badge.router.enable then \"lan0\" else config.badge.router.interfaces.usb\n"}, "description": "The badge's network: the bridge the router makes, or the USB link.", "loc": ["badge", "lan", "interface"], "readOnly": false, "type": "string"}, "badge.lan.offerGateway": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "On the USB link, hand the badge out as the host's default route (the DHCP router\noption). Off by default: a workstation applying it would route through the badge,\nwhich does not NAT there. The router offers itself while its uplink is up.\n", "loc": ["badge", "lan", "offerGateway"], "readOnly": false, "type": "boolean"}, "badge.lan.poolEnd": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "\"10.55.0.200\""}, "description": "The last address DHCP hands out.", "loc": ["badge", "lan", "poolEnd"], "readOnly": false, "type": "string"}, "badge.lan.poolStart": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "\"10.55.0.100\""}, "description": "The first address DHCP hands out.", "loc": ["badge", "lan", "poolStart"], "readOnly": false, "type": "string"}, "badge.lan.prefixLength": {"declarations": [{"name": "<BadgeOS/modules/sg2k/lan.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/lan.nix"}], "default": {"_type": "literalExpression", "text": "24"}, "description": "The prefix length of the badge's network.", "loc": ["badge", "lan", "prefixLength"], "readOnly": false, "type": "signed integer"}, "badge.oled.backend": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "\"fix\""}, "description": "The evaluator for the eval screens: \"fix\" (embedded) or \"nix\" (the Nix C API,\naarch64 only; elsewhere it falls back to fix). A >5 s button hold flips it\nand saves the choice to /etc/nix-badge/oled.backend, which wins over this.\n", "loc": ["badge", "oled", "backend"], "readOnly": false, "type": "one of \"fix\", \"nix\""}, "badge.oled.blingDir": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "\"/etc/nix-badge/bling.d\""}, "description": "Directory of pure-Nix LED patterns (*.nix, in name order) that a short press\ncycles through, by writing the next one into leds.conf.\n", "loc": ["badge", "oled", "blingDir"], "readOnly": false, "type": "string"}, "badge.oled.button": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "\"user-btn\""}, "description": "Device-tree gpio-line-name of the button: a short press cycles the LED\npattern, a long one the OLED screen. Without such a line the engine runs on\nSIGUSR1/2 alone. btn-boot-n belongs to bootswap.\n", "loc": ["badge", "oled", "button"], "readOnly": false, "type": "string"}, "badge.oled.controller": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "\"auto\""}, "description": "Which controller drives the panel. \"auto\" detects automatically.\n", "loc": ["badge", "oled", "controller"], "readOnly": false, "type": "one of \"auto\", \"ssd1306\", \"sh1106\""}, "badge.oled.dynamicNix": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Link the engine's Nix C API dynamically: seconds instead of a ~15-minute\nstatic link, for a bigger closure.\n", "loc": ["badge", "oled", "dynamicNix"], "readOnly": false, "type": "boolean"}, "badge.oled.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.oled.enable"}, "description": "Run the oled engine on the optional SAO OLED. Without it the WS2812 ring\nstill animates.\n", "loc": ["badge", "oled", "enable"], "readOnly": false, "type": "boolean"}, "badge.oled.ethInterface": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "\"eth0\""}, "description": "The wired interface whose IPv4 address the `net` screen shows (passed as\n`--eth-iface`).\n", "example": {"_type": "literalExpression", "text": "\"end0\""}, "loc": ["badge", "oled", "ethInterface"], "readOnly": false, "type": "string"}, "badge.oled.evalDir": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "null"}, "description": "A directory of *.nix screens, read at run time in name order. They may\n`import <nix-badge/lib/...>` (nix-badge=/etc/nix-badge).\n", "loc": ["badge", "oled", "evalDir"], "readOnly": false, "type": "null or string"}, "badge.oled.evalScreens": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "Pure-Nix OLED screens, `scope: { bitmap = [ <int> ... ]; nextMs; }` (4 page\nbytes per int, little-endian), compiled into one shared fix Engine. A long\npress or SIGUSR2 cycles them; a screen that fails to compile is skipped.\n", "example": {"_type": "literalExpression", "text": "[\n  \"${pkgs.bling-badapple-live}/badapple-live.nix\"\n]\n"}, "loc": ["badge", "oled", "evalScreens"], "readOnly": false, "type": "list of absolute path"}, "badge.oled.gcBudgetMb": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "32"}, "description": "The fix Engine's GC collection line, in MiB: the heap-reserved size at which\nan allocation triggers a collection.\n", "loc": ["badge", "oled", "gcBudgetMb"], "readOnly": false, "type": "positive integer, meaning >0"}, "badge.oled.height": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "32"}, "description": "OLED height in pixels (32 or 64 rows).", "loc": ["badge", "oled", "height"], "readOnly": false, "type": "one of 32, 64"}, "badge.oled.width": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "128"}, "description": "OLED width in pixels (128 for the SSD1306).", "loc": ["badge", "oled", "width"], "readOnly": false, "type": "positive integer, meaning >0"}, "badge.oled.wlanInterface": {"declarations": [{"name": "<BadgeOS/modules/sg2k/oled.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/oled.nix"}], "default": {"_type": "literalExpression", "text": "\"wlan0\""}, "description": "The wireless interface whose IPv4 address the `net` screen shows (passed\nas `--wlan-iface`).\n", "example": {"_type": "literalExpression", "text": "\"wlp1s0\""}, "loc": ["badge", "oled", "wlanInterface"], "readOnly": false, "type": "string"}, "badge.router.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/router.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/router.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the badge as a router for whatever is on its wired ports.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "router", "enable"], "readOnly": false, "type": "boolean"}, "badge.router.interfaces.ethernet": {"declarations": [{"name": "<BadgeOS/modules/sg2k/router.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/router.nix"}], "default": {"_type": "literalExpression", "text": "\"eth0\""}, "description": "The Ethernet interface. For tests and other boards.", "loc": ["badge", "router", "interfaces", "ethernet"], "readOnly": false, "type": "string"}, "badge.router.interfaces.usb": {"declarations": [{"name": "<BadgeOS/modules/sg2k/router.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/router.nix"}], "default": {"_type": "literalExpression", "text": "\"usb0\""}, "description": "The USB network interface. For tests and other boards.", "loc": ["badge", "router", "interfaces", "usb"], "readOnly": false, "type": "string"}, "badge.router.interfaces.wifi": {"declarations": [{"name": "<BadgeOS/modules/sg2k/router.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/router.nix"}], "default": {"_type": "literalExpression", "text": "\"wlan0\""}, "description": "The WiFi interface. For tests and other boards.", "loc": ["badge", "router", "interfaces", "wifi"], "readOnly": false, "type": "string"}, "badge.router.upstream": {"declarations": [{"name": "<BadgeOS/modules/sg2k/router.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/router.nix"}], "default": {"_type": "literalExpression", "text": "\"wifi\""}, "description": "The uplink: the port the badge takes its default route from and NATs out of. The\nother wired ports are bridged as the badge's own network, lan0.\n", "loc": ["badge", "router", "upstream"], "readOnly": false, "type": "one of \"wifi\", \"ethernet\", \"usb\""}, "badge.video.directory": {"declarations": [{"name": "<BadgeOS/modules/sg2k/video.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/video.nix"}], "default": {"_type": "literalExpression", "text": "\"/var/lib/nix-badge-video\""}, "description": "Folder scanned for H.264 Annex-B elementary streams (*.264 / *.h264),\nplayed in sorted order. Convert with, e.g.:\n  ffmpeg -i in.mp4 -an -c:v libx264 -bsf:v h264_mp4toannexb -f h264 out.264\n", "loc": ["badge", "video", "directory"], "readOnly": false, "type": "string"}, "badge.video.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/video.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/video.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.hdmi.enable"}, "description": "Whether to enable the `video` boot specialisation: H.264 clips on HDMI via the vendor VDEC/VO\npath, advanced with the USER button.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["badge", "video", "enable"], "readOnly": false, "type": "boolean"}, "badge.video.fps": {"declarations": [{"name": "<BadgeOS/modules/sg2k/video.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/video.nix"}], "default": {"_type": "literalExpression", "text": "60"}, "description": "Rate, in frames/sec, at which clips are fed to the decoder.\n", "loc": ["badge", "video", "fps"], "readOnly": false, "type": "signed integer"}, "badge.video.longPressMs": {"declarations": [{"name": "<BadgeOS/modules/sg2k/video.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/video.nix"}], "default": {"_type": "literalExpression", "text": "600"}, "description": "USER-button hold, in milliseconds, at or above which a press counts as\n\"previous\" instead of \"next\".\n", "loc": ["badge", "video", "longPressMs"], "readOnly": false, "type": "signed integer"}, "hardware.sg2k.board": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "\"nix-badge\""}, "description": "The board this system runs on.\n", "loc": ["hardware", "sg2k", "board"], "readOnly": false, "type": "one of \"nix-badge\", \"licheerv-nano\""}, "hardware.sg2k.coreSelect.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable switching the boot core from Linux.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "coreSelect", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.cores": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "[ ]"}, "description": "The cores the board can boot.", "loc": ["hardware", "sg2k", "cores"], "readOnly": false, "type": "list of (one of \"arm\", \"riscv\")"}, "hardware.sg2k.display.autoLoad": {"declarations": [{"name": "<BadgeOS/modules/sg2k/display.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/display.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Bring the VIP stack up at boot. Needs clk_ignore_unused on the kernel command\nline (kernel.nix): any MMIO to the VIP region after its clock is gated\ndeadlocks the AXI interconnect.\n", "loc": ["hardware", "sg2k", "display", "autoLoad"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.display.autoLoadCodec": {"declarations": [{"name": "<BadgeOS/modules/sg2k/display.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/display.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Include the codec island in the boot-time load. Requires autoLoad.\n", "loc": ["hardware", "sg2k", "display", "autoLoadCodec"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.display.autoLoadDrm": {"declarations": [{"name": "<BadgeOS/modules/sg2k/display.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/display.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Load the KMS front end (soph_drm) at boot too. Requires autoLoad.\n", "loc": ["hardware", "sg2k", "display", "autoLoadDrm"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.display.drmDevice": {"declarations": [{"name": "<BadgeOS/modules/sg2k/display.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/display.nix"}], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "Pin wlroots to one DRM device (WLR_DRM_DEVICES); empty lets it choose. The\nSharp memory panel is a DRM device too, and card numbering is not stable.\n", "example": {"_type": "literalExpression", "text": "\"/dev/dri/card1\""}, "loc": ["hardware", "sg2k", "display", "drmDevice"], "readOnly": false, "type": "string"}, "hardware.sg2k.display.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/display.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/display.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.hdmi.enable"}, "description": "Whether to enable the forward-ported Sophgo VIP display stack.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "display", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.dtb.name": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "description": "The board DTB, relative to the kernel's dtbs directory.", "loc": ["hardware", "sg2k", "dtb", "name"], "readOnly": false, "type": "string"}, "hardware.sg2k.emmc.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the on-board eMMC.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "emmc", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable SG200x board support.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.ethernet.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the on-board Ethernet.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "ethernet", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.externalStorage.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.emmc.enable"}, "description": "Data cards: booted from the eMMC with an SD card whose GPT has a partition named\nEXT_USERDATA (ext4), the card takes every write and the eMMC's USERDATA is read\nthrough it, read-only. A FAT32 partition named BOOT on the card lets the badge be\ndeployed to with the card in.\n", "loc": ["hardware", "sg2k", "externalStorage", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.firmware.encryptedBoot": {"declarations": [{"name": "<BadgeOS/modules/sg2k/firmware.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/firmware.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Additionally AES-encrypt the images in the active fip (implies secureBoot), for a\nbadge fused to SCS=02.\n", "loc": ["hardware", "sg2k", "firmware", "encryptedBoot"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.firmware.fipPath": {"declarations": [{"name": "<BadgeOS/modules/sg2k/firmware.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/firmware.nix"}], "default": {"_type": "literalExpression", "text": "\"/boot/fip.bin\""}, "description": "Absolute path, on the badge's FAT boot partition, that a deploy writes the\nactive polyglot fip to.\n\nThe default is the file the BootROM itself loads, which is what an ordinary\nbadge wants: every deploy refreshes the firmware in place.\n\nSet it to a different file on a sophgone exploit target. There /boot/fip.bin\nholds the grafted fip.\n", "example": {"_type": "literalExpression", "text": "\"/boot/sophg.1\""}, "loc": ["hardware", "sg2k", "firmware", "fipPath"], "readOnly": false, "type": "string"}, "hardware.sg2k.firmware.secureBoot": {"declarations": [{"name": "<BadgeOS/modules/sg2k/firmware.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/firmware.nix"}], "default": {"_type": "literalExpression", "text": "config.hardware.sg2k.secureBoot"}, "description": "Install the TPM-signed polyglot as the active fip, for a badge whose SCS fuses\nare burned (its mask ROM verifies the RSA chain, and an unsigned fip halts at\n`E:verify root (-14)`). Also drops the unsigned /boot/fip-<core>.bin recovery\nblob, which cannot boot there. The signing needs the autopen daemon socket at\nbuild time.\n", "loc": ["hardware", "sg2k", "firmware", "secureBoot"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.fitKeyCert": {"declarations": [{"name": "<BadgeOS/modules/sg2k/firmware.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/firmware.nix"}], "default": {"_type": "literalExpression", "text": "null"}, "description": "PEM certificate of the sg1-image key, which signs the generation image and\nwhich the secure U-Boot trusts. Required with secureBoot. When set it is also\nthe RAUC keyring.\n", "loc": ["hardware", "sg2k", "fitKeyCert"], "readOnly": false, "type": "null or absolute path"}, "hardware.sg2k.hdmi.audio": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "HDMI mode with I2S audio on the LT8912B (its hdmi_audio parameter).", "loc": ["hardware", "sg2k", "hdmi", "audio"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.hdmi.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable HDMI output through the LT8912B bridge.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "hdmi", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.hdmi.hactiveOffset": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "0"}, "description": "Pixels added to the LT8912B bridge's programmed active width (the\nlontium_lt8912b hactive_offset parameter, from a kernel.nix patch). Some DSI\nsources shear ~1 px/row at the exact width; 0 is upstream behaviour. Tunable\nlive at /sys/module/lontium_lt8912b/parameters/hactive_offset.\n", "loc": ["hardware", "sg2k", "hdmi", "hactiveOffset"], "readOnly": false, "type": "signed integer"}, "hardware.sg2k.ledRing.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the WS2812 LED ring on SPI3.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "ledRing", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.memory.cmaMiB": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "16"}, "description": "Size of the CMA reservation (the cma= kernel parameter), in MiB. gmac0's\ndescriptor rings and the VIP video-buffer pool (one 11.25 MB request) share it.\n", "loc": ["hardware", "sg2k", "memory", "cmaMiB"], "readOnly": false, "type": "signed integer"}, "hardware.sg2k.memory.sizeMiB": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "description": "DRAM size in MiB.", "loc": ["hardware", "sg2k", "memory", "sizeMiB"], "readOnly": false, "type": "positive integer, meaning >0"}, "hardware.sg2k.oled.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the I2C OLED.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "oled", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.rauc.compatible": {"declarations": [{"name": "<BadgeOS/modules/sg2k/rauc.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/rauc.nix"}], "default": {"_type": "literalExpression", "text": "\"sg2k/${config.hardware.sg2k.board}\""}, "description": "RAUC's compatible string. The system refuses bundles built for another one.", "loc": ["hardware", "sg2k", "rauc", "compatible"], "readOnly": false, "type": "string"}, "hardware.sg2k.rauc.trustDevKeyring": {"declarations": [{"name": "<BadgeOS/modules/sg2k/rauc.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/rauc.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Trust the development RAUC key when hardware.sg2k.fitKeyCert is null. Its\nprivate half is committed to the repository, so anyone can sign bundles this\nsystem accepts. For test systems only.\n", "loc": ["hardware", "sg2k", "rauc", "trustDevKeyring"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.secureBoot": {"declarations": [{"name": "<BadgeOS/modules/sg2k/firmware.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/firmware.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Boot through the verified-boot chain: the secure U-Boot in the fip (signed\nFITs only, trusting hardware.sg2k.fitKeyCert) and a generation image and slot\nvbmeta images signed with the sg1-image key. Implies\nhardware.sg2k.firmware.secureBoot. The signing needs the autopen daemon socket\nat build time.\n", "loc": ["hardware", "sg2k", "secureBoot"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.sharpPanel.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the Sharp memory panel as the system console.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "sharpPanel", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.soc": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "description": "The SoC on the board.", "loc": ["hardware", "sg2k", "soc"], "readOnly": false, "type": "one of \"sg2000\", \"sg2002\""}, "hardware.sg2k.usb.gadget.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/usb-gadget.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/usb-gadget.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "Enable the USB CDC-NCM gadget (badge-as-network-device over USB).", "loc": ["hardware", "sg2k", "usb", "gadget", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.usb.gadget.manufacturer": {"declarations": [{"name": "<BadgeOS/modules/sg2k/usb-gadget.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/usb-gadget.nix"}], "default": {"_type": "literalExpression", "text": "\"Dagian Industries\""}, "description": "USB iManufacturer string descriptor.", "loc": ["hardware", "sg2k", "usb", "gadget", "manufacturer"], "readOnly": false, "type": "string"}, "hardware.sg2k.usb.gadget.product": {"declarations": [{"name": "<BadgeOS/modules/sg2k/usb-gadget.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/usb-gadget.nix"}], "default": {"_type": "literalExpression", "text": "\"SG200x board (NCM)\""}, "description": "USB iProduct string descriptor. May carry a store path or build id (up to\n126 UTF-16 units).\n", "loc": ["hardware", "sg2k", "usb", "gadget", "product"], "readOnly": false, "type": "string"}, "hardware.sg2k.usb.gadget.serialFromEfuse": {"declarations": [{"name": "<BadgeOS/modules/sg2k/usb-gadget.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/usb-gadget.nix"}], "default": {"_type": "literalExpression", "text": "true"}, "description": "When serialNumber is empty, get the serial from the eFuses.\n", "loc": ["hardware", "sg2k", "usb", "gadget", "serialFromEfuse"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.usb.gadget.serialNumber": {"declarations": [{"name": "<BadgeOS/modules/sg2k/usb-gadget.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/usb-gadget.nix"}], "default": {"_type": "literalExpression", "text": "\"\""}, "description": "USB iSerialNumber. Empty means derive it at runtime.\n", "loc": ["hardware", "sg2k", "usb", "gadget", "serialNumber"], "readOnly": false, "type": "string"}, "hardware.sg2k.usb.role": {"declarations": [{"name": "<BadgeOS/modules/sg2k/usb-role.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/usb-role.nix"}], "default": {"_type": "literalExpression", "text": "\"device\""}, "description": "The USB-C port's role. As a device the badge is a USB network adapter (the\ngadget); as a host it powers the port and a keyboard, mouse or hub enumerates. The\ndesktop profile is a host.\n\nAs a host the badge is not reachable over usb0; deploy over Ethernet or WiFi.\n", "loc": ["hardware", "sg2k", "usb", "role"], "readOnly": false, "type": "one of \"host\", \"device\""}, "hardware.sg2k.wifi.bluetooth": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "\"none\""}, "description": "How the WiFi chip's Bluetooth is attached, if at all.", "loc": ["hardware", "sg2k", "wifi", "bluetooth"], "readOnly": false, "type": "one of \"none\", \"sdio\", \"uart\""}, "hardware.sg2k.wifi.enable": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "false"}, "description": "Whether to enable the on-board AIC8800 WiFi.", "example": {"_type": "literalExpression", "text": "true"}, "loc": ["hardware", "sg2k", "wifi", "enable"], "readOnly": false, "type": "boolean"}, "hardware.sg2k.wifi.firmware": {"declarations": [{"name": "<BadgeOS/modules/sg2k/options.nix>", "url": "https://github.com/NixVegas/BadgeOS/blob/master/modules/sg2k/options.nix"}], "default": {"_type": "literalExpression", "text": "\"aic8800D80\""}, "description": "The WiFi chip's firmware set: a directory of the vendor tree's SDIO firmware.", "example": {"_type": "literalExpression", "text": "\"aic8800\""}, "loc": ["hardware", "sg2k", "wifi", "firmware"], "readOnly": false, "type": "string"}}