corona/aurora-tree.md
2025-08-12 16:07:18 -07:00

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.