You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
341 lines
14 KiB
JSON
341 lines
14 KiB
JSON
{
|
|
"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": {
|
|
"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.",
|
|
"title": "No package manager selected",
|
|
"final": [
|
|
{
|
|
"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"]
|
|
}
|
|
]
|
|
},
|
|
"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"]
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|