Skip to content
  • blend-inst v4 badge#


    Our custom backend for jade-gui.

    • Language:
    • Size:12.1 KB
    • GUI:
    • Comes with blendOS:

    Config file location (generated by jade-gui)
    󱂵 ~
    └── 󰉋 .config
        └── 󰈮 jade.json
    

    Source Code

What is blend-inst?

blend-inst is a rewrite of Jade (from Crystal Linux) in Python. It has also been reworked to fit our new install style (only do partitioning and system install in the liveCD) and to use the filesystem of the liveCD, instead of painstakingly bootstrapping a fresh filesystem to the installed system.

After the user sets up their install in Jade's GUI, Jade calls blend-inst, which does partitioning and installing, before rebooting and calling blend-postinst, which sets up a basic system with GNOME's welcome screen, where the user sets things like their timezone and makes an account.

Reference#

This example file is from v3 and will be fixed eventually.

jade.json
{
    "partition": {
        "device": "/dev/randomdisk",
        "mode": "Manual",
        "efi": true,
        "partitions": [
            "System:/dev/randomdisk1:ext4",
            "Boot:/dev/randomdisk2:fat32"
        ]
    },
    "bootloader": {
        "type": "grub-efi",
        "location": "/boot/efi"
    },
    "locale": {
        "locale": [
            "en_US.UTF-8 UTF-8"
        ],
        "keymap": "us",
        "timezone": "GMT"
    },
    "networking": {
        "hostname": "blend",
        "ipv6": false
    },
    "users": [
        {
            "name": "user",
            "password": "SOME_PLAINTEXT_PASSWORD",
            "shell": "bash"
        }
    ],
    "flatpak": true,
    "kernel": "linux"
}

CLI usage#

blend-inst is not meant to be used this way!

The tool is meant to be called from a graphical or terminal UI, which creates the config and calls blend-inst to install it. For this purpose, we use jade-gui.

Load a config (dry run)#

TESTING_INST=true blend-inst config 'some-config.json'
Loads a config and prints the commands that would have been run.

Install a config#

blend-inst config '~/.config/jade.json' # or some other config file
Loads a config file and uses it to install blendOS.