// This is a Jsonnet file. Please, check https://jsonnet.org/ for more // information about the language. // For the schema, see // https://github.com/openSUSE/agama/blob/master/rust/agama-lib/share/profile.schema.json // The "hw.libsonnet" file contains hardware information from the "lshw" tool. // Agama generates this file at runtime by running (with root privileges): // // lshw -json // // There are included also helpers to search this hardware tree. To see helpers check // "/usr/share/agama-cli/agama.libsonnet" local agama = import 'hw.libsonnet'; // Find the biggest disk which is suitable for installing the system. local findBiggestDisk(disks) = local sizedDisks = std.filter(function(d) std.objectHas(d, 'size'), disks); local sorted = std.sort(sizedDisks, function(x) -x.size); sorted[0].logicalname; // Find how much physical memory system has. local memory = agama.findByID(agama.lshw, 'memory').size; { product: { id: if memory < 8000000000 then 'MicroOS' else 'Tumbleweed', }, software: { patterns: [ 'gnome', ], }, user: { fullName: 'Jane Doe', userName: 'jane.doe', password: '123456', }, root: { password: 'nots3cr3t', sshPublicKey: '...', }, // look ma, there are comments! localization: { language: 'en_US.UTF-8', keyboard: 'us', }, storage: { boot: { configure: true, device: 'boot', }, drives: [ { search: findBiggestDisk(agama.selectByClass(agama.lshw, 'disk')), alias: 'boot', }, ], }, hostname: { static: 'agama', }, network: { connections: [ { id: 'AgamaNetwork', wireless: { password: 'agama.test', security: 'wpa-psk', ssid: 'AgamaNetwork', mode: 'infrastructure', }, }, { id: 'Etherned device 1', method4: 'manual', gateway4: '192.168.122.1', addresses: [ '192.168.122.100/24', ], nameservers: [ '1.2.3.4', ], match: { path: ['pci-0000:00:19.0'], }, }, { id: 'bond0', bond: { ports: ['eth0', 'eth1'], mode: 'active-backup', options: 'primary=eth1', }, }, ], }, }