Presenters

Source

🚀 Pre-Installed Apps in Gnome OS: Navigating the Flatpak Frontier 🌐

Gnome OS aims to deliver a smooth, user-friendly experience, and a key ingredient in that is having essential applications readily available. But how do you pre-install those apps while staying true to the core principles of Flatpak – namely, sandboxing and consistency? This presentation delved deep into this challenge, exploring various solutions and their trade-offs. Let’s break down the problem and the proposed approaches.

🎯 The Problem: Balancing Convenience and Flatpak Principles 💾

The goal is simple: provide users with commonly used applications out-of-the-box. However, the way you achieve that impacts the entire system. Simply installing Flatpaks directly into /var (the root filesystem) creates a major headache. If a user needs to perform a factory reset, those pre-installed apps vanish! This also clashes with Flatpak’s intended purpose of providing isolated, consistent environments.

Why Flatpak in the first place? It’s more than just a trend. Flatpak offers powerful advantages:

  • Sandboxing: Enhanced security by isolating applications.
  • Consistent Environments: Ensures applications behave predictably, regardless of the underlying system.
  • Simplified Updates: Streamlines the update process for both users and developers.

###💡 Proposed Solutions: A Deep Dive into the Options 🛠️

The presentation explored several potential solutions, each with its own set of pros and cons. Let’s examine them:

  1. Sideload Repo in User: This approach places pre-packaged Flatpaks in a “sideload” repository located within the user’s home directory. During installation, these are then copied to /var.

    • Pros: Relatively straightforward to implement.
    • Cons: Doesn’t address the factory reset issue (apps disappear!), and duplicates data, increasing storage usage.
  2. Fedora Atomic Inspired Approach (Copy at Install Time): This solution leverages a partition on the ISO image containing pre-installed Flatpaks. During installation, this partition is copied to /var.

    • Pros: Easy to implement.
    • Cons: Suffers from the same factory reset problem as the sideload approach.
  3. Running System Software as Flatpaks: A Non-Starter 🙅‍♂️ The idea of wrapping system applications (like the Epiphany browser) within Flatpak containers was quickly dismissed. Why? Because it’s fraught with challenges:

    • Significant Technical Hurdles: Implementing this would be incredibly complex.
    • Breaks QA: It would severely impact the quality assurance process.
    • Compatibility Nightmares: Maintaining compatibility would be a constant battle.
    • Deviation from Flatpak’s Purpose: It fundamentally goes against how Flatpak is intended to be used.
  4. The New Flatpak Pre-Install Feature: A Promising Path 🚀 This recent addition to Flatpak introduces a new mechanism: “drop-in” configuration files that define which Flatpaks should be pre-installed. These files can be used during initial installation or on subsequent runs.

    • Pros: Offers a potentially cleaner and more integrated approach, providing flexibility in how applications are managed.
    • Cons: Still relatively new, so its long-term viability and integration with other systems are still under evaluation.

🤔 Key Takeaways & The Road Ahead 🌐

The discussion illuminated several crucial points:

  • KD Linux as a Model: The approach KD Linux takes, utilizing the sideload repo in user approach, provides a potential blueprint for Gnome OS.
  • Factory Resets are Paramount: The ability to perform a factory reset without losing pre-installed applications is a critical design constraint.
  • The New Flatpak Pre-Install Feature is the Frontrunner: This approach currently appears to offer the best balance of functionality and integration. It’s the most promising avenue for achieving the desired outcome.
  • Consistency is Key: Regardless of the chosen method, a consistent and well-documented approach is vital for maintainability and a positive user experience.
  • Trade-offs are Inevitable: There’s no perfect solution. Every approach involves trade-offs that need to be carefully considered.

The presentation offered a valuable insight into the complexities of pre-installing applications within a Flatpak environment. While the new Flatpak pre-install feature shows considerable promise, further testing and evaluation are needed to ensure its long-term success. It’s a reminder that even seemingly simple goals can require navigating intricate technical landscapes.

Appendix