Note: this is the work-in-progress installer and has not been released yet. For the current installer, see Ubiquity.
An installer for open-source operating systems. See the wiki for goals, design spec, user flow, and details about each step.
Run this to build & test the installer
# build
nix-build -A nixinstall
# test
nix run meros.conf-tool
sudo result/bin/io.elementary.installer --test
Note: It is running in test mode, meaning you can't break stuff, but root is needed to list the drives
If you're cautious enough, you can remove the --test flag and install to an USB drive to test a full installation
Debug logs get printed to stdout
You'll need the following dependencies:
- meson
- desktop-file-utils
- gettext
- gparted
- libgnomekbd-dev
- libgranite-dev >= 0.5
- libgtk-3-dev
- libgee-0.8-dev
- libjson-glib-dev
- libpwquality-dev
- libxml2-dev
- libxml2-utils
- distinst
- valac
Run meson build
to configure the build environment. Change to the build directory and run ninja test
to build and run automated tests.
meson build --prefix=/usr
cd build
ninja test
To install, use ninja install
, then execute with io.elementary.installer
. Note that listing drives and actually installing requires root.
sudo ninja install
io.elementary.installer
You can also use --test
mode for development to disable destructive behaviors like installing, restarting, and shutting down:
io.elementary.installer --test
For debug messages, set the G_MESSAGES_DEBUG
environment variable, e.g. to all
:
G_MESSAGES_DEBUG=all io.elementary.installer