# Quick Start

{% hint style="info" %}
**Start by following the install** [**instructions**](/installing.md)**.**
{% endhint %}

## Discover your hardware

```dart
import 'package:system_info2/system_info2.dart';

if (SysInfo.operatingSystemName == "Ubuntu") {
  log.info("We love Ubuntu users");
}

if (SysInfo.userSpaceBitness == 32) {
  log.info("Dart VM runs as a 32-bit process");
}
```

The system\_info2 package provides a variety of details:

```dart
import 'package:system_info2/system_info2.dart';

void main() {
  print('Kernel architecture     : ${SysInfo.kernelArchitecture}');
  print('Kernel bitness          : ${SysInfo.kernelBitness}');
  print('Kernel name             : ${SysInfo.kernelName}');
  print('Kernel version          : ${SysInfo.kernelVersion}');
  print('Operating system name   : ${SysInfo.operatingSystemName}');
  print('Operating system version: ${SysInfo.operatingSystemVersion}');
  print('User directory          : ${SysInfo.userDirectory}');
  print('User id                 : ${SysInfo.userId}');
  print('User name               : ${SysInfo.userName}');
  print('User space bitness      : ${SysInfo.userSpaceBitness}');
  final processors = SysInfo.processors;
  print('Number of processors    : ${processors.length}');
  for (var processor in processors) {
    print('  Architecture          : ${processor.architecture}');
    print('  Name                  : ${processor.name}');
    print('  Socket                : ${processor.socket}');
    print('  Vendor                : ${processor.vendor}');
  }
  print(
      'Total physical memory   : ${SysInfo.getTotalPhysicalMemory() ~/ MEGABYTE} MB');
  print(
      'Free physical memory    : ${SysInfo.getFreePhysicalMemory() ~/ MEGABYTE} MB');
  print(
      'Total virtual memory    : ${SysInfo.getTotalVirtualMemory() ~/ MEGABYTE} MB');
  print(
      'Free virtual memory     : ${SysInfo.getFreeVirtualMemory() ~/ MEGABYTE} MB');
  print(
      'Virtual memory size     : ${SysInfo.getVirtualMemorySize() ~/ MEGABYTE} MB');
}

const int MEGABYTE = 1024 * 1024;

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sysinfo.onepub.dev/quick-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
