No description
Find a file
Priit Jõerüüt f012e9f55d
Translated using Weblate (Estonian)
Currently translated at 100.0% (74 of 74 strings)

Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/os-installer/os-installer/et/
Translation: os-installer/os-installer
2025-03-21 04:31:31 +01:00
data device-summary-row: Fix translation 2025-02-07 18:16:23 +00:00
doc docs: update class hierarchy 2022-05-21 09:52:23 +02:00
example_config example: Fix typo 2025-01-23 16:39:37 +00:00
misc-build-files page-wrapper: Handle special images via config 2024-09-12 23:17:50 -05:00
po Translated using Weblate (Estonian) 2025-03-21 04:31:31 +01:00
scripts Fix pt_PT and pt_BR handling 2025-01-17 03:43:57 +00:00
src device-summary-row: Fix translation 2025-02-07 18:16:23 +00:00
subprojects epic: port to blueprint 2022-03-27 11:05:52 +02:00
.gitignore gitignore: hidden files and folders 2024-04-09 20:28:36 +02:00
com.github.p3732.OS-Installer.json flatpak: Update dependencies 2025-01-23 16:39:37 +00:00
LICENSE change License to GPL-3.0-or-later 2021-02-01 02:59:23 +01:00
meson.build build: Add Vte dependency 2025-01-17 03:43:57 +00:00
meson_options.txt build: add flatpak option to install demo wrapper 2022-05-27 10:56:34 +04:00
README.md readme: Link to GTranslator flatpak 2024-12-07 01:22:25 -03:00

A simple operating system installer, intended to be used with live install systems. Provides bootstrapping through language, keyboard, internet connection and disk selection. Allows defining of optional additional software to be installed.

Translations

Translation status

Help with translations is always welcome! The simplest way is via Weblate, which provides a very intuitive website.

Alternatively you could try the autonomous way:

  • Fork, clone and build this repository.
  • Add your language code xx to the po/LINGUAS file.
  • Generate a new translation file with ninja -C build os-installer-update-po and edit it.
  • Test the translation, commit and push the changes to your fork and create a merge request. Thank you!

Testing

Clone the project with GNOME Builder via https://gitlab.gnome.org/p3732/os-installer.git and run it (this will not make changes to your system).

Development Setup

Install the following dependencies: gnome-desktop gtk4 libadwaita libgweather python-yaml udisks vte. Note that GTK4 compatible versions of gnome-desktop and vte are required. Then clone and install OS-Installer:

git clone --recursive https://gitlab.gnome.org/p3732/os-installer.git
cd os-installer
meson setup build
sudo meson install -C build

To try OS-Installer, without modifying any system settings, run it in debug mode with os-installer -d. Uninstall with sudo ninja -C build uninstall

Distributions

The following describes how to use this in a distribution.

Configuration

Place a configuration and installation scripts under /etc/os-installer (or symlink it to another folder). An example structure is given in the example_config folder. General usage of these files is:

  1. Read configuration from config.yaml
  2. After establishing an internet connection prepare.sh is started.
    • Useful for starting mirror updates, getting package lists or pre-caching packages.
  3. After chosing a disk and confirming the deletion of files on it, install.sh is started.
    • Can be used to write basic system and other data onto disk, installing kernel, packages, bootloader, etc.
    • If install.sh does not exist, there will be no confirmation page.
  4. After giving all other information is confirmed via the summary page, configure.sh is started.
    • This can be used to either handle the full installation or to finish up configuring the system according to selected preferences (account, locale, additional packages and features)

Not all scripts need to exist, if one does not, this step is simply skipped. The example scripts list which environment variables are made available to each script.

The scripts can be written in any language as long as a shell can correctly execute them. Also, the installer will run scripts as the user it is started by. If they require elevated priviledges (hint: they probably do), these need to be granted to the script through other means.

Dependencies

In addition to the dependencies listed under Testing, the default OS-Installer config also expects these GNOME apps to be available: epiphany, gnome-disk-utility, gnome-control-center (These can be changed via config.yaml)

Similarly systemd is expected to be available, i.e. localectl and timedatectl.

Examples

Example configurations of distributions (experimenting) with using OS-Installer:

Contact

There is a matrix room https://matrix.to/#/#os-installer:matrix.org in which you can ask questions. Response time might vary.