Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/_titanoboa
/podman_scp*
7 changes: 5 additions & 2 deletions .github/workflows/build-disk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,15 @@ jobs:

- name: Build ISO
id: build
uses: ublue-os/titanoboa@main
uses: binarypie-dev/titanoboa@main
with:
image-ref: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.variant.tag }}
iso-dest: ${{ github.workspace }}/output.iso
builder-distro: fedora
hook-pre-initramfs: ${{ github.workspace }}/iso_files/hide_hyprland_session.sh
livesys: true
livesys-repo: binarypie/hypercube
flatpaks-list: ${{ github.workspace }}/flatpaks/system-flatpaks.list
hook-post-rootfs: ${{ github.workspace }}/iso_files/hook-post-rootfs.sh

- name: Rename ISO and generate checksum
id: rename
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@ on:
workflow_dispatch:

env:
IMAGE_DESC: "Hypercube - A Hyprland-focused bootc image built on Bluefin-DX"
IMAGE_KEYWORDS: "bootc,ublue,universal-blue,hyprland,hypercube,wayland"
IMAGE_DESC: "Hypercube - A developer workstation with Hyprland built on Fedora Atomic"
IMAGE_KEYWORDS: "bootc,ublue,universal-blue,hyprland,hypercube,wayland,developer"
IMAGE_LOGO_URL: "https://raw.githubusercontent.com/${{ github.repository_owner }}/${{ github.event.repository.name }}/main/branding/hypercube-logo.png"
IMAGE_NAME: "${{ github.event.repository.name }}"
IMAGE_REGISTRY: "ghcr.io/${{ github.repository_owner }}"
DEFAULT_TAG: "latest"
FEDORA_VERSION: "43"

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
Expand All @@ -40,10 +41,12 @@ jobs:
matrix:
variant:
- flavor: "main"
base_image: "ghcr.io/ublue-os/bluefin-dx:stable-daily"
source_image: "base"
source_suffix: "-main"
tag_suffix: ""
- flavor: "nvidia"
base_image: "ghcr.io/ublue-os/bluefin-dx-nvidia:stable-daily"
source_image: "base"
source_suffix: "-nvidia"
tag_suffix: "-nvidia"

steps:
Expand Down Expand Up @@ -104,9 +107,12 @@ jobs:
tags: ${{ steps.metadata.outputs.tags }}
labels: ${{ steps.metadata.outputs.labels }}
build-args: |
BASE_IMAGE=${{ matrix.variant.base_image }}
SOURCE_IMAGE=${{ matrix.variant.source_image }}
SOURCE_SUFFIX=${{ matrix.variant.source_suffix }}
FEDORA_VERSION=${{ env.FEDORA_VERSION }}
IMAGE_NAME=${{ env.IMAGE_NAME }}
IMAGE_VENDOR=${{ github.repository_owner }}
IMAGE_FLAVOR=${{ matrix.variant.flavor }}
oci: false

- name: Login to GitHub Container Registry
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ changelog.md

# Titanoboa ISO builder
_titanoboa/
podman_scp.*

# VM testing
_vm_build/
.vm/

# ISO files
*.iso
result-iso/
dot_files/nvim/lazy-lock.json
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ hypercube/
│ ├── nvim/ # Neovim/LazyVim setup
│ ├── qt6ct/ # Qt6 theming
│ ├── quickshell/ # App launcher
│ ├── starship/ # Shell prompt
│ └── wezterm/ # WezTerm terminal
│ └── starship/ # Shell prompt
├── system_files/ # System-level files
│ └── shared/
Expand Down
15 changes: 11 additions & 4 deletions Containerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# Hypercube Container Build
# Aligned with Bluefin patterns
# Hypercube v2 Container Build
# Built from ublue-os/base-main (pure Hyprland, no GNOME)

# ============================================
# Build Arguments
# ============================================
ARG BASE_IMAGE=ghcr.io/ublue-os/bluefin-dx:stable-daily
ARG SOURCE_IMAGE="base"
ARG SOURCE_SUFFIX="-main"
ARG FEDORA_VERSION="43"
ARG IMAGE_NAME=hypercube
ARG IMAGE_VENDOR=binarypie-dev
ARG IMAGE_FLAVOR="main"
ARG SHA_HEAD_SHORT=""

# ============================================
Expand All @@ -20,16 +23,20 @@ COPY build_files /build_files
# ============================================
# Stage 2: Main Build
# ============================================
FROM ${BASE_IMAGE}
FROM ghcr.io/ublue-os/${SOURCE_IMAGE}${SOURCE_SUFFIX}:${FEDORA_VERSION}

# Re-declare ARGs after FROM (they don't persist across stages)
ARG IMAGE_NAME
ARG IMAGE_VENDOR
ARG IMAGE_FLAVOR
ARG SHA_HEAD_SHORT
ARG FEDORA_VERSION

# Export build-time environment variables
ENV IMAGE_NAME=${IMAGE_NAME}
ENV IMAGE_VENDOR=${IMAGE_VENDOR}
ENV IMAGE_FLAVOR=${IMAGE_FLAVOR}
ENV FEDORA_VERSION=${FEDORA_VERSION}

# Copy dot_files (config templates) into the image
COPY dot_files /usr/share/hypercube/config
Expand Down
Loading