# flatpak/flatpak

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/flatpak-flatpak).**

4,818 stars · 469 forks · C · lgpl-2.1

## Links

- GitHub: https://github.com/flatpak/flatpak
- Homepage: https://flatpak.org
- awesome-repositories: https://awesome-repositories.com/repository/flatpak-flatpak.md

## Description

Flatpak is a sandboxed application framework and standardized packaging format for Linux desktop applications. It functions as a distribution system that allows a single application bundle to run consistently across multiple Linux operating systems without requiring per-distribution builds.

The project provides a runtime dependency manager that bundles specific library versions or shared runtimes to create predictable execution environments. It includes a sandbox permission manager to control application access to system hardware and resources, ensuring security and consistent behavior between development and production.

The system manages application lifecycle through a repository distribution model, utilizing manifest-driven builds and a content-addressed version control system for updates. It integrates isolated applications with the host desktop environment via standardized portal interfaces for system notifications, global menus, and theme settings.

Diagnostic tools are available for troubleshooting isolated environments through debug shells, stacktrace retrieval, and bus traffic auditing.

## Tags

### DevOps & Infrastructure

- [Package Distribution](https://awesome-repositories.com/f/devops-infrastructure/package-distribution.md) — Packages desktop applications into a single, standardized format that runs across multiple Linux distributions. ([source](https://flatpak.org))
- [Application Packaging Formats](https://awesome-repositories.com/f/devops-infrastructure/application-packaging-formats.md) — Implements a standardized packaging format for portable, isolated application units across Linux systems.
- [Repository Hosting](https://awesome-repositories.com/f/devops-infrastructure/repository-hosting.md) — Publishes and hosts application bundles through remote repositories or standalone files for client installation. ([source](https://docs.flatpak.org/en/latest/index.html))

### Operating Systems & Systems Programming

- [Linux Sandboxes](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-sandboxes.md) — Implements a comprehensive framework for packaging and running desktop applications in isolated Linux sandboxes.
- [Namespace-Based Isolation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/process-isolation/namespace-based-isolation.md) — Leverages Linux kernel namespaces and cgroups to create secure process isolation for applications.
- [Permission Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-sandboxes/permission-managers.md) — Provides a security layer that controls application access to system hardware and resources through a defined permission system and portals.
- [Out-of-Process Resource Brokers](https://awesome-repositories.com/f/operating-systems-systems-programming/out-of-process-resource-brokers.md) — Ships a portal-based interface that acts as a broker for sandboxed applications to securely access system resources.
- [Desktop Environment Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-configurations/desktop-environment-integrations.md) — Manages installation locations and environment variables to enable seamless application discovery by desktop shells. ([source](https://github.com/flatpak/flatpak/wiki/Distribution))
- [Desktop Integration](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-integration.md) — Provides a standardized portal interface to connect sandboxed applications with system notifications and global menus. ([source](https://docs.flatpak.org/en/latest/index.html))

### Development Tools & Productivity

- [Cross-Distribution Formats](https://awesome-repositories.com/f/development-tools-productivity/application-distribution/cross-distribution-formats.md) — Provides a standardized packaging format that eliminates the need for per-distribution builds of Linux desktop apps.
- [Manifest-Based Build Systems](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/declarative-configuration-frameworks/manifest-based-build-systems.md) — Uses a declarative manifest file to define build-time dependencies and runtime permissions for reproducible packaging.
- [Shared Library Bundling](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/library-bundling-configurations/shared-library-bundling.md) — Bundles shared libraries and core system components into versioned images to ensure binary compatibility across distributions.
- [Dependency Management Utilities](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/environment-configuration-management/dependency-management-utilities.md) — Manages the bundling of specific library versions and shared runtimes to create predictable execution environments. ([source](https://flatpak.org))
- [Runtime Dependency Bundlers](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration/developer-environment-tooling/runtime-version-managers/runtime-dependency-bundlers.md) — Bundles specific library versions and shared runtimes to ensure predictable execution across different Linux hosts.

### Repository Format

- [Application Repository Systems](https://awesome-repositories.com/f/repository-format/application-repository-systems.md) — Provides a distribution model for hosting and publishing sandboxed application bundles via remote repositories.
- [Content-Addressed Versioning Systems](https://awesome-repositories.com/f/repository-format/content-addressed-versioning-systems.md) — Implements an OSTree-based system for efficient application versioning and delta updates using content-addressable storage.

### Security & Cryptography

- [Application Sandboxing](https://awesome-repositories.com/f/security-cryptography/application-sandboxing.md) — Packages desktop applications into secure, isolated environments using defined manifests and dependencies. ([source](https://docs.flatpak.org/en/latest/index.html))
- [Sandbox Permissions](https://awesome-repositories.com/f/security-cryptography/permission-based-access-control/sandbox-permissions.md) — Controls access to system resources and hardware through a specialized permission system and portal interfaces. ([source](https://docs.flatpak.org/en/latest/index.html))

### Software Engineering & Architecture

- [Development Environment Standardization](https://awesome-repositories.com/f/software-engineering-architecture/development-environment-standardization.md) — Ensures the build and test environments are identical to the end-user runtime environment for consistency. ([source](https://flatpak.org))

### System Administration & Monitoring

- [Application Sandbox Inspection](https://awesome-repositories.com/f/system-administration-monitoring/container-state-inspection/application-sandbox-inspection.md) — Offers diagnostic tools including debug shells and bus traffic auditing to inspect isolated application environments. ([source](https://docs.flatpak.org/en/latest/index.html))
