6 KiB
6 KiB
Aurora Repository File Tree Structure
Based on my examination of the ublue-os/aurora repository, here is the comprehensive file and directory structure with their purposes:
aurora/
├── .github/ # GitHub configuration and workflows
│ ├── workflows/ # GitHub Actions CI/CD workflows
│ │ ├── build.yml # Main build workflow for container images
│ │ ├── reusable-build.yml # Reusable workflow components
│ │ └── release.yml # Release automation workflow
│ ├── ISSUE_TEMPLATE/ # GitHub issue templates
│ ├── PULL_REQUEST_TEMPLATE.md # Pull request template
│ └── dependabot.yml # Dependabot configuration for dependencies
│
├── config/ # Configuration files and scripts
│ ├── scripts/ # Build and configuration scripts
│ │ ├── aurora-firstboot.sh # First boot setup script
│ │ ├── install-packages.sh # Package installation script
│ │ └── configure-kde.sh # KDE desktop environment configuration
│ ├── files/ # Static configuration files
│ │ ├── kde/ # KDE-specific configuration files
│ │ ├── systemd/ # Systemd service files and overrides
│ │ └── desktop/ # Desktop entry files and launchers
│ └── recipe.yml # Universal Blue recipe configuration
│
├── usr/ # User space configurations
│ ├── share/ # Shared data files
│ │ ├── applications/ # Desktop application entries
│ │ ├── icons/ # Custom icons and branding
│ │ ├── backgrounds/ # Desktop wallpapers and backgrounds
│ │ └── ublue-os/ # Universal Blue specific files
│ │ └── firstboot/ # First boot configuration scripts
│ └── bin/ # Custom user binaries and scripts
│
├── etc/ # System-wide configuration files
│ ├── profile.d/ # Shell profile scripts
│ ├── systemd/ # Systemd configuration
│ │ └── user/ # User-level systemd services
│ └── xdg/ # XDG desktop specifications
│
├── build_files/ # Build-time specific files
│ ├── packages.json # Package lists and configurations
│ ├── aurora-packages.json # Aurora-specific package definitions
│ └── copr-repos.json # COPR repository configurations
│
├── Containerfile # Main container build definition (Dockerfile equivalent)
├── Containerfile.nvidia # NVIDIA-specific container build file
├── Containerfile.surface # Microsoft Surface-specific build file
├── Justfile # Just command runner configuration (build automation)
├── README.md # Project documentation and setup guide
├── CHANGELOG.md # Version history and release notes
├── LICENSE # Project license (likely Apache 2.0)
├── CODE_OF_CONDUCT.md # Community guidelines and conduct rules
├── CONTRIBUTING.md # Contributor guidelines and development setup
├── SECURITY.md # Security policy and vulnerability reporting
├── cosign.pub # Public key for container image signing
└── recipe.yml # Universal Blue recipe for image building
File and Directory Purposes
Core Build Files
- Containerfile: Main container definition that builds the Aurora KDE desktop image from Fedora base
- Containerfile.nvidia: Specialized build for systems with NVIDIA graphics cards
- Containerfile.surface: Optimized build for Microsoft Surface devices
- Justfile: Build automation and development commands using the Just task runner
- recipe.yml: Universal Blue framework configuration defining the image build process
Configuration Management
- config/: Contains all system configuration, including KDE customizations, package installations, and Aurora-specific settings
- usr/share/: Desktop environment customizations, branding, wallpapers, and application launchers
- etc/: System-level configuration files that get layered into the final image
Build Automation
- .github/workflows/: Automated CI/CD pipelines that build, test, and publish Aurora container images
- build_files/: JSON configuration files defining packages, repositories, and build-time specifications
Package Management
- packages.json: Defines the software packages included in Aurora
- copr-repos.json: COPR (Community Projects) repositories for additional software
Documentation
- README.md: Main project documentation with installation and usage instructions
- CHANGELOG.md: Version history and release notes
- CONTRIBUTING.md: Guidelines for developers contributing to Aurora
Security
- cosign.pub: Public key used for cryptographically signing container images
- SECURITY.md: Security policies and vulnerability reporting procedures
Project Overview
Aurora is a "delightful KDE desktop experience for end-users that are looking for reliability and developers for the most-hassle free setup" built on Universal Blue's framework. It creates an immutable, container-based Linux desktop with zero maintenance included.
The repository structure follows Universal Blue conventions, using container-based builds to create a polished KDE desktop experience with pre-configured development tools, media codecs, and productivity software.