title: Welcome to uBlue
properties:
  mode: "run-on-change"
screens:
  first-screen:
    source: yafti.screen.title
    values:
      title: "Welcome to uBlue (Alpha)"
      icon: "/path/to/icon"
      description: |
        This guided installer will help you get started with your new system.
  can-we-modify-your-flatpaks:
    source: yafti.screen.consent
    values:
      title: Welcome, Traveler!
      condition:
        run: flatpak remotes --columns=name | grep fedora
      description: |
        We have detected the limited, Fedora-provided Flatpak remote on your system, whose applications are usually missing important codecs and other features. This step will therefore remove all basic Fedora Flatpaks from your system! We will instead switch all core Flatpak applications over to the vastly superior, unfiltered Flathub. If you don't want to do this, simply exit this installer.
      actions:
        - run: flatpak remote-delete --system --force fedora
        - run: flatpak remote-delete --user --force fedora
        - run: flatpak remove --system --noninteractive --all
        - run: flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
        - run: flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
  check-system-flathub:
    source: yafti.screen.consent
    values:
      title: Missing Flathub Repository (System)
      condition:
        run: flatpak remotes --system --columns=name | grep flathub | wc -l | grep '^0$'
      description: |
        We have detected that you don't have Flathub's repository on your system. We will now add that repository to your system-wide list.
      actions:
        - run: flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
  check-user-flathub:
    source: yafti.screen.consent
    values:
      title: Missing Flathub Repository (User)
      condition:
        run: flatpak remotes --user --columns=name | grep flathub | wc -l | grep '^0$'
      description: |
        We have detected that you don't have Flathub's repository on your current user account. We will now add that repository to your account.
      actions:
        - run: flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
  applications:
    source: yafti.screen.package
    values:
      title: Application Installer
      show_terminal: true
      package_manager: yafti.plugin.flatpak
      package_manager_defaults:
        user: false
        system: true
      groups:
        Core GNOME Apps:
          description: Core system applications for the GNOME desktop environment.
          default: true
          packages:
            - Calculator: org.gnome.Calculator
            - Calendar: org.gnome.Calendar
            - Camera: org.gnome.Snapshot
            - Characters: org.gnome.Characters
            - Clocks: org.gnome.clocks
            - Connections: org.gnome.Connections
            - Contacts: org.gnome.Contacts
            - Disk Usage Analyzer: org.gnome.baobab
            - Document Scanner: org.gnome.SimpleScan
            - Document Viewer: org.gnome.Evince
            - Extension Manager: com.mattjakeman.ExtensionManager
            - Font Viewer: org.gnome.font-viewer
            - Image Viewer: org.gnome.Loupe
            - Logs: org.gnome.Logs
            - Maps: org.gnome.Maps
            - Photos (Organizer): org.gnome.Photos
            - Sushi (Nautilus Previewer): org.gnome.NautilusPreviewer
            - Text Editor: org.gnome.TextEditor
            - Videos (Player): org.gnome.Totem
            - Weather: org.gnome.Weather
        System Apps:
          description: System applications for all desktop environments.
          default: true
          packages:
            - Deja Dup Backups: org.gnome.DejaDup
            - Fedora Media Writer: org.fedoraproject.MediaWriter
            - Flatseal (Permission Manager): com.github.tchx84.Flatseal
            - Font Downloader: org.gustavoperedo.FontDownloader
            - Mozilla Firefox: org.mozilla.firefox
        Web Browsers:
          description: Additional browsers to complement or replace Firefox.
          default: false
          packages:
            - Brave: com.brave.Browser
            - GNOME Web: org.gnome.Epiphany
            - Google Chrome: com.google.Chrome
            - Microsoft Edge: com.microsoft.Edge
            - Opera: com.opera.Opera
        Gaming:
          description: "Rock and Stone!"
          default: false
          packages:
            - Bottles: com.usebottles.bottles
            - Discord: com.discordapp.Discord
            - Heroic Games Launcher: com.heroicgameslauncher.hgl
            - Steam: com.valvesoftware.Steam
            - Gamescope (Utility): org.freedesktop.Platform.VulkanLayer.gamescope
            - MangoHUD (Utility): org.freedesktop.Platform.VulkanLayer.MangoHud//22.08
            - SteamTinkerLaunch (Utility): com.valvesoftware.Steam.Utility.steamtinkerlaunch
            - Proton Updater for Steam: net.davidotek.pupgui2
        Office:
          description: Boost your productivity.
          default: false
          packages:
            - LibreOffice: org.libreoffice.LibreOffice
            - OnlyOffice: org.onlyoffice.desktopeditors
            - Obsidian: md.obsidian.Obsidian
            - Slack: com.slack.Slack
            - Standard Notes: org.standardnotes.standardnotes
            - Thunderbird Email: org.mozilla.Thunderbird
        Streaming:
          description: Stream to the Internet.
          default: false
          packages:
            - OBS Studio: com.obsproject.Studio
            - VkCapture for OBS: com.obsproject.Studio.OBSVkCapture
            - Gstreamer for OBS: com.obsproject.Studio.Plugin.Gstreamer
            - Gstreamer VAAPI for OBS: com.obsproject.Studio.Plugin.GStreamerVaapi
            - Boatswain for Streamdeck: com.feaneron.Boatswain

  final-screen:
    source: yafti.screen.title
    values:
      title: "All done!"
      icon: "/path/to/icon"
      links:
        - "Install More Applications":
            run: /usr/bin/gnome-software
        - "Website":
            run: /usr/bin/xdg-open https://ublue.it
        - "Join the Discord Community":
            run: /usr/bin/xdg-open https://discord.gg/XjG48C7VHx
      description: |
        Thanks for trying uBlue, we hope you enjoy it!
