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.
508 lines
20 KiB
JSON
508 lines
20 KiB
JSON
{
|
|
"log_file": "/etc/vanilla/first-setup.log",
|
|
"distro_name": "Vanilla OS",
|
|
"distro_logo": "org.vanillaos.FirstSetup",
|
|
"pre_run": [
|
|
"export DEBIAN_FRONTEND=noninteractive",
|
|
"apt update",
|
|
"apt install -f",
|
|
"apt upgrade -y"
|
|
],
|
|
"post_run": [
|
|
"apt update",
|
|
"apt install -f"
|
|
],
|
|
"tour": {
|
|
"get-involved": {
|
|
"icon": "system-users-symbolic",
|
|
"title": "Get Involved",
|
|
"description": "Vanilla OS is a community project. You can contribute to the project by reporting bugs, suggesting new features, or even by writing code.",
|
|
"read_more_link": "https://vanillaos.org/get-involved"
|
|
},
|
|
"community": {
|
|
"icon": "help-faq-symbolic",
|
|
"title": "Join The Community",
|
|
"description": "Our community is active on Discord. You can join us to ask questions, get help, or just to chat with other users.",
|
|
"read_more_link": "https://discord.gg/3cD2Q7Ht3S"
|
|
},
|
|
"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.",
|
|
"disabled": true
|
|
},
|
|
{
|
|
"id": "appimage",
|
|
"title": "AppImage",
|
|
"subtitle": "Install necessary dependencies to run AppImages.",
|
|
"default": true
|
|
},
|
|
{
|
|
"id": "-",
|
|
"title": "-",
|
|
"subtitle": "-",
|
|
"disabled": true,
|
|
"default": true
|
|
}
|
|
],
|
|
"final": [
|
|
{
|
|
"if": "flatpak",
|
|
"type": "command",
|
|
"commands": [
|
|
"apt install -y flatpak gnome-software-plugin-flatpak",
|
|
"!nextBoot flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"
|
|
]
|
|
},
|
|
{
|
|
"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": "core-apps",
|
|
"title": "Core Applications",
|
|
"subtitle": "Essential GNOME apps like Calendar or Document Viewer.",
|
|
"default": true,
|
|
"applications" : [
|
|
{
|
|
"name" : "Calendar",
|
|
"icon" : "org.gnome.Calendar",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Characters",
|
|
"icon" : "org.gnome.Characters",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Cheese",
|
|
"icon" : "org.gnome.Cheese",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Clocks",
|
|
"icon" : "org.gnome.clocks",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Connections",
|
|
"icon" : "org.gnome.Connections",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Contacts",
|
|
"icon" : "org.gnome.Contacts",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Disk Usage Analyzer",
|
|
"icon" : "org.gnome.baobab",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Document Viewer",
|
|
"icon" : "org.gnome.Evince",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Fonts",
|
|
"icon" : "org.gnome.font-viewer",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Image Viewer",
|
|
"icon" : "org.gnome.eog",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Logs",
|
|
"icon" : "org.gnome.Logs",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Maps",
|
|
"icon" : "org.gnome.Maps",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Text Editor",
|
|
"icon" : "org.gnome.TextEditor",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Weather",
|
|
"icon" : "org.gnome.Weather",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "office",
|
|
"title": "Office",
|
|
"subtitle": "The LibreOffice suite.",
|
|
"default": false,
|
|
"applications" : [
|
|
{
|
|
"name" : "LibreOffice",
|
|
"icon" : "org.libreoffice.LibreOffice",
|
|
"flatpak": true,
|
|
"snap" : true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "utilities",
|
|
"title": "Common Utilities",
|
|
"subtitle": "Useful utilities like Bottles or Sound Recorder.",
|
|
"default": false,
|
|
"applications" : [
|
|
{
|
|
"name" : "Bottles",
|
|
"icon" : "com.usebottles.bottles",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Heroic Games Launcher",
|
|
"icon" : "com.heroicgameslauncher.hgl",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Lutris",
|
|
"icon" : "net.lutris.Lutris",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Boxes",
|
|
"icon" : "org.gnome.Boxes",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Flatseal",
|
|
"icon" : "com.github.tchx84.Flatseal",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Metadata Cleaner",
|
|
"icon" : "fr.romainvigier.MetadataCleaner",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Rnote",
|
|
"icon" : "com.github.flxzt.rnote",
|
|
"flatpak" : true
|
|
},
|
|
{
|
|
"name" : "Shortwave",
|
|
"icon" : "de.haeckerfelix.Shortwave",
|
|
"flatpak" : true,
|
|
"snap" : true
|
|
},
|
|
{
|
|
"name" : "Sound Recorder",
|
|
"icon" : "org.gnome.SoundRecorder",
|
|
"flatpak" : true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"final": [
|
|
{
|
|
"if" : "Calendar",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Calendar"]
|
|
},
|
|
{
|
|
"if" : "Characters",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Characters || snap install gnome-characters"]
|
|
},
|
|
{
|
|
"if" : "Cheese",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Cheese || snap install cheese"]
|
|
},
|
|
{
|
|
"if" : "Clocks",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.clocks || snap install gnome-clocks"]
|
|
},
|
|
{
|
|
"if" : "Connections",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Connections"]
|
|
},
|
|
{
|
|
"if" : "Contacts",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Contacts || snap install gnome-contacts"]
|
|
},
|
|
{
|
|
"if" : "Disk Usage Analyzer",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.baobab"]
|
|
},
|
|
{
|
|
"if" : "Document Viewer",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Evince || snap install evince"]
|
|
},
|
|
{
|
|
"if" : "Fonts",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.font-viewer"]
|
|
},
|
|
{
|
|
"if" : "Image Viewer",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.eog || snap install eog"]
|
|
},
|
|
{
|
|
"if" : "Logs",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Logs || snap install gnome-logs"]
|
|
},
|
|
{
|
|
"if" : "Maps",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Maps"]
|
|
},
|
|
{
|
|
"if" : "Text Editor",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.TextEditor"]
|
|
},
|
|
{
|
|
"if" : "Weather",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Weather || snap install gnome-weather"]
|
|
},
|
|
{
|
|
"if" : "LibreOffice",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.libreoffice.LibreOffice || snap install libreoffice"]
|
|
},
|
|
{
|
|
"if" : "Bottles",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y com.usebottles.bottles"]
|
|
},
|
|
{
|
|
"if" : "Heroic Games Launcher",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y com.heroicgameslauncher.hgl"]
|
|
},
|
|
{
|
|
"if" : "Lutris",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y net.lutris.Lutris"]
|
|
},
|
|
{
|
|
"if" : "Boxes",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.Boxes || snap install gnome-boxes"]
|
|
},
|
|
{
|
|
"if" : "Flatseal",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y com.github.tchx84.Flatseal"]
|
|
},
|
|
{
|
|
"if" : "Metadata Cleaner",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y fr.romainvigier.MetadataCleaner"]
|
|
},
|
|
{
|
|
"if" : "Rnote",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y com.github.flxzt.rnote"]
|
|
},
|
|
{
|
|
"if" : "Shortwave",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y de.haeckerfelix.Shortwave || snap install shortwave"]
|
|
},
|
|
{
|
|
"if" : "Sound Recorder",
|
|
"type" : "command",
|
|
"commands" : ["!nextBoot flatpak install -y org.gnome.SoundRecorder"]
|
|
}
|
|
]
|
|
},
|
|
"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) nvidia-prime",
|
|
"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": "Install Open VM Tools for seamless integration with Virtual machines."
|
|
}
|
|
},
|
|
"final": [
|
|
{
|
|
"if": "vm",
|
|
"type": "command",
|
|
"commands": ["apt install -y open-vm-tools open-vm-tools-desktop"]
|
|
}
|
|
]
|
|
},
|
|
"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": "Install drivers, fonts and other essentials from the ubuntu-restricted-extras and ubuntu-restricted-addons repositories."
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|