Skip to content

Commit 42ea90e

Browse files
committed
Resolve naming conflicts
1 parent 99a07fe commit 42ea90e

File tree

11 files changed

+84
-58
lines changed

11 files changed

+84
-58
lines changed

Containerfile

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,40 @@ ARG BASE_IMAGE=ghcr.io/ublue-os/bluefin-dx:stable-daily
55
FROM scratch AS ctx
66
COPY build_files /
77

8+
# Build Elephant from source (cached layer)
9+
FROM ${BASE_IMAGE} AS elephant-builder
10+
COPY packages/elephant/build.sh /tmp/build-elephant.sh
11+
RUN --mount=type=cache,dst=/var/cache \
12+
--mount=type=cache,dst=/var/log \
13+
--mount=type=tmpfs,dst=/tmp/build \
14+
chmod +x /tmp/build-elephant.sh && \
15+
/tmp/build-elephant.sh
16+
17+
# Build Walker from source (cached layer)
18+
FROM ${BASE_IMAGE} AS walker-builder
19+
COPY packages/walker/build.sh /tmp/build-walker.sh
20+
RUN --mount=type=cache,dst=/var/cache \
21+
--mount=type=cache,dst=/var/log \
22+
--mount=type=tmpfs,dst=/tmp/build \
23+
chmod +x /tmp/build-walker.sh && \
24+
/tmp/build-walker.sh
25+
826
# Base Image
927
FROM ${BASE_IMAGE}
1028

11-
# Copy dot_files into the image at /usr/share/binaryos/config
12-
COPY dot_files /usr/share/binaryos/config
29+
# Copy Elephant binary and service from builder
30+
COPY --from=elephant-builder /usr/bin/elephant /usr/bin/elephant
31+
COPY --from=elephant-builder /usr/lib/systemd/user/elephant.service /usr/lib/systemd/user/elephant.service
32+
33+
# Copy Walker binary and resources from builder
34+
COPY --from=walker-builder /usr/bin/walker /usr/bin/walker
35+
COPY --from=walker-builder /usr/share/walker /usr/share/walker
36+
37+
# Copy dot_files into the image at /usr/share/hypercube/config
38+
COPY dot_files /usr/share/hypercube/config
1339

1440
# Ensure all config files are readable by everyone
15-
RUN chmod -R a+rX /usr/share/binaryos/config
41+
RUN chmod -R a+rX /usr/share/hypercube/config
1642

1743
## Other possible base images include:
1844
# FROM ghcr.io/ublue-os/bazzite:latest

Justfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ sudoif command *args:
8383
# just build $target_image $tag $base_img
8484
#
8585
# Example usage:
86-
# just build binaryos latest
87-
# just build binaryos nvidia ghcr.io/ublue-os/bluefin-dx-nvidia:stable-daily
86+
# just build hypercube latest
87+
# just build hypercube nvidia ghcr.io/ublue-os/bluefin-dx-nvidia:stable-daily
8888
#
8989
# This will build an image with the specified base image.
9090
#

README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# BinaryOS
1+
# Hypercube
22

3-
BinaryOS is a custom [bootc](https://github.com/bootc-dev/bootc) image built on top of [Bluefin-DX](https://projectbluefin.io/) with Hyprland and an opinionated set of development tools. This image is designed primarily for my personal software development workflow, but you're welcome to use it, fork it, or submit issues and pull requests.
3+
Hypercube is a custom [bootc](https://github.com/bootc-dev/bootc) image built on top of [Bluefin-DX](https://projectbluefin.io/) with Hyprland and an opinionated set of development tools. This image is designed primarily for my personal software development workflow, but you're welcome to use it, fork it, or submit issues and pull requests.
44

55
## What's Inside
66

7-
BinaryOS builds on Bluefin-DX's excellent developer experience foundation and adds:
7+
Hypercube builds on Bluefin-DX's excellent developer experience foundation and adds:
88

99
- **Hyprland**: A dynamic tiling Wayland compositor for an efficient, keyboard-driven workflow
1010
- **Opinionated Development Tools**: A curated set of tools and configurations optimized for my development workflow
1111
- **Personal Preferences**: Custom configurations and tweaks that I've found useful over time
1212

1313
### Available Variants
1414

15-
BinaryOS is available in two variants:
15+
Hypercube is available in two variants:
1616

1717
- **Regular**: Built on `bluefin-dx:stable-daily` for systems with Intel/AMD graphics
1818
- **NVIDIA**: Built on `bluefin-dx-nvidia:stable-daily` with NVIDIA driver support
@@ -37,18 +37,18 @@ While this is a personal image, community contributions are welcome! If you enco
3737
- A machine running a bootc-compatible image (e.g., Bazzite, Bluefin, Aurora, or Fedora Atomic)
3838
- Basic familiarity with bootc and container-based operating systems
3939

40-
### Switching to BinaryOS
40+
### Switching to Hypercube
4141

4242
From your existing bootc system, run:
4343

4444
**For systems with Intel/AMD graphics:**
4545
```bash
46-
sudo bootc switch ghcr.io/binarypie/binaryos:latest
46+
sudo bootc switch ghcr.io/binarypie-dev/hypercube:latest
4747
```
4848

4949
**For systems with NVIDIA graphics:**
5050
```bash
51-
sudo bootc switch ghcr.io/binarypie/binaryos:latest-nvidia
51+
sudo bootc switch ghcr.io/binarypie-dev/hypercube:latest-nvidia
5252
```
5353

5454
Then reboot your system:
@@ -57,11 +57,11 @@ Then reboot your system:
5757
systemctl reboot
5858
```
5959

60-
After rebooting, you'll be running BinaryOS.
60+
After rebooting, you'll be running Hypercube.
6161

6262
### Switching Back
6363

64-
If BinaryOS isn't for you, you can switch back to your previous image:
64+
If Hypercube isn't for you, you can switch back to your previous image:
6565

6666
```bash
6767
sudo bootc status # Find your previous image
@@ -71,7 +71,7 @@ systemctl reboot
7171

7272
## Customization & Forking
7373

74-
Want to create your own variant of BinaryOS? You're welcome to fork this repository! Here's how the build system works:
74+
Want to create your own variant of Hypercube? You're welcome to fork this repository! Here's how the build system works:
7575

7676
### Repository Structure
7777

@@ -94,7 +94,7 @@ For detailed information about customizing the image, see the files mentioned ab
9494

9595
The repository includes workflows for creating bootable disk images (ISO, QCOW2, raw) using [bootc-image-builder](https://osbuild.org/docs/bootc/). These can be used for:
9696

97-
- Installing BinaryOS on bare metal (ISO)
97+
- Installing Hypercube on bare metal (ISO)
9898
- Testing in virtual machines (QCOW2)
9999
- Deploying to cloud environments (raw)
100100

@@ -108,23 +108,23 @@ You can also build disk images locally using the included `just` commands (see [
108108

109109
## Artifacthub
110110

111-
BinaryOS is indexed on [artifacthub.io](https://artifacthub.io) to make it easier to discover and track. If you fork this image, you can list your own variant there as well using the `artifacthub-repo.yml` file.
111+
Hypercube is indexed on [artifacthub.io](https://artifacthub.io) to make it easier to discover and track. If you fork this image, you can list your own variant there as well using the `artifacthub-repo.yml` file.
112112

113113
Learn more in the [Universal Blue Artifacthub discussion](https://universal-blue.discourse.group/t/listing-your-custom-image-on-artifacthub/6446).
114114

115115
## Development with Just
116116

117-
The repository includes a [`Justfile`](./Justfile) with commands for building and testing BinaryOS locally. [just](https://just.systems/) is a command runner that simplifies common development tasks.
117+
The repository includes a [`Justfile`](./Justfile) with commands for building and testing Hypercube locally. [just](https://just.systems/) is a command runner that simplifies common development tasks.
118118

119-
Just is pre-installed on all Universal Blue images (including BinaryOS and Bluefin-DX). If you're using another system, install it from your package manager or see the [just installation guide](https://just.systems/man/en/introduction.html).
119+
Just is pre-installed on all Universal Blue images (including Hypercube and Bluefin-DX). If you're using another system, install it from your package manager or see the [just installation guide](https://just.systems/man/en/introduction.html).
120120

121121
### Available Commands
122122

123123
Run `just` without arguments to see all available commands. Here are the most useful ones:
124124

125125
#### Building
126126

127-
- `just build` - Build the BinaryOS container image locally (regular variant)
127+
- `just build` - Build the Hypercube container image locally (regular variant)
128128
- `just build-regular` - Build the regular variant (Intel/AMD graphics)
129129
- `just build-nvidia` - Build the NVIDIA variant
130130
- `just build-all` - Build both regular and NVIDIA variants
@@ -134,8 +134,8 @@ Run `just` without arguments to see all available commands. Here are the most us
134134

135135
#### Testing
136136

137-
- `just run-vm-qcow2` - Run BinaryOS in a VM using QCOW2 image
138-
- `just spawn-vm` - Run BinaryOS using systemd-vmspawn
137+
- `just run-vm-qcow2` - Run Hypercube in a VM using QCOW2 image
138+
- `just spawn-vm` - Run Hypercube using systemd-vmspawn
139139

140140
#### Maintenance
141141

@@ -147,9 +147,9 @@ For detailed usage and additional commands, see the [Justfile](./Justfile) itsel
147147

148148
## Related Projects
149149

150-
BinaryOS is part of the larger Universal Blue ecosystem. Check out these other custom images for inspiration:
150+
Hypercube is part of the larger Universal Blue ecosystem. Check out these other custom images for inspiration:
151151

152-
- [Bluefin-DX](https://projectbluefin.io/) - The base image for BinaryOS
152+
- [Bluefin-DX](https://projectbluefin.io/) - The base image for Hypercube
153153
- [m2Giles' OS](https://github.com/m2giles/m2os) - Another custom bootc image
154154
- [bOS](https://github.com/bsherman/bos) - Custom image by bsherman
155155
- [Homer](https://github.com/bketelsen/homer/) - Custom image by bketelsen
@@ -162,7 +162,7 @@ This project follows the same licensing as the Universal Blue project. See the L
162162

163163
## Acknowledgments
164164

165-
BinaryOS is built on the shoulders of giants:
165+
Hypercube is built on the shoulders of giants:
166166

167167
- [Universal Blue](https://universal-blue.org/) for the excellent image-based desktop platform
168168
- [Project Bluefin](https://projectbluefin.io/) for the outstanding developer experience foundation

artifacthub-repo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Sign up and add the Repository ID to the right field. Owners fields are optional.
33
# Examples: https://artifacthub.io/packages/search?ts_query_web=ublue&sort=relevance&page=1
44

5-
repositoryID: binarypie/binaryos
5+
repositoryID: binarypie-dev/hypercube
66
owners:
77
- name: binarypie
88

build_files/60-binaryos-xdg.conf

Lines changed: 0 additions & 18 deletions
This file was deleted.

build_files/60-hypercube-xdg.conf

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Hypercube XDG Configuration
2+
#
3+
# This configuration adds Hypercube system configs to the XDG search paths.
4+
#
5+
# Config lookup order (highest to lowest priority):
6+
# 1. ~/.config/ - User overrides
7+
# 2. /etc/xdg/ - Admin overrides
8+
# 3. /usr/share/hypercube/config/ - Hypercube defaults (always current)
9+
#
10+
# Data lookup order:
11+
# 1. ~/.local/share/ - User data
12+
# 2. /usr/local/share/ - Local admin data
13+
# 3. /usr/share/ - System data
14+
# 4. /usr/share/hypercube/data/ - Hypercube data
15+
16+
XDG_CONFIG_DIRS=/etc/xdg:/usr/share/hypercube/config
17+
XDG_DATA_DIRS=/usr/local/share:/usr/share:/usr/share/hypercube/data
18+

build_files/build.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,19 +133,19 @@ dnf5 -y install neovim python3-neovim
133133

134134
# Fish shell configs
135135
# Fish doesn't use XDG_CONFIG_DIRS, so we install to /etc/fish
136-
install -Dm644 /usr/share/binaryos/config/fish/config.fish /etc/fish/config.fish
137-
cp -r /usr/share/binaryos/config/fish/conf.d /etc/fish/
138-
cp -r /usr/share/binaryos/config/fish/functions /etc/fish/ 2>/dev/null || true
139-
cp -r /usr/share/binaryos/config/fish/completions /etc/fish/ 2>/dev/null || true
136+
install -Dm644 /usr/share/hypercube/config/fish/config.fish /etc/fish/config.fish
137+
cp -r /usr/share/hypercube/config/fish/conf.d /etc/fish/
138+
cp -r /usr/share/hypercube/config/fish/functions /etc/fish/ 2>/dev/null || true
139+
cp -r /usr/share/hypercube/config/fish/completions /etc/fish/ 2>/dev/null || true
140140

141141
# Wezterm configs
142142
# Wezterm doesn't support XDG_CONFIG_DIRS for system defaults, so we install to /etc/skel
143143
# which will be copied to new user home directories
144-
install -Dm644 /usr/share/binaryos/config/wezterm/wezterm.lua /etc/skel/.config/wezterm/wezterm.lua
144+
install -Dm644 /usr/share/hypercube/config/wezterm/wezterm.lua /etc/skel/.config/wezterm/wezterm.lua
145145

146-
# Configure XDG environment for BinaryOS
147-
# This makes all configs in /usr/share/binaryos/config discoverable
146+
# Configure XDG environment for Hypercube
147+
# This makes all configs in /usr/share/hypercube/config discoverable
148148
# while preserving user and admin override capabilities
149-
install -Dm644 /ctx/60-binaryos-xdg.conf /usr/lib/environment.d/60-binaryos-xdg.conf
149+
install -Dm644 /ctx/60-hypercube-xdg.conf /usr/lib/environment.d/60-hypercube-xdg.conf
150150

151151
# systemctl enable podman.socket

dot_files/elephant/elephant.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Elephant Configuration - BinaryOS
1+
# Elephant Configuration - Hypercube
22
# Configuration for the Elephant data provider service
33

44
# Disable Arch Linux packages provider since we're on Fedora

dot_files/hypr/hyprland.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ exec-once = walker --gapplication-service
5959
exec-once = systemctl --global start mako.service
6060

6161
# Wallpaper
62-
exec-once = hyprpaper -c /usr/share/binaryos/config/hypr/hyprpaper.conf
62+
exec-once = hyprpaper -c /usr/share/hypercube/config/hypr/hyprpaper.conf
6363

6464
# OSD
6565
exec-once = swayosd-server
6666

6767
# Idle / Lock
68-
exec-once = hypridle -c /usr/share/binaryos/config/hypr/hypridle.conf
68+
exec-once = hypridle -c /usr/share/hypercube/config/hypr/hypridle.conf
6969

7070
# GNOME Polkit Authentication Agent (for privilege escalation)
7171
exec-once = /usr/libexec/polkit-gnome-authentication-agent-1

dot_files/hypr/hyprlock.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ general {
1111
# Replace the path below with your custom wallpaper
1212
background {
1313
monitor =
14-
path = /usr/share/binaryos/config/hypr/background.webp # Change this to your image path
14+
path = /usr/share/hypercube/config/hypr/background.webp # Change this to your image path
1515
blur_passes = 3
1616
blur_size = 7
1717
noise = 0.0117

0 commit comments

Comments
 (0)