Skip to content

Instantly share code, notes, and snippets.

@AdamIsrael
Created February 12, 2023 20:12
Show Gist options
  • Save AdamIsrael/126da47548579fccbe1280947f3b15b5 to your computer and use it in GitHub Desktop.
Save AdamIsrael/126da47548579fccbe1280947f3b15b5 to your computer and use it in GitHub Desktop.
vanilla first-setup receipe
{
"log_file": "/etc/ublue/first-setup.log",
"distro_name": "uBlue OS",
"distro_logo": "org.vanillaos.FirstSetup",
"pre_run": [],
"post_run": [],
"tour": {
"get-involved": {
"icon": "system-users-symbolic",
"title": "Get Involved",
"description": "uBlue 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": "uBlue OS is based on Fedora Silverblue, an immutable and atomic Linux distribution.",
"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": {
"conn-check": {
"template": "conn-check"
},
"welcome": {
"template": "welcome"
},
"theme": {
"template": "theme"
},
"packages": {
"template": "preferences",
"icon": "vanilla-package-symbolic",
"title": "Package Manager",
"description": "uBlue OS uses flatpak as its default package manager.",
"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": []
}
]
},
"preferences": [
{
"id": "flatpak",
"title": "Flatpak",
"subtitle": "Manage and configure Flatpaks and the Flathub repository.",
"disabled": true,
"default": true
},
{
"id": "snap",
"title": "Snap",
"subtitle": "Manage and configure Snaps and the Snapcraft repository.",
"default": false,
"disabled": true
},
{
"id": "appimage",
"title": "AppImage",
"subtitle": "Install necessary dependencies to run AppImages.",
"default": false,
"disabled": true
},
{
"id": "-",
"title": "-",
"subtitle": "-",
"disabled": true,
"default": true
}
],
"final": [
{
"if": "flatpak",
"type": "command",
"commands": [
"/usr/bin/flatpak remote-delete flathub --force",
"/usr/bin/flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo",
"/usr/bin/flatpak install --user --noninteractive org.gnome.Platform//43 || true",
"/usr/bin/flatpak install --user --noninteractive --reinstall flathub $(flatpak list --app-runtime=org.fedoraproject.Platform --columns=application | tail -n +1 )",
"/usr/bin/flatpak remove --system --noninteractive --all",
"/usr/bin/flatpak remote-delete fedora --force || true"
]
}
]
},
"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
},
{
"name" : "Cheese",
"icon" : "org.gnome.Cheese",
"flatpak" : true
},
{
"name" : "Clocks",
"icon" : "org.gnome.clocks",
"flatpak" : true
},
{
"name" : "Connections",
"icon" : "org.gnome.Connections",
"flatpak" : true
},
{
"name" : "Contacts",
"icon" : "org.gnome.Contacts",
"flatpak" : true
},
{
"name" : "Disk Usage Analyzer",
"icon" : "org.gnome.baobab",
"flatpak" : true
},
{
"name" : "Document Viewer",
"icon" : "org.gnome.Evince",
"flatpak" : true
},
{
"name" : "Fonts",
"icon" : "org.gnome.font-viewer",
"flatpak" : true
},
{
"name" : "Image Viewer",
"icon" : "org.gnome.eog",
"flatpak" : true
},
{
"name" : "Logs",
"icon" : "org.gnome.Logs",
"flatpak" : 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
}
]
},
{
"id": "office",
"title": "Office",
"subtitle": "The LibreOffice suite.",
"default": false,
"applications" : [
{
"name" : "LibreOffice",
"icon" : "org.libreoffice.LibreOffice",
"flatpak": 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
},
{
"name" : "Déjà Dup Backups",
"icon" : "org.gnome.DejaDup",
"flatpak" : 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
},
{
"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"]
},
{
"if" : "Cheese",
"type" : "command",
"commands" : ["!nextBoot flatpak install -y org.gnome.Cheese"]
},
{
"if" : "Clocks",
"type" : "command",
"commands" : ["!nextBoot flatpak install -y org.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"]
},
{
"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"]
},
{
"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"]
},
{
"if" : "Logs",
"type" : "command",
"commands" : ["!nextBoot flatpak install -y org.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"]
},
{
"if" : "LibreOffice",
"type" : "command",
"commands" : ["!nextBoot flatpak install -y org.libreoffice.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"]
},
{
"if" : "Déjà Dup Backups",
"type" : "command",
"commands" : ["!nextBoot flatpak install -y org.gnome.DejaDup"]
},
{
"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"]
},
{
"if" : "Sound Recorder",
"type" : "command",
"commands" : ["!nextBoot flatpak install -y org.gnome.SoundRecorder"]
}
]
},
"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": ["rpm-ostree install virt-manager libvirt || true"]
}
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment