diff --git a/nixos/modules/hardware/facter/default.nix b/nixos/modules/hardware/facter/default.nix new file mode 100644 index 000000000000..0d3163185b98 --- /dev/null +++ b/nixos/modules/hardware/facter/default.nix @@ -0,0 +1,40 @@ +{ + lib, + config, + ... +}: +{ + meta.maintainers = with lib.maintainers; [ mic92 ]; + + options.hardware.facter = with lib; { + report = mkOption { + type = types.attrsOf types.anything; + default = + if config.hardware.facter.reportPath == null then + { } + else + builtins.fromJSON (builtins.readFile config.hardware.facter.reportPath); + defaultText = "A JSON import from config.hardware.facter.reportPath (if not null), {} otherwise."; + description = '' + Hardware report data generated by nixos-facter. + + See for more information. + ''; + }; + + reportPath = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to a hardware report generated by nixos-facter. + + To generate a report, run the following as root: + ``` + nix-shell -p nixos-facter --run nixos-facter > facter.json + ``` + + See for more information. + ''; + }; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5b285ee24580..45351dd2b145 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -66,6 +66,7 @@ ./hardware/decklink.nix ./hardware/device-tree.nix ./hardware/digitalbitbox.nix + ./hardware/facter ./hardware/flipperzero.nix ./hardware/flirc.nix ./hardware/fw-fanctrl.nix