Skip to content

Generate a report

To generate a report, you will need to have Nix installed on the target machine.

1
2
3
4
5
sudo nix run \
  --option experimental-features "nix-command flakes" \
  --option extra-substituters https://numtide.cachix.org \
  --option extra-trusted-public-keys numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE= \
  github:numtide/nixos-facter -- -o facter.json

Note

In the near-future we will add nixos-facter to nixpkgs. Until then, we recommend using the Numtide Binary Cache to avoid having to build everything from scratch.

This will scan your system and produce a JSON-based report in a file named facter.json:

facter.json
{
  "version": 2, // (1)!
  "system": "x86_64-linux", // (2)!
  "virtualisation": "none", // (3)!
  "hardware": { // (4)!
    "bios": { ... },
    "bluetooth": [ ... ],
    "bridge": [ ... ],
    "chip_card": [ ... ] ,
    "cpu": [ ... ],
    "disk": [ ... ],
    "graphics_card": [ ... ],
    "hub": [ ... ],
    "keyboard": [ ... ],
    "memory": [ ... ],
    "monitor": [ ... ],
    "mouse": [ ... ],
    "network_controller": [ ... ],
    "network_interface": [ ... ],
    "sound": [ ... ],
    "storage_controller": [ ... ],
    "system": [ ... ],
    "unknown": [ ... ],
    "usb_controller": [ ... ]
  },
  "smbios": { // (5)!
    "bios": { ... },
    "board": { ... },
    "cache": [ ... ],
    "chassis": { ... },
    "config": { ... },
    "language": { ... },
    "memory_array": [ ... ],
    "memory_array_mapped_address": [ ... ],
    "memory_device": [ ... ],
    "memory_device_mapped_address": [ ... ],
    "memory_error": [ ... ],
    "onboard": [ ... ],
    "port_connector": [ ... ],
    "processor": [ ... ],
    "slot": [ ... ],
    "system": { ... }
  }
}
  1. Used to track major breaking changes in the report format.
  2. Architecture of the target machine.
  3. Indicates whether the report was generated inside a virtualised environment, and if so, what type.
  4. All the various bits of hardware that could be detected.
  5. System Management BIOS information if available.

Tip

To use this report in your NixOS configuration, have a look at NixOS Facter Modules.