This utility is meant to be used in Vanilla OS as a first-setup wizard. Its purpose is to help the user to configure the system to their needs, e.g. by configuring hostname, theme, flatpak apps, etc.

Important
You need to install all build and run dependencies first
python3 test.py -d
The "-d" option is the dry-run mode, without it, first-setup will make changes to your system.
Pass the "-c" flag to force the configure system mode.
You can change the used language like this:
LANGUAGE=de python3 test.py -d
sudo apt-get update
sudo apt-get build-dep .
If you want to install the build dependencies manually, have a look in: debian/control
Warning
dpkg-buildpackage places it's output files (Like the .deb file) into the parent folder.
dpkg-buildpackage
or manually with meson:
meson setup build
meson compile -C build
Here you can change the install folder (default is /usr/local), for example:
meson setup --prefix="$(pwd)/install" build
These can be found here: debian/control
Tip
If you use apt-get to install the .deb file it will automatically install the dependencies.
sudo apt-get install ./vanilla-first-setup*.deb
or manually with meson:
meson install -C build
A special user is needed to run the initial setup for hostname, user-creation, locale, etc.
- Create a user
- Create the group vanilla-first-setup (Changing the gid is recommended to avoid messing with user groups)
- Add the user to group vanilla-first-setup
- Create the file
/var/lib/AccountsService/users/your_user
[User]
Session=firstsetup
- Create the file
/etc/gdm3/daemon.conf
(replace your_user)
[daemon]
AutomaticLogin=your_user
AutomaticLoginEnable=True
Warning
All users in this group will be deleted on the first reboot after a successful first setup.
vanilla-first-setup
--dry-run (-d)
: Don't make any changes to the system.--force-configure-mode (-c)
: Force the configure system mode, independant of group.--force-regular-mode (-r)
: Force the regular mode, independant of group.--oem-mode (-o)
: Use the original equipment manufacturer mode with language, keyboard and timezone selection.
To update the .pot file with newly added translation strings, run:
meson compile -C build vanilla-first-setup-pot