{ "log_file": "/etc/vanilla/first-setup.log", "distro_name": "Vanilla OS", "distro_logo": "io.github.vanilla-os.FirstSetup", "pre_run": [ "apt update", "apt install -f" ], "post_run": [ "apt update", "apt install -f" ], "tour": { "abroot": { "icon": "security-medium-symbolic", "title": "Immutable and Atomic", "description": "Vanilla OS is an immutable and atomic Linux distribution. It is based on Ubuntu and uses ABRoot to provide atomic transactions.", "read_more_link": "https://documentation.vanillaos.org/docs/abroot/" }, "apx": { "icon": "vanilla-container-terminal-symbolic", "title": "Sub-System Ready To Go", "description": "Vanilla OS comes with Apx, a new package manager which installs software in integrated containers to prevent host compromise.", "read_more_link": "https://documentation.vanillaos.org/docs/apx/" } }, "steps": { "apps": { "template": "applications", "icon": "org.gnome.Software-symbolic", "title": "Applications", "description": "Choose which applications to install.", "bundles": [ { "id": "essential-apps", "title": "Essential Applications", "subtitle": "Core GNOME apps like Calendar or Calculator.", "default": true, "applications" : [ { "name" : "Calculator", "icon" : "org.gnome.Calculator", "flatpak-id" : "org.gnome.Calculator", "snap-id" : "gnome-calculator" }, { "name" : "Calendar", "icon" : "org.gnome.Calendar", "flatpak-id" : "org.gnome.Calendar" }, { "name" : "Characters", "icon" : "org.gnome.Characters", "flatpak-id" : "org.gnome.Characters", "snap-id" : "gnome-characters" }, { "name" : "Cheese", "icon" : "org.gnome.Cheese", "flatpak-id" : "org.gnome.Cheese", "snap-id" : "cheese" }, { "name" : "Clocks", "icon" : "org.gnome.clocks", "flatpak-id" : "org.gnome.clocks", "snap-id" : "gnome-clocks" }, { "name" : "Contacts", "icon" : "org.gnome.Contacts", "flatpak-id" : "org.gnome.Contacts", "snap-id" : "gnome-contacts" }, { "name" : "Disk Usage Analyzer", "icon" : "org.gnome.baobab", "flatpak-id" : "org.gnome.baobab" }, { "name" : "Document Viewer", "icon" : "org.gnome.Evince", "flatpak-id" : "org.gnome.Evince", "snap-id" : "evince" }, { "name" : "Extensions", "icon" : "org.gnome.Extensions", "flatpak-id" : "org.gnome.Extensions" }, { "name" : "Fonts", "icon" : "org.gnome.font-viewer", "flatpak-id" : "org.gnome.font-viewer" }, { "name" : "Image Viewer", "icon" : "org.gnome.eog", "flatpak-id" : "org.gnome.eog", "snap-id" : "eog" }, { "name" : "Logs", "icon" : "org.gnome.Logs", "flatpak-id" : "org.gnome.Logs", "snap-id" : "gnome-logs" }, { "name" : "Maps", "icon" : "org.gnome.Maps", "flatpak-id" : "org.gnome.Maps" }, { "name" : "Music", "icon" : "org.gnome.Music", "flatpak-id" : "org.gnome.Music" }, { "name" : "Photos", "icon" : "org.gnome.Photos", "flatpak-id" : "org.gnome.Photos" }, { "name" : "Text Editor", "icon" : "org.gnome.TextEditor", "flatpak-id" : "org.gnome.TextEditor" }, { "name" : "Videos", "icon" : "org.gnome.Totem", "flatpak-id" : "org.gnome.Totem" }, { "name" : "Weather", "icon" : "org.gnome.Weather", "flatpak-id" : "org.gnome.Weather", "snap-id" : "gnome-weather" } ] }, { "id": "utilities", "title": "Common Utilities", "subtitle": "Useful utilities like Bottles.", "default": true, "applications" : [ { "name" : "Bottles", "icon" : "com.usebottles.bottles", "flatpak-id" : "com.usebottles.bottles" } ] } ], "final": [ { "if": "essential-apps", "type": "command", "commands": ["flatpak install org.gnome.Geary || snap install snapd"] }, { "if": "utilities", "type": "command", "commands": ["flatpak install org.gnome.Geary || snap install snapd"] } ] }, "welcome": { "template": "welcome" }, "theme": { "template": "theme" }, "packages": { "template": "preferences", "icon": "vanilla-package-symbolic", "title": "Package Manager", "description": "Choose one or more package managers to install", "without_selection": { "allowed": true, "message": "You have chosen not to install any package manager, you will only be able to install packages using the package manager (apx).\n\nGNOME Software will be disabled since it is not compatible with the On-Demand Immutability.", "title": "No package manager selected", "final": [ { "if": "warp::immutability", "type": "command", "commands": [ "apt remove -y gnome-software" ] } ] }, "preferences": [ { "id": "flatpak", "title": "Flatpak", "subtitle": "Manage and configure Flatpaks and the Flathub repository.", "default": true }, { "id": "snap", "title": "Snap", "subtitle": "Manage and configure Snaps and the Snapcraft repository." }, { "id": "appimage", "title": "AppImage", "subtitle": "Install necessary dependencies to run AppImages.", "default": true } ], "final": [ { "if": "flatpak", "type": "command", "commands": [ "apt install -y flatpak gnome-software-plugin-flatpak", "!outRun echo '[Desktop Entry]\nType=Application\nExec=kgx -e bash -c \"echo 'Configuring Flathub..' && flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && rm -f ~/.config/autostart/flathub.desktop && echo 'Flathub installed successfully' || echo 'Failed installing Flathub. Are you connected to the internet?'\"\nName=Flatpak Flathub\nComment=Add Flathub repository to Flatpak\n' > ~/.config/autostart/flathub.desktop" ] }, { "if": "snap", "type": "command", "commands": ["apt install -y snapd"] }, { "if": "appimage", "type": "command", "commands": ["apt install -y fuse3 libfuse2"] } ] }, "nvidia": { "template": "yes-no", "display-conditions": [ "lspci | grep -i '.* nvidia .*'" ], "icon": "video-display-symbolic", "title": "NVIDIA® Drivers", "description": "Choose whether to install proprietary NVIDIA drivers for better compatibility and performance.", "buttons": { "yes": "Yes, install", "no": "Skip", "info": { "type": "text", "title": "About Proprietary Drivers", "text": "A proprietary driver has private code that neither Vanilla OS nor Ubuntu developers can review.\n\nSecurity and other updates are dependent on the driver vendor." } }, "final": [ { "if": "nvidia", "type": "command", "commands": [ "apt install -y linux-headers-$(uname -r)", "ubuntu-drivers install --recommended" ] } ] }, "vm": { "template": "yes-no", "display-conditions": [ "grep 'hypervisor' /proc/cpuinfo" ], "icon": "application-x-appliance-symbolic", "title": "Open VM Tools", "description": "Choose whether to install Open VM Tools for the virtual machine.", "buttons": { "yes": "Install", "no": "Skip", "info": { "type": "text", "title": "About Open VM Tools", "text": "Open VM Tools can be used in GNOME Boxes." } }, "final": [ { "if": "vm", "type": "command", "commands": ["apt install -y open-vm-tools"] } ] }, "codecs": { "template": "yes-no", "icon": "vanilla-puzzle-piece-symbolic", "title": "Restricted Codecs", "description": "Choose whether to install restricted codecs and fonts.", "buttons": { "yes": "Install", "no": "Skip", "info": { "type": "text", "title": "About Restricted Codecs", "text": "Installs ubuntu-restricted-extras and ubuntu-restricted-addons." } }, "final": [ { "if": "codecs", "type": "command", "commands": ["apt install -y ubuntu-restricted-addons ubuntu-restricted-extras"] } ] }, "extra": { "template": "preferences", "icon": "dialog-warning-symbolic", "title": "Extra Settings", "description": "The following are optional settings, leave them as they are if you don't know what they do.", "preferences": [ { "id": "apport", "title": "Apport", "subtitle": "Apport is a crash reporting system that helps us improve the stability of the system." } ], "final": [ { "if": "apport", "type": "command", "commands": [ "apt install -y apport", "systemctl enable apport.service || true" ] }, { "if": "apport", "condition": false, "type": "command", "commands": [ "apt remove -y apport", "systemctl disable apport.service || true" ] } ] } } }