The following list only includes the options defined by Mobile NixOS.
Refer to the NixOS options listing for more options.
Options list
- mobile.adbd.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables adbd on the device.
- mobile.beautification.silentBoot
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
When enabled, fbcon consoles are disabled.
- mobile.beautification.splash
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
When enabled, plymouth is configured with nice defaults.
Note that this requires an update to the kernel command-line parameters, thus the boot image may need to be reflashed.
- mobile.beautification.useKernelLogo
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"\"config.mobile.enable\""}
- Description:
-
Whether silentBoot assumes the kernel logo is used as early splash, or leaves the fbcon unmapped such that (possibly) the vendor splash is kept on the display until the stage-1 boot interface starts.
By default, when using
mobile.enable = true
, this will assume the kernel is patched to provide the fbcon logo ASAP.When
mobile.enable
is false, for example when using the Mobile NixOS stage-1 in a "normal" NixOS configuration, fbcon will not be enabled on VT1. What this means exactly will depend on the platform in use.
- mobile.boot.additionalConsoles
-
- Type:
- list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
List of additional console names to be prepended in the list of consoles in the kernel cmdline.
These will have a lower priority than the console listed in
defaultConsole
, and assumedly other kernel cmdline parameters added by the user.This option is useful to add additional consoles like the serial console to the list so that console multiplexing during boot can print messages to it too.
The kernel’s own messages will not be printed on those consoles.
- mobile.boot.boot-control.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables usage of boot-control to mark A/B boot as successful.
- mobile.boot.defaultConsole
-
- Type:
- null or string
- Description:
-
When not null, sets a
console=
parameter early in the kernel cmdline.This option is useful to control the default console that will be used by the produced system, since otherwise it is impossible to remove an added
console=
parameter from the cmdline.When using beautification options with the kernel logo, the console will be set to tty2, "losing" messages to the second VT. Without beautification, this will be set to
tty1
.You can also add additional console params to the kernel cmdline, the last valid one in the list will be used for kernel messages by default during boot.
- mobile.boot.enableDefaultSerial
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Whether or not to enable the serial console as an additional console.
- mobile.boot.enableSerial
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Whether or not to enable the serial console as an additional console.
- mobile.boot.serialConsole
-
- Type:
- null or string
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
The console name for the serial console. Additional parameters allowed.
It will be used as an additional console by default. It can also be set as the default console with
mobile.boot.enableDefaultSerial
.
- mobile.boot.stage-1.bootlog.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Enables bootlogd logging multiplexer.
- mobile.boot.stage-1.bootlog.kmsg
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables logging to /dev/kmsg.
Note that this may render switching to stage-2 inoperable.
- mobile.boot.stage-1.compression
-
- Type:
- one of "gzip", "xz"
- Default:
{"_type"=>"literalExpression", "text"=>"\"gzip\""}
- Description:
-
The compression method for the stage-1 (initrd).
This may be set as a default by some devices requiring specific compression methods. Most likely to work around size limitations.
- mobile.boot.stage-1.contents
-
- Type:
- list of (attribute set)
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
Additional files for the initrd.
See
makeInitrd
for use ofcontents
.
- mobile.boot.stage-1.crashToBootloader
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
When the stage-1 bootloader crashes, prefer rebooting directly to bootloader rather than panic by killing init.
This may be preferrable for devices with direct serial access.
Note that console ramoops requires the kernel to panic, this should be set to false if you rely on console ramoops to debug issues.
- mobile.boot.stage-1.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Whether to use the Mobile NixOS stage-1 implementation or not.
This will forcible override the NixOS stage-1 when enabled.
- mobile.boot.stage-1.extraUtils
-
- Type:
- list of ((attribute set) or package)
- Description:
-
Additional packages to be included inside stage-1.
Do note that special manipulation happens and may not be compatible with everything.
The format for extra commands is:
{ package = package; extraCommand = extraCommand }
Where extraCommand is executed at build time, generally to fix the package for stage-1 use.
- mobile.boot.stage-1.fail.delay
-
- Type:
- signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"10"}
- Description:
-
Duration (in seconds) before a reboot on failure.
- mobile.boot.stage-1.fail.reboot
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Reboots the device after a delay on failure.
- mobile.boot.stage-1.fbterm.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables fbterm.
- mobile.boot.stage-1.fbterm.fb
-
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"/dev/fb1\""}
- Description:
-
framebuffer to run fbterm on.
- mobile.boot.stage-1.firmware
-
- Type:
- list of package
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
List of packages containing firmware files to be included in the stage-1 for the device.
- mobile.boot.stage-1.gui.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
enable splash and boot selection GUI
- mobile.boot.stage-1.gui.waitForDevices.delay
-
- Type:
- signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"0"}
- Description:
-
Minimum delay spent waiting for input devices to settle.
The boot GUI will wait until this many seconds elapsed without changes before starting.
- mobile.boot.stage-1.gui.waitForDevices.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Whether to wait a bit for input devices before starting the user interface.
This is only necessary on "slow" busses where devices may arrive a tad later than expected.
Generally, only enable when a device needed to input the passphrase is connected via USB.
- mobile.boot.stage-1.kernel.additionalModules
-
- Type:
- list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
Module names to add to the closure. They will not be modprobed.
- mobile.boot.stage-1.kernel.allowMissingModules
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Chooses whether the modules closure build fails if a module is missing.
- mobile.boot.stage-1.kernel.modular
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Whether the kernel is built with modules or not. This will enable modules closure generation and listing modules to bundle and load.
- mobile.boot.stage-1.kernel.modules
-
- Type:
- list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
Module names to add to the closure. They will be modprobed.
- mobile.boot.stage-1.kernel.package
-
- Type:
- null or package
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Kernel to be used by the system-type to boot into the Mobile NixOS stage-1.
This is not using a kernelPackages attrset, but a kernel derivation directly.
- mobile.boot.stage-1.kernel.useNixOSKernel
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"!config.mobile.enable"}
- Description:
-
Whether Mobile NixOS relies on upstream NixOS settings for kernel config.
Enable this when using the NixOS machinery for kernels.
- mobile.boot.stage-1.kernel.useStrictKernelConfig
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Whether or not to fail when the config file differs when built.
When building a personal configuration, this should be disabled (
false
) for convenience, as it allows implicitly tracking revision updates.When in testing scenarios (e.g. building an example system) this should be enabled (
true
), as it ensures all required configuration is set as expected.
- mobile.boot.stage-1.networking.IP
-
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"172.16.42.1\""}
- Description:
-
IP address for the USB networking gadget.
- mobile.boot.stage-1.networking.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables networking.
- mobile.boot.stage-1.networking.hostIP
-
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"172.16.42.2\""}
- Description:
-
IP address for the USB networking gadget.
- mobile.boot.stage-1.shell.console
-
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"console\""}
- Description:
-
Selects the /dev/_ device to use.
Use
ttyS0
for serial,tty1
for first VT or keep the default toconsole
for the last definedconsole=
kernel parameter.
- mobile.boot.stage-1.shell.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables a shell before switching root.
This shell (as currently configured) will not allow switching root.
- mobile.boot.stage-1.shell.shellOnFail
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables a shell on failures.
- mobile.boot.stage-1.ssh.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables ssh during stage-1.
CURRENT CONFIGURATION ALSO OPENS ACCESS TO ALL WITHOUT A PASSWORD NOR SSH KEY.
- mobile.boot.stage-1.usb.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Enables USB features. For now, only Android-based devices are supported.
- mobile.boot.stage-1.usb.features
-
- Type:
- list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
android_usb
features to enable.
- mobile.bootloader.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Whether the bootloader configuration for Mobile NixOS is enabled.
Installation and management of the Mobile NixOS bootloading components is not implemented at this point in time. (e.g. flashing boot.img on android, boot partition on other systems.)
- mobile.device.firmware
-
- Type:
- null or package
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Informal option that the end-user can use to get their device’s firmware package.
The firmware will be added to
hardware.firmware
automatically for most devices.This is not added automatically to the system firmwares for some devices as some bundles will be unredistributable.
- mobile.device.identity.manufacturer
-
- Type:
- string
- Description:
-
The device’s manufacturer name.
- mobile.device.identity.name
-
- Type:
- string
- Description:
-
The device’s name as advertised by the manufacturer.
- mobile.device.name
-
- Type:
- string
- Description:
-
The device’s codename. Must match the device folder.
- mobile.device.supportLevel
-
- Type:
- one of "supported", "best-effort", "broken", "vendor", "unsupported", "abandoned"
- Default:
{"_type"=>"literalExpression", "text"=>"\"unsupported\""}
- Description:
-
Support level for the device.
- mobile.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
When this setting is set to false, including Mobile NixOS in your NixOS configuration should be a no-op.
- mobile.generatedDiskImages
-
- Type:
- attribute set of (submodule)
- Description:
-
Disk image definitions that will be created at build.
-
mobile.generatedDiskImages.
.additionalCommands -
- Type:
- strings concatenated with "\n"
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Additional commands to run during the disk image build.
-
mobile.generatedDiskImages.
.alignment -
- Type:
- signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"1048576"}
- Description:
-
Partitions alignment.
Automatically computed partition start position will be aligned to multiples of this value.
The default value is most likely appropriate.
-
mobile.generatedDiskImages.
.gpt.diskID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Identifier for the disk.
-
mobile.generatedDiskImages.
.gpt.hybridMBR -
- Type:
- list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
Creates an hybrid MBR with the given (string) partition numbers.
Up to three partitions can be present in the hybrid MBR, an additional special partition can be placed last, named
EE
. WhenEE
is present last the protective partition for the GPT will be placed last.See
man sgdisk
-
mobile.generatedDiskImages.
.gpt.partitionEntriesCount -
- Type:
- signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"128"}
- Description:
-
Number of partitions in the partition table.
The default value is likely appropriate.
-
mobile.generatedDiskImages.
.imagePath -
- Type:
- path
- Default:
{"_type"=>"literalExpression", "text"=>"\"${config.output}${config.location}\""}
- Description:
-
Output path for the image file.
-
mobile.generatedDiskImages.
.location -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Location of the image in the
$out
path.The default value means that
$img == $out
, which means that the image is bare at the out path.Other values should start with the directory separator (
/
), and refer to the desired name.The
$img
variable in the build script refers to$out$location
.
-
mobile.generatedDiskImages.
.mbr.diskID -
- Type:
- string matching the pattern [0-9a-fA-F]{8}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Identifier for the disk.
-
mobile.generatedDiskImages.
.name -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"disk-image\""}
- Description:
-
Base name of the output
-
mobile.generatedDiskImages.
.partitioningScheme -
- Type:
- one of "mbr", "gpt"
- Description:
-
Partitioning scheme for the disk image output.
-
mobile.generatedDiskImages.
.partitions -
- Type:
- list of (submodule)
- Description:
-
List of partitions to include in the disk image.
-
mobile.generatedDiskImages.
.partitions.*.bootable -
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Sets the "legacy bios bootable flag" on the partition.
-
mobile.generatedDiskImages.
.partitions.*.filesystem -
- Type:
- null or (submodule)
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
A filesystem image configuration.
The filesystem image produced by this configuration is the default value for the
raw
submodule option, unless overriden.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.additionalCommands -
- Type:
- strings concatenated with "\n"
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Additional commands to run during the filesystem image build.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.btrfs.partitionID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Volume ID of the filesystem.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.ext4.partitionID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Volume ID of the filesystem.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.extraPadding -
- Type:
- signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"0"}
- Description:
-
When size is computed automatically, how many bytes to add to the filesystem total size.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.fat32.partitionID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{1,8}
- Default:
{"_type"=>"literalExpression", "text"=>"\"[Depends on the file system creation time]\""}
- Description:
-
Volume ID of the filesystem.
The default is a number which depends on the file system creation time.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.filesystem -
- Type:
- one of "squashfs", "fat32", "ext4", "btrfs"
- Description:
-
Filesystem used in this filesystem image.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.imagePath -
- Type:
- path
- Default:
{"_type"=>"literalExpression", "text"=>"\"${config.output}${config.location}\""}
- Description:
-
Output path for the image file.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.label -
- Type:
- null or string
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Filesystem label
Not to be confused with either the output name, or the partition label.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.location -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Location of the image in the
$out
path.The default value means that
$img == $out
, which means that the image is bare at the out path.Other values should start with the directory separator (
/
), and refer to the desired name.The
$img
variable in the build script refers to$out$location
.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.name -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"filesystem-image\""}
- Description:
-
Base name of the output
-
mobile.generatedDiskImages.
.partitions.*.filesystem.populateCommands -
- Type:
- strings concatenated with "\n"
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Commands used to fill the filesystem.
$PWD
is the root of the filesystem.
-
mobile.generatedDiskImages.
.partitions.*.filesystem.size -
- Type:
- null or signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"\"[automatically computed]\""}
- Description:
-
When null, size is computed automatically.
Otherwise sets the size of the filesystem image.
Note that the usable space in the disk image will most likely be smaller than the size given here!
-
mobile.generatedDiskImages.
.partitions.*.filesystem.squashfs.compression -
- Type:
- one of "gzip", "xz", "zstd"
- Default:
{"_type"=>"literalExpression", "text"=>"\"xz\""}
- Description:
-
Volume ID of the filesystem.
-
mobile.generatedDiskImages.
.partitions.*.isGap -
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
When set to true, only the length attribute is used, and describes an unpartitioned span in the disk image.
-
mobile.generatedDiskImages.
.partitions.*.length -
- Type:
- null or signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Size in bytes for the partition.
Defaults to the filesystem image length (computed at runtime).
-
mobile.generatedDiskImages.
.partitions.*.name -
- Type:
- string
- Description:
-
Identifier for the partition.
-
mobile.generatedDiskImages.
.partitions.*.offset -
- Type:
- null or signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Offset (in bytes) the partition starts at.
Defaults to the next aligned location on disk.
-
mobile.generatedDiskImages.
.partitions.*.partitionLabel -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"config.name"}
- Description:
-
Partition label on supported partition schemes. Defaults to ${name}.
Not to be confused with filesystem label.
-
mobile.generatedDiskImages.
.partitions.*.partitionType -
- Type:
- string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12} or string matching the pattern [0-9a-fA-F]{2}
- Default:
{"_type"=>"literalExpression", "text"=>"\"Linux filesystem data (0FC63DAF-8483-4772-8E79-3D69D8477DE4)\""}
- Description:
-
Partition type UUID.
Not to be confused with partitionUUID.
-
mobile.generatedDiskImages.
.partitions.*.partitionUUID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Partition UUID, for supported partition schemes.
Not to be confused with filesystem UUID.
Not to be confused with partitionType.
-
mobile.generatedDiskImages.
.partitions.*.raw -
- Type:
- null or package or path
- Default:
{"_type"=>"literalExpression", "text"=>"\"[contents of the filesystem attribute]\""}
- Description:
-
Raw image to be used as the partition content.
By default uses the output of the
filesystem
submodule.
-
mobile.generatedDiskImages.
.partitions.*.requiredPartition -
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
For GPT, sets the Required Partition attribute on the partition.
- mobile.generatedFilesystems
-
- Type:
- attribute set of (submodule)
- Description:
-
Filesystem definitions that will be created at build.
-
mobile.generatedFilesystems.
.additionalCommands -
- Type:
- strings concatenated with "\n"
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Additional commands to run during the filesystem image build.
-
mobile.generatedFilesystems.
.btrfs.partitionID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Volume ID of the filesystem.
-
mobile.generatedFilesystems.
.ext4.partitionID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Volume ID of the filesystem.
-
mobile.generatedFilesystems.
.extraPadding -
- Type:
- signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"0"}
- Description:
-
When size is computed automatically, how many bytes to add to the filesystem total size.
-
mobile.generatedFilesystems.
.fat32.partitionID -
- Type:
- null or string matching the pattern [0-9a-fA-F]{1,8}
- Default:
{"_type"=>"literalExpression", "text"=>"\"[Depends on the file system creation time]\""}
- Description:
-
Volume ID of the filesystem.
The default is a number which depends on the file system creation time.
-
mobile.generatedFilesystems.
.filesystem -
- Type:
- one of "squashfs", "fat32", "ext4", "btrfs"
- Description:
-
Filesystem used in this filesystem image.
-
mobile.generatedFilesystems.
.imagePath -
- Type:
- path
- Default:
{"_type"=>"literalExpression", "text"=>"\"${config.output}${config.location}\""}
- Description:
-
Output path for the image file.
-
mobile.generatedFilesystems.
.label -
- Type:
- null or string
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
Filesystem label
Not to be confused with either the output name, or the partition label.
-
mobile.generatedFilesystems.
.location -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Location of the image in the
$out
path.The default value means that
$img == $out
, which means that the image is bare at the out path.Other values should start with the directory separator (
/
), and refer to the desired name.The
$img
variable in the build script refers to$out$location
.
-
mobile.generatedFilesystems.
.name -
- Type:
- string
- Default:
{"_type"=>"literalExpression", "text"=>"\"filesystem-image\""}
- Description:
-
Base name of the output
-
mobile.generatedFilesystems.
.populateCommands -
- Type:
- strings concatenated with "\n"
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Commands used to fill the filesystem.
$PWD
is the root of the filesystem.
-
mobile.generatedFilesystems.
.size -
- Type:
- null or signed integer
- Default:
{"_type"=>"literalExpression", "text"=>"\"[automatically computed]\""}
- Description:
-
When null, size is computed automatically.
Otherwise sets the size of the filesystem image.
Note that the usable space in the disk image will most likely be smaller than the size given here!
-
mobile.generatedFilesystems.
.squashfs.compression -
- Type:
- one of "gzip", "xz", "zstd"
- Default:
{"_type"=>"literalExpression", "text"=>"\"xz\""}
- Description:
-
Volume ID of the filesystem.
- mobile.hardware.eink.enable
-
- Type:
- unspecified value
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable to change some defaults so they work better on an eink display.
- mobile.hardware.eink.enableEinkTheme
-
- Type:
- unspecified value
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable only the eink changes affecting the theme.
- mobile.hardware.ram
-
- Type:
- signed integer
- Description:
-
Total RAM available (in MB, 1GB = 1024MB).
This may be used to turn on or off features depending on the device’s capabilities.
- mobile.hardware.screen.height
-
- Type:
- signed integer
- Description:
-
Height of the device’s display.
- mobile.hardware.screen.width
-
- Type:
- signed integer
- Description:
-
Width of the device’s display.
- mobile.hardware.soc
-
- Type:
- string
- Description:
-
Give the SOC name for the device.
- mobile.hardware.socs.allwinner-a64.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Allwinner A64
- mobile.hardware.socs.allwinner-r18.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Allwinner-R18
- mobile.hardware.socs.exynos-7880.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Exynos 7880
- mobile.hardware.socs.mediatek-mt6755.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Mediatek MT6755 (Helio P10)
- mobile.hardware.socs.mediatek-mt6785.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Mediatek MT6785 (Helio G90)
- mobile.hardware.socs.mediatek-mt8127.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Mediatek MT8127
- mobile.hardware.socs.mediatek-mt8183.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is Mediatek MT8183
- mobile.hardware.socs.qualcomm-apq8064-1aa.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is APQ8064–1AA
- mobile.hardware.socs.qualcomm-msm8939.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is msm8939
- mobile.hardware.socs.qualcomm-msm8940.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is msm8940
- mobile.hardware.socs.qualcomm-msm8953.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is msm8953
- mobile.hardware.socs.qualcomm-msm8996.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is msm8996
- mobile.hardware.socs.qualcomm-msm8998.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is msm8998
- mobile.hardware.socs.qualcomm-sc7180.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is 7c (SC7180)
- mobile.hardware.socs.qualcomm-sdm660.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is SDM660
- mobile.hardware.socs.qualcomm-sdm845.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is SDM845
- mobile.hardware.socs.qualcomm-sm6125.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is SM6125
- mobile.hardware.socs.rockchip-op1.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is RK3399-OP1
- mobile.hardware.socs.rockchip-rk3399s.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
enable when SOC is RK3399S
- mobile.kernel.structuredConfig
-
- Type:
- list of function that evaluates to a(n) (attribute set)
- Description:
-
Functions returning kernel structured config.
The functions take one argument, an attrset of helpers. These helpers are expected to be used with
with
, they provide theyes
,no
,whenOlder
and similar helpers fromlib.kernel
.The
whenHelpers
are configured with the appropriate version already.
- mobile.quirks.audio.alsa-ucm-meld
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Combines the derivation output path share/alsa/ucm2/ with pkgs.alsa-ucm-conf and points ALSA to the result.
- mobile.quirks.exynos.fb-notify.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable this on a device which requires the framebuffer to be notified for some components to work right.
With some Samsung phones it is required or else the display will not be updating.
Prefer patching the kernel to enable the framebuffer when the driver inits instead of fixing it in userspace.
- mobile.quirks.fb-refresher.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enables use of
msm-fb-refresher
. Use sparingly, it is better to patch software to flip buffers instead.Note that while it was written for Qualcomm devices, this workaround may be useful for other vendors too.
- mobile.quirks.fb-refresher.stage-1.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Add
msm-fb-refresher
to stage-1.It should not be needed for the usual assortment of Mobile NixOS tools. They already handle flipping the framebuffer as needed.
- mobile.quirks.fdt-forward.nodes
-
- Type:
- list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
FDT nodes to forward to the kexec’d system.
- mobile.quirks.fdt-forward.props
-
- Type:
- list of list of string
- Default:
{"_type"=>"literalExpression", "text"=>"[ ]"}
- Description:
-
Pair of [node prop] to forward to the kexec’d system.
Only the prop described on the exact node will be forwarded.
- mobile.quirks.qualcomm.dwc3-otg_switch.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable this on a device which requires otg_switch to be configured for OTG to work.
- mobile.quirks.qualcomm.fb-notify.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable this on a device which requires the framebuffer to be notified for some components to work right.
The most likely thing this fixes is touch input.
- mobile.quirks.qualcomm.sc7180-modem.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable this on a mainline-based SC7180 device for modem/Wi-Fi support
- mobile.quirks.qualcomm.sdm845-modem.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable this on a mainline-based SDM845 device for modem support
- mobile.quirks.qualcomm.wcnss-wlan.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Enable this on a device which uses wcnss wlan.
- mobile.quirks.supportsStage-0
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Set to true when a device, and its kernel, can use kexec.
This will enable booting into the generation’s kernel.
- mobile.quirks.u-boot.additionalCommands
-
- Type:
- strings concatenated with "\n"
- Default:
{"_type"=>"literalExpression", "text"=>"\"\""}
- Description:
-
Additional U-Boot commands to run.
- mobile.quirks.wifi.disableMacAddressRandomization
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Disables MAC address randomization.
This may be required by some hardware or drivers, or combination. When the feature is enabled (quirk disabled) it may cause the wifi interface to disappear when enabled, as long as Network Manager is active.
- mobile.rootfs.enableDefaultConfiguration
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"true"}
- Description:
-
Whether some of the rootfs configuration is managed by Mobile NixOS or not.
- mobile.rootfs.rehydrateStore
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"config.nix.enable"}
- Description:
-
Whether to rehydrate the store at first boot or not.
The only reason you would disable this is to build a target system that has no Nix binaries.
- mobile.system.android.appendDTB
-
- Type:
- null or (list of (path or string))
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
List of dtb files to append to the kernel, when device uses appended DTB.
- mobile.system.system
-
- Type:
- one of "aarch64-linux", "armv7l-linux", "x86_64-linux"
- Description:
-
Defines the kind of target architecture system the device is.
This will automagically setup cross-compilation where possible.
- mobile.system.type
-
- Type:
- one of "uefi", "u-boot", "android", "depthcharge", "none"
- Description:
-
Defines the kind of system the device is.
The different kind of system types will define the outputs produced for the system.
- mobile.usb.gadgetfs.functions
-
- Type:
- attribute set
- Description:
-
Mapping of logical gadgetfs functions to their implementation names.
- mobile.usb.idProduct
-
- Type:
- string
- Description:
-
USB product ID for the USB gadget.
- mobile.usb.idVendor
-
- Type:
- string
- Description:
-
USB vendor ID for the USB gadget.
- mobile.usb.mode
-
- Type:
- null or one of "android_usb", "gadgetfs"
- Default:
{"_type"=>"literalExpression", "text"=>"null"}
- Description:
-
The USB gadget implementation the device uses.
- services.eg25-manager.enable
-
- Type:
- boolean
- Default:
{"_type"=>"literalExpression", "text"=>"false"}
- Description:
-
Whether to enable Quectel EG25 modem manager service.
- services.eg25-manager.package
-
- Type:
- package
- Default:
{"_type"=>"literalExpression", "text"=>"pkgs.eg25-manager"}
- Description:
-
The eg25-manager derivation to use.