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.
moonstone/recipe.json

426 lines
17 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" : true,
"snap" : true
},
{
"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" : "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" : "Extensions",
"icon" : "org.gnome.Extensions",
"flatpak" : 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" : "org.gnome.Logs",
"snap" : true
},
{
"name" : "Maps",
"icon" : "org.gnome.Maps",
"flatpak" : true
},
{
"name" : "Music",
"icon" : "org.gnome.Music",
"flatpak" : true
},
{
"name" : "Photos",
"icon" : "org.gnome.Photos",
"flatpak" : true
},
{
"name" : "Text Editor",
"icon" : "org.gnome.TextEditor",
"flatpak" : true
},
{
"name" : "Videos",
"icon" : "org.gnome.Totem",
"flatpak" : true
},
{
"name" : "Weather",
"icon" : "org.gnome.Weather",
"flatpak" : true,
"snap" : true
}
]
},
{
"id": "utilities",
"title": "Common Utilities",
"subtitle": "Useful utilities like Bottles.",
"default": true,
"applications" : [
{
"name" : "Bottles",
"icon" : "com.usebottles.bottles",
"flatpak" : "com.usebottles.bottles"
}
]
}
],
"final": [
{
"if" : "Calculator",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Calculator || snap install gnome-calculator"]
},
{
"if" : "Calendar",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Calendar"]
},
{
"if" : "Characters",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Characters || snap install gnome-characters"]
},
{
"if" : "Cheese",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Cheese || snap install cheese"]
},
{
"if" : "Clocks",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.clocks || snap install gnome-clocks"]
},
{
"if" : "Contacts",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Contacts || snap install gnome-contacts"]
},
{
"if" : "Disk Usage Analyzer",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.baobab"]
},
{
"if" : "Document Viewer",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Evince || snap install evince"]
},
{
"if" : "Extensions",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Extensions"]
},
{
"if" : "Fonts",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Fonts"]
},
{
"if" : "Image Viewer",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.eog || snap install eog"]
},
{
"if" : "Logs",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Logs || snap install gnome-logs"]
},
{
"if" : "Maps",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Maps"]
},
{
"if" : "Music",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Music"]
},
{
"if" : "Photos",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Photos"]
},
{
"if" : "Text Editor",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.TextEditor"]
},
{
"if" : "Videos",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Totem"]
},
{
"if" : "Weather",
"type" : "command",
"commands" : ["flatpak --user install org.gnome.Weather || snap install gnome-weather"]
},
{
"if" : "Bottles",
"type" : "command",
"commands" : ["flatpak --user install com.usebottles.bottles"]
}
]
},
"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"
]
}
]
}
}
}