96 lines
No EOL
6 KiB
Markdown
96 lines
No EOL
6 KiB
Markdown
# Aurora Repository File Tree Structure
|
|
|
|
Based on my examination of the [ublue-os/aurora repository](https://github.com/ublue-os/aurora), 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. |